Jump to content
Sign in to follow this  
R_Mori

vbs script zum mappen des Homedrives

Recommended Posts

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-

Share this post


Link to post

Hallo -mori-,

 

versuche es so:

 

oWshNetwork.MapNetworkdrive "P:", "\\server\datenprivat\" & oWshNetwork.UserName, False

 

thorgood

Share this post


Link to post

Guten Morgen

Vielen Dank! Dein Tipp hat so funktioniert!!

 

 

... dieses Forum ist doch wirklich eine tolle Sache !!! ...

 

-mori-

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...