R_Mori 10 Geschrieben 12. Juni 2006 Melden Teilen Geschrieben 12. Juni 2006 Hallo zusammen Ich bastle an einem Logonscript in vbs. Nun möchte ich das Homeverzeichnis des Users auf den Buchstaben P mappen. Ich habe es so versuch, aber vsb kennt wohl die Variabel %username% nicht. oWshNetwork.MapNetworkdrive "P:", "\\server\datenprivat\%Username%", False Mit statischen Ordner funktioniert alles bestens. Wie kann ich das mit vbs machen?? Vielen Dank für die Tipps -mori- Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 12. Juni 2006 Melden Teilen Geschrieben 12. Juni 2006 Hallo -mori-, versuche es so: oWshNetwork.MapNetworkdrive "P:", "\\server\datenprivat\" & oWshNetwork.UserName, False thorgood Zitieren Link zu diesem Kommentar
R_Mori 10 Geschrieben 13. Juni 2006 Autor Melden Teilen Geschrieben 13. Juni 2006 Guten Morgen Vielen Dank! Dein Tipp hat so funktioniert!! ... dieses Forum ist doch wirklich eine tolle Sache !!! ... -mori- Zitieren Link zu diesem Kommentar
R_Mori 10 Geschrieben 13. Juni 2006 Autor Melden Teilen Geschrieben 13. Juni 2006 ... nun funktioniert fast alles. Ich habe dieses Script übernommen und angepasst. Was aber nicht funktioniert ist das Löschen der gemappten Laufwerke vor dem mappen. Mit den Druckern funktioniert es bestens. Ich kann den Fehler nicht finden. Kann mir da jemand weiterhelfen? Hier das Script: option explicit on error resume next Dim oWshNetwork, oExec Dim oWshShell Dim iLocalVersion Set oWshShell = CreateObject("WScript.Shell") Set oWshNetwork = CreateObject("WScript.Network") Call RemoveAllNetworkDriveConnections oWshNetwork.MapNetworkdrive "P:", "\\Server\Daten0\" & oWshNetwork.UserName, False oWshNetwork.MapNetworkdrive "Q:", "\\Server\Daten1", False oWshNetwork.MapNetworkdrive "S:", "\\Server\Daten2", False Call RemoveAllPrinterConnections oWshNetwork.AddWindowsPrinterConnection "\\Server\Drucker1" oWshNetwork.AddWindowsPrinterConnection "\\Server\Drucker2" oWshNetwork.AddWindowsPrinterConnection "\\Server\Drucker3" oWshNetwork.AddWindowsPrinterConnection "\\Server\Drucker4" oWshNetwork.AddWindowsPrinterConnection "\\Server\Drucker5" oWshNetwork.SetDefaultPrinter "\\Server\Drucker1" Set oExec = oWshShell.Exec("\\Server\Ordner\programm.exe") Sub RemoveAllNetworkDriveConnections Dim NetworkDrive For Each NetworkDrive In oWshNetwork.EnumNetworkDrives If Left(NetworkDrive, 2) = "\\" Then oWshNetwork.RemoveNetworkDrive NetworkDrive, True, True Next End Sub Sub RemoveAllPrinterConnections Dim Printer For Each Printer In oWshNetwork.EnumPrinterConnections If Left(Printer, 2) = "\\" Then oWshNetwork.RemovePrinterConnection Printer, True, True Next End Sub Vielen Dank -mori- Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 14. Juni 2006 Melden Teilen Geschrieben 14. Juni 2006 Hallo, es gibt zwei Möglichkeiten dies in einem Login Script zu tun: 1. du löschst alle Mappings auch die vom Benutzer erstellten eigenen Permanenten was Unmut beim Benutzer auslösen kann. :D Sub RemoveAllNetworkDriveConnections On Error Resume Next Dim NetworkDrive For Each NetworkDrive In oWshNetwork.EnumNetworkDrives oWshNetwork.RemoveNetworkDrive NetworkDrive, True, True Next End Sub Übrigens die Variable NetworkDrive in der Schleife For Each NetworkDrive In oWshNetwork.EnumNetworkDrives gibt dir als String den Laufwerksbuchstaben gefolgt von CRLF und dem UNC Pfad zurück. So schlägt deine Abfrage nach "\\" fehl. Ist aber auch nicht notwendig da du sowieso alle Mappings löschen willst 2. du löschst nur vorhandene Mappings auf Laufwerksbuchstaben die dein Script benötigt. Statt der Sub Call RemoveAllNetworkDriveConnections erstellst du dir eine Neue Sub MapDrive(strDrive,strShare) On Error Resume Next oWshNetwork.MapNetworkDrive strDrive, strShare, False If Err.Number Then oWshNetwork.RemoveNetworkDrive strDrive, True, True oWshNetwork.MapNetworkDrive strDrive, strShare, False End If End Sub und nimmst im Script zum mappen MapDrive "P:", "\\Server\Daten0\" & oWshNetwork.UserName MapDrive "Q:", "\\Server\Daten1" MapDrive "S:", "\\Server\Daten2" thorgood Zitieren Link zu diesem Kommentar
R_Mori 10 Geschrieben 15. Juni 2006 Autor Melden Teilen Geschrieben 15. Juni 2006 ... ich bin begeistert !! Beide Varianten klappen auf Anhieb! Vielen Dank für diese professionelle Hilfe. Was ich jetzt noch als Detail festgestellt habe ist, dass der Name des Netzlaufwerks nach der alten Belegung bestehen bleibt, wenn der Buchstabe vorher mit einem anderen Verzeichnis gemappt war. Der Inhalt entspricht dann schon dem gewünschten Ordner. Wäre es da möglich dem Netzlaufwerk einen selbst definierten Namen zu geben? Gruss -mori- Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.