Netzlaufwerke Gruppenabhängig per vbs verbinden
Hallo allerseits,
bin ein Script am erstellen und hänge an einer stelle fest: Ich möchte via VB-Script Laufwerke mappen, dei alle Benutzer bekommen sollen, funktioniert auch soweit. Damit nicht genug, es gibt aber auch Laufwerke, die nur bestimmte Benutzer bekommen sollen. Diese Benutzer habe ich in eine Gruppe zusammengefasst, aber da scheint etwas in meinem Script zu fehlen. Hier ein Ausschntt aus meinem Script:
Was ist in der Abfrage verkehrt?
Habe ein Windows Server 2003 SBS, da ist ja AD etwas anders aufgebaut, kann dies damit zusammen hängen?
Wollte nach einem ähnlichen Prinzip im selben Script die Drucker verbinden, dies klappt leider auch nicht wirklich. Schätze mal aus dem selben Grund, den die Drucker sollen auch nach Gruppen verbunden werden.
Vielen Dank schonmal im voraus...
Gruß
bin ein Script am erstellen und hänge an einer stelle fest: Ich möchte via VB-Script Laufwerke mappen, dei alle Benutzer bekommen sollen, funktioniert auch soweit. Damit nicht genug, es gibt aber auch Laufwerke, die nur bestimmte Benutzer bekommen sollen. Diese Benutzer habe ich in eine Gruppe zusammengefasst, aber da scheint etwas in meinem Script zu fehlen. Hier ein Ausschntt aus meinem Script:
Set Laufwerksliste = WSHNetwork.EnumNetworkDrives
Set Druckerliste = WSHNetwork.EnumPrinterConnections
Set objUserGroup = GetObject("WinNT://domain.local/" & WSHNetwork.UserName & ",user")
Set objComputerGroup = GetObject("WinNT://domain.local/" & WSHNetwork.Computername & "$")
'*****************Hier werden Laufwerke gemappt die jeder haben darf****************
Sub SonstigeMappings
On Error Resume Next
WSHNetwork.MapNetworkDrive "F:", "\\srv\Freigabe1"
WSHNetwork.MapNetworkDrive "K:", "\\srv\Freigabe2"
WSHNetwork.MapNetworkDrive "L:", "\\srv\Freigabe3"
End Sub
'*****************HIER WIRD NACH GRUPPEN GEMAPT********************************
Sub Usergroup
For Each Group In objUserGroup.groups
Select Case LCase(Group.Name)
Case "Extrabenutzer"
Laufwerkverbinden "S:", "\\srv\Freigabe"
End Select
Next
End Sub
Habe ein Windows Server 2003 SBS, da ist ja AD etwas anders aufgebaut, kann dies damit zusammen hängen?
Wollte nach einem ähnlichen Prinzip im selben Script die Drucker verbinden, dies klappt leider auch nicht wirklich. Schätze mal aus dem selben Grund, den die Drucker sollen auch nach Gruppen verbunden werden.
Vielen Dank schonmal im voraus...
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 104575
Url: https://administrator.de/contentid/104575
Ausgedruckt am: 27.11.2024 um 00:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo awiterra!
nicht funktionieren kann, wenn vorher der Gruppenname mittels "LCase()" in Kleinbuchstaben umgewandelt wurde.
Füge zur Fehlersuche zwischen Zeile 21 und 22 ein:
Dadurch wird für jede gelesene Gruppe der Name zwischen "#"-Zeichen angezeigt, was Dir eine bessere Kontrolle (etwa hinsichtlich ev Leerzeichen am Ende - sollte es nicht geben, aber sicher ist sicher) erlaubt. Wenn Du das Script von der Kommandozeile mit
startest, sollten alle Gruppen, denen der User angehört, in der Schreibweise (natürlich abzüglich der "#"), die Du dann für "Case" verwenden musst, aufgelistet werden.
Noch eine Anmerkung: Ein ev im Script vorhandenes "On Error Resume Next" sollte während der Testphase auskommentiert sein, damit Du auftretende Fehler auch gemeldet bekommst.
Grüße
bastla
kann jetzt leider nicht wirklich nachvollziehen, was Du damit meinst.
Gemeint war, dassCase "Extrabenutzer"
Habe mal die Gruppennamen in kleinbuchstaben eingetragen - keine reaktion...
Zunächst einmal die richtige Vorgangsweise ...Füge zur Fehlersuche zwischen Zeile 21 und 22 ein:
WScript.Echo "#" & LCase(Group.Name) & "#"
cscript //nologo Scriptpfad\Scriptname.vbs
Noch eine Anmerkung: Ein ev im Script vorhandenes "On Error Resume Next" sollte während der Testphase auskommentiert sein, damit Du auftretende Fehler auch gemeldet bekommst.
Grüße
bastla