Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst falsche anzahl netzlaufwerke?

Mitglied: 53111

53111 (Level 1)

10.09.2007, aktualisiert 13:46 Uhr, 3567 Aufrufe, 3 Kommentare

hallo ich habe mein script noch etwas erweitert und will noch einige dinge überprüfen lassen bevor dann eine sub gestartet werden soll.

irgendwie werden immer 2 laufwerke zuviel gezählt. ich erwarte eigentlich eine test = netzobjekt.EnumNetworkDrives die doppelte anzahl wie ich laufwerke besitze. (d.h. bei 6 elementen 3 vorhandene laufwerke?)

wo ist mein fehler? und lässt er sich sauber mit dem "-2" beheben?

01.
Dim netzobjekt, benutzername, laufwerkarray, arraylaenge  
02.
set netzobjekt=wscript.createobject("wscript.network") 
03.
benutzername = netzobjekt.UserName 
04.
 
05.
'Pfad der Protokoll-Datei hier einstellen:' 
06.
Name = "C:\Dokumente und Einstellungen\"&benutzername&"\Desktop\Protokoll_zu_neuen_Netzlaufwerken.txt" 
07.
 
08.
 
09.
Set test = netzobjekt.EnumNetworkDrives 
10.
 
11.
 
12.
'Laufwerknamen + gewünschten Pfad hier einstellen:' 
13.
laufwerkarray = Array(	"H:",_ 
14.
			                  "\\Server2\Home\"&benutzername,_ 
15.
			                  "X:",_ 
16.
			                  "\\Server2\work",_ 
17.
			                  "Z:",_ 
18.
			                  "\\Server2\apps"_ 
19.
20.
 
21.
arraylaenge = UBound(laufwerkarray) + 1  
22.
 
23.
 
24.
 
25.
If test.Count <> 0 Then 
26.
 
27.
    If test.Count - 2 = arraylaenge Then   'falsche anzahl an laufwerken???' 
28.
     
29.
    	 For k = 0 to UBound(laufwerkarray)			 
30.
		      If test.Item(k) = laufwerkarray(k) And test.Item(k+1) = laufwerkarray(k+1) Then 
31.
    	        wscript.Echo "alles ok" 
32.
          Else 
33.
                wscript.Echo "else 3" 
34.
         	  'sub aufrufen' 
35.
	        End If 
36.
    	 Next 
37.
       
38.
    Else 
39.
        wscript.Echo "else 2" 
40.
    'sub aufrufen'  
41.
     
42.
    End If  
43.
 
44.
Else 
45.
   wscript.Echo "else 1" 
46.
'sub aufrufen ' 
47.
 
48.
End If 
49.
 
50.
 
51.
 
52.
 
53.
 
54.
 
55.
 
56.
 

irgendwie erscheint dann auch ein fehler in der innersten if entscheidung?

gruß saibonaut
Mitglied: bastla
10.09.2007 um 12:29 Uhr
Hallo saibonaut!

Die "EnumNetworkDrives"-Aufzählung kann auch Laufwerksverbindungen ohne zugeordneten Laufwerksbuchstaben enthalten.

Lass Dir doch einfach zur Kontrolle die entsprechenden Werte anzeigen, etwa:
01.
For i = 0 to test.Count - 1 Step 2 
02.
    WScript.Echo "Laufwerk " & test.Item(i) & " = " & test.Item(i + 1) 
03.
Next
Abgesehen davon, dass ich eine übereinstimmende Reihenfolge der Elemente in beiden Arrays nicht voraussetzen, sondern zur Sicherheit jedes Element in einer zweiten Schleife vergleichen würde, solltest Du eher
01.
For k = 0 to UBound(laufwerkarray) - 1 Step 2
verwenden, weil Du ansonsten bei tatsächlich gleicher Anzahl von Elementen mit dem Index (i + 1) "out of bounds" landest.

Grüße
bastla
Bitte warten ..
Mitglied: 53111
10.09.2007 um 12:54 Uhr
ok wenn das so "Die "EnumNetworkDrives"-Aufzählung kann auch Laufwerksverbindungen ohne zugeordneten Laufwerksbuchstaben enthalten." ist macht ein überprüfung nicht viel sinn. ich wollte mit diesen überprüfungen eigentlich verhindern dass die protokoll datei mehrmal geschrieben wird:
Bitte warten ..
Mitglied: 53111
10.09.2007 um 13:46 Uhr
ich habs jetzt so gelöst. scheint zu funktionieren?

01.
Dim netzobjekt, benutzername, laufwerkarray, arraylaenge, zaehler  
02.
set netzobjekt=wscript.createobject("wscript.network") 
03.
benutzername = netzobjekt.UserName 
04.
 
05.
Set test = netzobjekt.EnumNetworkDrives 
06.
	 
07.
'Laufwerknamen + gewünschten Pfad hier einstellen:' 
08.
laufwerkarray = Array(	"H:",_ 
09.
			                  "\\Server2\Home\"&benutzername,_ 
10.
			                  "X:",_ 
11.
			                  "\\Server2\work",_ 
12.
			                  "Z:",_ 
13.
			                  "\\Server2\apps"_ 
14.
15.
		                  
16.
zaehler = 0 
17.
 
18.
 
19.
If test.Count <> 0 Then 
20.
    
21.
      	For h = 0 to UBound(laufwerkarray) - 1 Step 2 
22.
        	 For g = 0 to test.Count - 1 Step 2 
23.
      		    If laufwerkarray(h) = test.Item(g) And laufwerkarray(h+1) = test.Item(g+1) Then 
24.
          		wscript.Echo "trifft zu" 
25.
              zaehler = zaehler + 1  
26.
              Else		 
27.
              wscript.Echo "trifft nicht zu"     
28.
      		    End If 
29.
           Next 
30.
        Next 
31.
         
32.
        If zaehler = (UBound(laufwerkarray) + 1) / 2 Then 
33.
               
34.
        Else 
35.
             call sublaufwerke  
36.
        End If 
37.
         
38.
    
39.
Else 
40.
   wscript.Echo "else 1" 
41.
   call sublaufwerke  
42.
End If 
43.
 
44.
 
45.
 
46.
Sub sublaufwerke  
47.
 
48.
      'Pfad der Protokoll-Datei hier einstellen:' 
49.
      Name = "C:\Dokumente und Einstellungen\"&benutzername&"\Desktop\Protokoll_zu_neuen_Netzlaufwerken.txt" 
50.
 
51.
 
52.
      Set InfoDateiObjekt = CreateObject("Scripting.FileSystemObject") 
53.
      Set InfoDatei = InfoDateiObjekt.OpenTextFile(Name, 2, True) 
54.
      Set objFile = InfoDateiObjekt.GetFile(Name) 
55.
        
56.
        
57.
        InfoDatei.WriteLine "Die folgenden Netzlaufwerke wurden gelöscht: " 
58.
        InfoDatei.WriteLine " " 
59.
      	 
60.
      For i = 0 to test.Count - 1 Step 2 
61.
      	For j = 0 to UBound(laufwerkarray)			 
62.
      		If test.Item(i) = laufwerkarray(j) Then 
63.
          		InfoDatei.WriteLine test.Item(i) &" "& test.Item(i+1) 				 
64.
              netzobjekt.RemoveNetworkDrive laufwerkarray(j), true, true				 
65.
      		End If 
66.
      	Next 
67.
      Next 
68.
       
69.
      'bei mehr Laufwerken erweitern - pro Laufwerk werden 2 neue Werte benötigt' 
70.
      netzobjekt.mapnetworkdrive laufwerkarray(0), laufwerkarray(1), true 
71.
      netzobjekt.mapnetworkdrive laufwerkarray(2), laufwerkarray(3), true 
72.
      netzobjekt.mapnetworkdrive laufwerkarray(4), laufwerkarray(5), true 
73.
      'hier erweitern für Laufwerkmapping' 
74.
      	 
75.
        InfoDatei.WriteLine " " 
76.
        InfoDatei.WriteLine " " 
77.
        InfoDatei.WriteLine "Die gelöschten Netzlaufwerke wurden mit folgen Pfaden neu verbunden: " 
78.
        InfoDatei.WriteLine " " 
79.
        InfoDatei.WriteLine laufwerkarray(0) &" "& laufwerkarray(1) 	 
80.
        InfoDatei.WriteLine laufwerkarray(2) &" "& laufwerkarray(3) 	 
81.
        InfoDatei.WriteLine laufwerkarray(4) &" "& laufwerkarray(5) 	 
82.
        'hier erweitern für Infodatei' 
83.
        InfoDatei.Close  
84.
 
85.
End Sub  
86.
 
87.
 
88.
 
89.
 
90.
 
Bitte warten ..
Ähnliche Inhalte
Cloud-Dienste

Onedrive per Netzlaufwerk falsche Größe

Frage von bastian42Cloud-Dienste4 Kommentare

Hallo, ich habe bei onedrive 1 TB. Wenn ich mir das Laufwerk unter Windows 7 oder 8.1 als Netzlaufwerk ...

Basic

Regex Anzahl Character Nicht Anzahl Bytes

gelöst Frage von PeronasBasic6 Kommentare

Guten Morgen zusammen, und zwar habe ich eine Frage bzgl. RegEx/RegExp. Ich habe einen regulären Ausdruck der wie folgt ...

Microsoft Office

Access - VBA - Anzahl von Unterordnern in Access, DIR funktion liefert falsches Ergebnis

gelöst Frage von thomas1972Microsoft Office2 Kommentare

Hallo, ich versuche aus einem Verzeichnis die Anzahl Unterordner sowie die Anzahl von Dateien auszulesen Leider erkennt dieser sowohl ...

Windows Netzwerk

Windows Netzlaufwerk mit der PowerShell verbinden - Fehlermeldung, dass Netzwerkkennwort ist falsch

gelöst Frage von mr.kkevWindows Netzwerk2 Kommentare

Guten Abend zusammen Da ich ein Neuling in PowerShell bin, bringt mich folgendes Problem um den Verstand. Ich möchte ...

Neue Wissensbeiträge
Peripheriegeräte
Unterschrank für HP Drucker
Tipp von NixVerstehen vor 6 StundenPeripheriegeräte1 Kommentar

Als kurzen Freitags-Tipp möchte ich gerne meinen neuen Drucker-Unterschrank Modell Amica KS 15423W vorstellen. Das Gerät eignet sich hervorragend ...

Windows 10
Windows 10 - Probleme mit Point-And-Print
Tipp von emeriks vor 1 TagWindows 103 Kommentare

Hi, wir kämpfen z.Z. mit einigen Druckertreibern, welche unter Win10 beim Verbinden eines Druckers von Printserver mit dem Dialog ...

Windows 10

Windows 10 1803 - Ihr Roamingbenutzerprofil wurde nicht vollständig synchronisiert

Anleitung von Deepsys vor 1 TagWindows 101 Kommentar

Bei allen Windows 10 1803 PCs traten Probleme mit den Servergespeicherten Profilen auf. Das Abmelden dauerte sehr lange und ...

Exchange Server
Exchange - Fehler mit 2018-07 Sicherheitsupdate
Tipp von ArnoNymous vor 3 TagenExchange Server7 Kommentare

Hallo, es gibt mal wieder Freude mit den MS-Updates. KB4338814 führt dazu, dass der Exchange keine Mails mehr zustellt. ...

Heiß diskutierte Inhalte
Humor (lol)
Freitagsfrage: Was tun, wenn der Admin der DAU ist?
Frage von VoiperHumor (lol)29 Kommentare

Moin Zusammen, Eine nicht ganz ernst gemeinte Frage an die Außendienstler unter uns. Zusammenfassung: Ein Inhouse Admin ruft bei ...

Windows Server
W2K16 Essentials: keine Namensauflösung nach der Einrichtung DNS + AD DS
Frage von Ben-WittWindows Server21 Kommentare

Ich versuche bereits seit ca. 4 Wochen einen Server 2016 "Essentials" richtig zu installieren. An diesem Server möchte ich ...

Exchange Server
Exchange Backup 10 Jahre Aufbewahrung
Frage von arccosExchange Server20 Kommentare

Hallo zusammen. Aktuell beschäftigen mich ein paar Fragen zum Thema Office365/ Exchange. 1.10 Jahre Aufbewahrungspflicht sicherstellen 2.Kann man als ...

Windows Netzwerk
LTE Modul - Kein Internet trotz Verbindung
Frage von killtecWindows Netzwerk18 Kommentare

Hallo, ich habe hier ein Dell 7390 2-in-1 mit W10 Pro wo ich nachträglich eine LTE-Karte (Original Dell DW5811e ...