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, 3584 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
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 ...

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 ...

Administrator.de Feedback

Messagetimestamp falsch?

gelöst Frage von nepixlAdministrator.de Feedback4 Kommentare

Guten Morgen, irgendetwas stimmt mit den Uhrzeiten nicht. Eben eine Message von einem Admin.de-Kollegen erhalten mit dem Timestamp um ...

DNS

DNS Antworten falsch

Frage von MasterSchlumpfDNS12 Kommentare

Hallo Community, ich habe ein schwieriges DNS-Problem. Wenn ich einen PC mit Namen PC-Meyer anpinge erhalte ich eine Antwort ...

Neue Wissensbeiträge
Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden !

Erfahrungsbericht von 1Werner1 vor 4 StundenWindows 106 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 1 TagSicherheits-Tools5 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Off Topic
Sachen die die Welt nicht braucht - Platz 1
Tipp von brammer vor 4 TagenOff Topic20 Kommentare

Hallo, ich habs als Tipp angelegt als Erfahrungsbericht nein Danke brammer

Humor (lol)
Spirit of Health-Kongress in Berlin
Information von AnkhMorpork vor 4 TagenHumor (lol)6 Kommentare

tgif! Beim dritten Spirit of Health-Kongress trafen sich am Wochenende Alternativmediziner und Naturheilkundler im Maritim Hotel Berlin, um sich ...

Heiß diskutierte Inhalte
Windows Server
Eingeschränkte Gruppen - Spezielle Benutzergruppe hinzufügen
Frage von killtecWindows Server16 Kommentare

Hallo, ich möchte gerne folgendes Realisieren: Ich habe bei mir Eingeschränkte Gruppen via GPO aktiv und möchte nun der ...

DNS
Größere DNS Probleme nach zweitem DC. Eigentlich sollte es auch dadurch besser werden
Frage von TeWutzDNS13 Kommentare

Hallo zusammen, nachdem ich letzte Woche erfolgreich einen zweiten DC ) an den Start gebracht habe melden sich weiterhin ...

LAN, WAN, Wireless
Switch als Verbindung von 2 Netzwerken
gelöst Frage von Lutz-ReLAN, WAN, Wireless12 Kommentare

Guten Tag Ich hab folgendes Problem 2 Rechner und 2 IP Kameras sind ohne dhcp in einen IP4 Netzwerk ...

Netzwerkgrundlagen
Reicht 10GBit Uplink Port für Stacking für ein 10GBit Switch?
gelöst Frage von walnickNetzwerkgrundlagen12 Kommentare

Hallo, Ich habe eine frage. Ich überlege gerade 2 neue Switche von CiscoSG350XG-24F  zu kaufen und die als Core ...