skyurmel
Goto Top

User Logon Script bei Domänenanmeldung (VBS)

Vom User gemappte Laufwerke mit der Einstellung Persistent:Yes lassen sich über das Login Script nicht löschen.

Hallo,

ich möchte ein Loginscript über eine entsprechende GPO bei einer gewisse Anzahl von Usern anwenden. Die Erstellung der GPO funktioniert auch ohne weiteres, nur tritt leider beim Ausführen des Scripts folgender Fehler auf !

Hat der User ein entsprechendes Laufwerk und dem selben Laufwerksbuchstaben mit der Option "Verbindung bei Anmeldung wiederherstellen" gemappt so lässt sich dieses Laufwerk per Script nicht löschen. Diverse Beispiele bei beschreiben alle nur das Mappen eines Laufwerks aber keines der Beispiele beschreibt wie ich meine 4 zu mappenden Freigaben durchsetzen kann wenn vom User diese Laufwerksfreigaben bereits verwendet werden.

Schön wäre wenn mir diesbezüglich jemand ein Script zur Verfügung stellen könnte das ich über eine GPO zuweisen kan, kein net use usw. , sonder entweder ein VBS bzw WSH Script.

Wie sieht es mit Druckern aus ?? Den Test konnte ich leider noch nicht machen,also Drucker bereits vohanden, per Script alle löschen und neu anlegen !!!

Herzlichen Dank
Michael

Content-ID: 23677

Url: https://administrator.de/contentid/23677

Ausgedruckt am: 23.11.2024 um 09:11 Uhr

CouchCoach
CouchCoach 16.01.2006 um 11:52:01 Uhr
Goto Top
Servus,

also du möchtest z.B. Laufwerk x: y: und z: mappen.

bevor du Ihn hier machst

net use x: \\meinServer\XXX-Files /persistent:no

machst du einfach eine expliziete Trennung des Laufwerkes

net use x: /delete

Das sollte auch mit von Hand gemappten und als persistent deklarierten Laufwerken klappen.

Grüße
Dani
Dani 16.01.2006 um 12:02:30 Uhr
Goto Top
Wäre Kix was für dich?!

http://www.kixtart.org
Skyurmel
Skyurmel 16.01.2006 um 12:13:20 Uhr
Goto Top
Hallo CouchCoach,

mit net use X: /delete funktioniert es !! Ich möchte aber ganz gern ein VBS bzw. WSK Script !

Dies habe ich ausprobiert und es funktioniert nicht wenn der User den Haken für Persistent:Yes beim mappen des Laufwerks gesetzt hat !!!

Anbei Script:

Region Description
'
' Name:Login Script, für alle User
' Author:Michael
' Version:01.02
' Description:
'
'
' EndRegion

'Script zum Mappen der entsprechenden Laufwerke, die jedem User zur Verfügung stehen sollen !

RemoveDrive "X:"
MapDrive "X:", "\\Server_1\one$"

RemoveDrive "Y:"
MapDrive "Y:", "\\Server_2\two$"


Sub MapDrive(ByVal path, ByVal url)
Set net = CreateObject("WScript.Network")
On Error Resume Next
net.MapNetworkDrive path, url
Set net = Nothing
On Error Goto 0
End Sub

Sub RemoveDrive(ByVal path)
Set onet = CreateObject("WScript.Network")
On Error Resume Next
net.RemoveNetworkDrive path, True, True
Set onet = Nothing
On Error Goto 0
End Sub
LarsJakubowski
LarsJakubowski 16.01.2006 um 12:13:39 Uhr
Goto Top
Hi,

also an sowas wäre ich auch sehr interessiert.
Habe hier leider auch keine Möglichkeit, die wirksam ist.

Lars
Skyurmel
Skyurmel 16.01.2006 um 12:16:31 Uhr
Goto Top
Hallo Dani,

ich glaube nicht ! Ich wollte versuchen mit den Windows Mitteln dies zu realisieren ! Habe aber bei meiner Suche mir auch dies angeschaut !

Eine Frage hätte ich aber diesbezüglich doch ! Gibt es dafür auch ein deutsches Manual (Version 4.51) ?

Danke
Michael
Biber
Biber 16.01.2006 um 12:23:08 Uhr
Goto Top
Moin Skyurmel,
wieso postest Du nicht Dein Skript? Das wäre einfacher.

Du kannst die Netzlaufwerke doch einfach trennen, oder was ist das Problem?

Die Methode heißt .RemoveNetworkDrive und gehört zum WScript.Network-Object.

Biber
[Edit] Sorry, hat sich zeitlich überschnitten mit Skyurmels Posting. Obsolet. [/Edit]
gemini
gemini 16.01.2006 um 12:38:35 Uhr
Goto Top
Hallo Michael,

ich hab mir zum trennen sowas gebastelt.
Funktioniert auch ganz gut.
Habs eben nochmal mit Usermappings getestet, bei mir werden diese zuverlässig getrennt

Const blnForce = TRUE
strPrintSRV = "Printserver"  
Set WshNetwork = Wscript.CreateObject("Wscript.Network")  
strComputer = LCase(WshNetwork.ComputerName)
Set colDrives = WshNetwork.EnumNetworkDrives
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _  
 strComputer & "\root\cimv2")  
Set colPrinters =  objWMIService.ExecQuery("Select * from Win32_Printer")  

On Error Resume Next
If colDrives.Count > 0 Then
  For i = 0 To colDrives.Count - 1 Step 2
    WshNetwork.RemoveNetworkDrive colDrives(i), blnForce
  Next
End If
On Error GoTo 0

For Each objPrinter in colPrinters
  If Left(objPrinter.Name, 2) = "\\" Then  
    WshNetwork.RemovePrinterConnection "\\" & strPrintSRV & "\" & objPrinter.ShareName, blnForce  
  End If
Next

Hope it helps
gemini
Dani
Dani 16.01.2006 um 12:42:00 Uhr
Goto Top
Meinst du die Dokumentation??
Nein, also soweit es mein Wissen zu lässt. Könnte aber sein, dass es jemand übersetzt hat. Kannst ja mal bei eMule schauen.
Dani
Dani 16.01.2006 um 12:43:27 Uhr
Goto Top
An was bist du interessiert??

An den VBS Scripting oder Kixtart