Jump to content

vbs script zum mappen des Homedrives


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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-

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar

... 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? :confused:

 

 

Gruss

 

-mori-

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...