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, 3571 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
Linux Netzwerk

Installation eines Logservers mit Loganalyzer als Debian-VM auf Hyper-V

Anleitung von lcer00 vor 20 StundenLinux Netzwerk

Zuerst sei auf den schönen Beitrag von aqui hier im Forum verwiesen, in dem die loganalyzer-installation bereits beschrieben ist: ...

Humor (lol)
Antennagate 2018
Information von magicteddy vor 20 StundenHumor (lol)2 Kommentare

Da haut der angekaute Elektronikhersteller die teuersten Geräte auf den Markt und bekommt anscheinend die Basics mal wieder nicht ...

Datenschutz

Die Datenkrake Google verlängert ihr Arme mal wieder ein wenig, automatische Anmeldung

Tipp von magicteddy vor 1 TagDatenschutz6 Kommentare

Benutzer mit einem Google Account und gespeicherten Zugangsdaten werden von chrome 69 automatisch bei Google angemeldet, natürlich alles zum ...

Verschlüsselung & Zertifikate
Meine Wissenssammlung zu Bitlocker
Erfahrungsbericht von DerWoWusste vor 2 TagenVerschlüsselung & Zertifikate3 Kommentare

Die Motivation für diesen Beitrag waren die vielen Posts rund um dieses Thema, die deutlich machen, wie viele Einzelaspekte ...

Heiß diskutierte Inhalte
Windows Netzwerk
VPN geht, RD nicht
Frage von bigeasyWindows Netzwerk19 Kommentare

Hallo zusammen Ich hab hier ein Problem mit einer Remotedesktop-Verbindung, ich hoffe, jemand kann mir hier bitte weiterhelfen: Wähle ...

Server-Hardware
Temperaturüberwachung Serverraum
gelöst Frage von rctom1Server-Hardware17 Kommentare

Hallo zusammen, ich suche eine geeignete Lösung für eine Temperaturüberwachung mit Alarmsystem für unseren Serverraum. Früher hatten wir ein ...

Firewall
Wesyb Offline
Frage von DkuehlbornFirewall14 Kommentare

Hallo Kollegen, ein Kunde hat von Wesyb die Sicherheitslösung im Einsatz. Seit August scheint deren Internetseite nicht mehr verfügbar ...

Video & Streaming
DVD auf Festplatte sichern
Frage von Thor01Video & Streaming14 Kommentare

Hallo, mittlerweile hat meine DVD Sammlung ein alter erreicht wo die eine oder andere DVD schon das Zeitliche gesegnet ...