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

VBS vorhandene NetzLaufwerke auslesen

Mitglied: 53111

53111 (Level 1)

06.09.2007, aktualisiert 07.09.2007, 10128 Aufrufe, 8 Kommentare

Hi

wie kann ich mit VBS auslesen welche Netzlaufwerke vorhanden sind? Auch ein Prüfung ob ein bestimmtes Laufwerk vorhanden ist wäre schon schön?

ich habe folgendes

netzobjekt.RemoveNetworkDrive "N:", true, true
netzobjekt.mapnetworkdrive "N:", "\\..."

nun ist das Problem dass wenn kein Laufwerk N: vorhanden ist eine Fehlermeldung erscheint. ich möchte deshalb zuvor prüfen lassen ob das Laufwerk vorhanden ist. Falls es da ist wäre auch gut wenn der vorhandene Pfad des Laufwerkes gespeichert oder ausgegeben wird bevor man es löscht.

gruß saibonaut
Mitglied: bastla
06.09.2007 um 12:18 Uhr
Hallo saibonaut!

Aus der MS-Doku:
01.
Set WshNetwork = WScript.CreateObject("WScript.Network")
02.
Set oDrives = WshNetwork.EnumNetworkDrives
03.
WScript.Echo "Zuordnungen der Netzlaufwerke:"
04.
For i = 0 to oDrives.Count - 1 Step 2
05.
	WScript.Echo "Laufwerk " & oDrives.Item(i) & " = " & oDrives.Item(i+1)
06.
Next
Grüße
bastla
Bitte warten ..
Mitglied: 53111
06.09.2007 um 14:22 Uhr
wieso geht das nicht mit -1?

wenn gar kein laufwerk vorhanden ist geht das programm ja dann nicht in den else teil. gibt es auch noch einen geschickteren weg wenn man mehrere laufwerke bearbeiten und verwenden will?

For i = -1 to test.Count - 1 Step 2


If test.Item(i) = "H:" Then

netzobjekt.RemoveNetworkDrive "H:", true, true

netzobjekt.mapnetworkdrive "H:", "\\Server2\Home\"&benutzername
wscript.Echo "if"

Else

netzobjekt.mapnetworkdrive "H:", "\\Server2\Home\"&benutzername
wscript.Echo "else"

End If
Next
Bitte warten ..
Mitglied: bastla
06.09.2007 um 16:07 Uhr
Hallo saibonaut!

wieso geht das nicht mit -1?
Ich nehme an, Du beziehst Dich auf Deinen Versuch mit dem Schleifenstartwert -1; wenn ja, dann musst Du berücksichtigen, dass es kein "test.item(-1)" gibt ...

gibt es auch noch einen geschickteren weg wenn man mehrere laufwerke bearbeiten und verwenden will?
Meinst Du zum Trennen und neu Verbinden der Laufwerke? Im Prinzip könntest Du einfach den Fehler beim Trennen eines gar nicht verbundenen Laufwerks mit einem "On Error Resume Next" abfangen, also etwa
01.
On Error Resume Next
02.
netzobjekt.RemoveNetworkDrive "H:", true, true
03.
On Error Goto 0 'um Fehler (zB beim Verbinden) wieder angezeigt zu bekommen
04.
netzobjekt.mapnetworkdrive "H:", "\\Server2\Home\"&benutzername
Wenn Du den Vorgang noch in ein Sub auslagerst, könnte das so aussehen:
01.
Set netzobjekt = WScript.CreateObject("WScript.Network")
02.
Verbinde "H:", "\\Server2\Home\"&benutzername
03.
Verbinde "O:", "\\Server1\Old"
04.
Verbinde "S:", "\\Server2\Sonstiges"
05.

06.
Sub Verbinde(Buchstabe, Pfad)
07.
On Error Resume Next
08.
netzobjekt.RemoveNetworkDrive Buchstabe, true, true
09.
On Error Goto 0
10.
netzobjekt.mapnetworkdrive Buchstabe, Pfad
11.
End Sub
Grüße
bastla
Bitte warten ..
Mitglied: 53111
06.09.2007 um 16:24 Uhr
hab es jetzt so gelöst:
scheint zu funktionieren
01.
Dim netzobjekt, benutzername, laufwerkarray 
02.

03.

04.
set netzobjekt=wscript.createobject("wscript.network")
05.
benutzername = netzobjekt.UserName
06.

07.

08.
Set test = netzobjekt.EnumNetworkDrives
09.

10.
laufwerkarray = Array("H:","X:","Z:")
11.

12.
	
13.
		
14.
	For i = 0 to test.Count - 1 Step 2
15.

16.
	
17.
		For j = 0 to UBound(laufwerkarray)	
18.

19.

20.
		
21.
			If test.Item(i) = laufwerkarray(j) Then
22.

23.
 				netzobjekt.RemoveNetworkDrive laufwerkarray(j), true, true 
24.
			
25.
 				wscript.Echo  test.Item(i) &" "& test.Item(i+1)   & " wurde entfernt und wird neu belegt!"
26.
		
27.
			End If
28.
		Next
29.

30.
	Next
31.

32.

33.
netzobjekt.mapnetworkdrive "H:", "\\Server2\Home\"&benutzername
34.

35.
netzobjekt.mapnetworkdrive "X:", "\\Server2\work"
36.

37.
netzobjekt.mapnetworkdrive "Z:", "\\Server2\apps"
[Edit Biber] Als Codeblock formatiert.[/Edit]
Bitte warten ..
Mitglied: bastla
06.09.2007 um 16:38 Uhr
Hallo saibonaut!

Ist zwar etwas sauberer, allerdings sind dadurch die Laufwerksbuchstaben redundant eingetragen ...

Vielleicht so:
01.
set netzobjekt=wscript.createobject("wscript.network")
02.
benutzername = netzobjekt.UserName
03.
set test = netzobjekt.EnumNetworkDrives
04.

05.
laufwerkarray = Array( _
06.
	"H:", "\\Server2\Home\"&benutzername", _ 
07.
	"X:", "\\Server2\work", _
08.
	"Z:", "\\Server2\apps")
09.
	
10.
For j = 0 to UBound(laufwerkarray) - 1 Step 2 
11.
	For i = 0 to test.Count - 1 Step 2
12.
		If test.Item(i) = laufwerkarray(j) Then
13.
			netzobjekt.RemoveNetworkDrive laufwerkarray(j), true, true
14.
			wscript.Echo test.Item(i) &" "& test.Item(i+1) & " wurde entfernt und wird neu belegt!"
15.
		End If
16.
	Next
17.
	netzobjekt.mapnetworkdrive laufwerkarray(j), laufwerkarray(j+1)
18.
Next
Grüße
bastla
Bitte warten ..
Mitglied: 53111
07.09.2007 um 08:27 Uhr
diese idee wir du hatte ich gestern auch. habe das jetzt so verwirklicht. die änderungen werden jetzt noch protokolliert und in einer datei gespeicher.
01.
Dim netzobjekt, benutzername, laufwerkarray 
02.

03.

04.
set netzobjekt=wscript.createobject("wscript.network")
05.
benutzername = netzobjekt.UserName
06.

07.
Name = "C:\Dokumente und Einstellungen\"&benutzername&"\Desktop\Info_zu_neuen_Netzlaufwerken.txt"
08.

09.
Set InfoDateiObjekt = CreateObject("Scripting.FileSystemObject")
10.
Set InfoDatei = InfoDateiObjekt.OpenTextFile(Name, 2, True)
11.
Set objFile = InfoDateiObjekt.GetFile(Name)
12.

13.

14.
Set test = netzobjekt.EnumNetworkDrives
15.

16.
laufwerkarray = Array(	"H:",_
17.
			"\\Server2\Home\"&benutzername,_
18.
			"X:",_
19.
			"\\Server2\work",_
20.
			"Z:",_
21.
			"\\Server2\apps"_
22.
		     )
23.

24.

25.
InfoDatei.WriteLine "Die folgenden Netzlaufwerke wurden gelöscht: "
26.
InfoDatei.WriteLine " "
27.
	
28.
		
29.
	For i = 0 to test.Count - 1 Step 2
30.
		For j = 0 to UBound(laufwerkarray)			
31.
			If test.Item(i) = laufwerkarray(j) Then
32.

33.
				
34.
			        InfoDatei.WriteLine test.Item(i) &" "& test.Item(i+1) 				
35.

36.

37.
 				netzobjekt.RemoveNetworkDrive laufwerkarray(j), true, true					
38.
			End If
39.
		Next
40.
	Next
41.

42.

43.

44.
netzobjekt.mapnetworkdrive laufwerkarray(0), laufwerkarray(1)
45.

46.
netzobjekt.mapnetworkdrive laufwerkarray(2), laufwerkarray(3)
47.

48.
netzobjekt.mapnetworkdrive laufwerkarray(4), laufwerkarray(5)
49.
	
50.
InfoDatei.WriteLine " "
51.
InfoDatei.WriteLine " "
52.
InfoDatei.WriteLine "Die gelöschten Netzlaufwerke wurden mit folgen Pfaden neu verbunden: "
53.
InfoDatei.WriteLine " "
54.
InfoDatei.WriteLine laufwerkarray(0) &" "& laufwerkarray(1) 	
55.
InfoDatei.WriteLine laufwerkarray(2) &" "& laufwerkarray(3) 	
56.
InfoDatei.WriteLine laufwerkarray(4) &" "& laufwerkarray(5) 	
57.

58.
InfoDatei.Close 
59.
werde nun mal testen ob sich das Script vom server aus ausführen lässt. habt ihr eine idee wie man unterbinden kann dass das script bei jedem login ausgeführt wird - es soll nur bei ersten login des users verwendet werden?

wie würde ich z.B.: /PERSISTENT:YES mit VBS realisieren


gruß
saibonaut
Bitte warten ..
Mitglied: 53111
07.09.2007 um 14:48 Uhr
hat jemand noch eine idee wie ich verhinder kann das das script bei jedem neuen login diese datei schreibt. ich möchte eigentlich nur beim ersten login des nutzer die datei schreiben lassen.
auch denkbar wäre das ganze script nur einmal beim ersten login des nutzers ablaufen zu lassen und die laufwerke dann /PERSISTENT:YES zu machen. wie mach ich das mit vbs?
Bitte warten ..
Mitglied: bastla
07.09.2007 um 20:23 Uhr
Hallo saibonaut!

hat jemand noch eine idee wie ich verhinder kann das das script bei jedem neuen login diese datei schreibt.
Vielleicht, indem Du vorweg überprüfst, ob sie bereits existiert?

/PERSISTENT:YES zu machen. wie mach ich das mit vbs?
01.
netzobjekt.mapnetworkdrive laufwerkarray(0), laufwerkarray(1), True
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Windows 7
Schreibgeschwindigkeit Netzlaufwerk
Frage von OlliMucWindows 79 Kommentare

Servus zusammen, ich arbeite in einer großen Firma und wir arbeiten quasi fast nur über Netzlaufwerke. In meinem Aufgabenbereich ...

Windows Netzwerk
Netzlaufwerk verschwindet immer
Frage von crack24Windows Netzwerk4 Kommentare

Hallo, wir haben die Woche eine neue Maschine für die Produktion bekommen. Deren Rechner mit Windows XP soll auf ...

Windows 10
VPN Netzlaufwerk leer
Frage von EdaseinsWindows 106 Kommentare

Hallo Leute, Ich habe einen Kunden der Verbindet sich nach Leipzig per Windows VPN auf seinen Server. Dort nutzt ...

Netzwerkmanagement
Netzlaufwerk und Internet
gelöst Frage von geocastNetzwerkmanagement11 Kommentare

Hallo Zusammen Ich wollte euch mal fragen, wie eure Erfahrungen dazu sind. Wir werden in Zukunft recht viele Mitarbeiter ...

Neue Wissensbeiträge
Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 7 StundenInternet

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter die Seitenbetreiber ...

Google Android

Blokada: Tracking und Werbung unter Android unterbinden

Information von AnkhMorpork vor 9 StundenGoogle Android1 Kommentar

In Ergänzung zu meinem vorherigen Beitrag: Blokada efficiently blocks ads, tracking and malware. It saves your data plan, makes ...

Google Android
Facebooks unsichtbare Datensammlung
Information von AnkhMorpork vor 9 StundenGoogle Android

Rund 30 Prozent aller Apps im Play-Store nehmen Kontakt zu Facebook auf, sobald man sie startet. So erfährt der ...

Exchange Server

Exchange 2010 bis 2019 Sicherheitslücke durch CU RU schließen

Information von sabines vor 12 StundenExchange Server

Für die hier: und hier: besprochene Sicherheitslücke ist ein Patch für Microsoft Exchange Server 2010 - 2019 verfügbar. RU ...

Heiß diskutierte Inhalte
Windows 10
Windows Update funktioniert nicht - Keine Verbindung mit dem Updatedienst
gelöst Frage von anveWindows 1030 Kommentare

Hallo, ich kann schon länger keine Updates mehr machen. Wenn ich auf Update suchen gehe, dann schreibt er folgendes: ...

LAN, WAN, Wireless
NETBEUI unter Windows 10
Frage von certifiedit.netLAN, WAN, Wireless26 Kommentare

Guten Abend, wir stehen gerade vor dem Rästel, warum man in einer Industriemaschine (wert gut 6-stellig, paar mal vorhanden) ...

Hardware
Was passiert wenn ein Server zu heiß wird?
Frage von LohrakHardware20 Kommentare

Hallo Sollte ein Server zu heiß werden, da z.B ein Lüfter ausfällt, was würde passieren? Wie meldet sich der ...

Windows Installation
Was haltet Ihr von lizengo.de
Frage von UweGriWindows Installation17 Kommentare

Guten Abend, der Titel ist die Frage: Was haltet Ihr von www.lizengo.de? Wie sehe ich das: Deutsches Unternehmen, Jahre ...