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, 3564 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
Multimedia & Zubehör
AVM Fritz USB WLAN Sticks schneller einschalten
Tipp von NetzwerkDude vor 4 StundenMultimedia & Zubehör

Die AVM Fritz WLAN Sticks haben in der Firmware 2 Modis: Einmal als Massenspeicher und einmal als WLAN Netzwerkkarte ...

Windows Server

Windows Server Backup schlögt Fehl -Lösung 2008-2016

Tipp von BiGnoob vor 6 StundenWindows Server

Hi zusammen , ich möchte gerne einen Lösungstipp abgeben für folgenden fehler: lösung ist folgende:

Humor (lol)
Telekom vs. O2 - 3:2
Erfahrungsbericht von the-buccaneer vor 19 StundenHumor (lol)3 Kommentare

Unglaublich aber wahr: Nachdem mein privater Anschluss am 19.04.18 auf VOIP und VDSL umgestellt wurde, hatte ich seitdem 1,5 ...

Batch & Shell

Windows 10 Heimnetzgruppe abgeschaft. Ein Script für einfache Netzwerk - Freigabe im Heimnetzwerk

Anleitung von treehe vor 22 StundenBatch & Shell3 Kommentare

Anleitung für eine einfache Netzwerkfreigabe unter Windows 10 Wie weiter hab mal ein kleines CMD - Script gebastelt. Womit ...

Heiß diskutierte Inhalte
Netzwerke
IP-Adresse am zweiten Domänencontroller fest vergeben - Server verschwunden
gelöst Frage von DanielG1974Netzwerke23 Kommentare

Ich hab ein Problem, was ich bisher noch nicht erlebt habe Ich habe erfolgreich einen zweiten Server mit ActiveDirectory ...

Windows Server
Windows Server 2012 - Update - Beim Booten bleibt der Server beim Windows Zeichen stehen
Frage von KeilbachWindows Server15 Kommentare

Hallo Zusammen, ich grüße euch, mein Name ist Michele. Ich bin hier ganz Neu - da ich einfach nicht ...

Windows Tools
Virtueller Drucker gesucht (Schnittstelle: USB oder Seriell)
Frage von chrisButterflyWindows Tools14 Kommentare

Hi, ich suche einen virtuellen Drucker, den ich über eine USB oder serieller Schnittstelle ansprechen kann. Dieser Drucker soll ...

Firewall
Sophos SG 125 nicht mehr erreichbar
Frage von GwaihirFirewall14 Kommentare

Hallo zusammen, ausgerechnet über die Feiertage stimmt etwas mit meiner Firmen-Firewall nicht. Es ist eine Sophos SG 125 und ...