Via VBS Laufwerk verbinden inkl Passwort und Benutzer eingabe
Hallo an alle,
folgendes Problem bei dem ich nicht weiterkomme.
Ich möchte mich via net use auf ein anderes Netzwerklaufwerk verbinden, jedoch soll der Benutzername und ein Psswort abgefragt werden und die verbindungn nach einem neustart bestehen bleieben.
ob dies via batch zu realisieren ist weis ich nicht!? Mit VB/VBA könntet ihr mich auch helfen!
Danke schonmal
folgendes Problem bei dem ich nicht weiterkomme.
Ich möchte mich via net use auf ein anderes Netzwerklaufwerk verbinden, jedoch soll der Benutzername und ein Psswort abgefragt werden und die verbindungn nach einem neustart bestehen bleieben.
ob dies via batch zu realisieren ist weis ich nicht!? Mit VB/VBA könntet ihr mich auch helfen!
Danke schonmal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 99468
Url: https://administrator.de/contentid/99468
Ausgedruckt am: 26.11.2024 um 17:11 Uhr
36 Kommentare
Neuester Kommentar
z.B. mit VBS wenn du den Internet Explorer zu Hilfe nimmst:
http://www.microsoft.com/technet/scriptcenter/topics/htas/tutorial1.msp ...
Laufwerke mappen sieht aber in VBS etwas anders aus als in Batch.
http://www.microsoft.com/technet/scriptcenter/topics/htas/tutorial1.msp ...
Laufwerke mappen sieht aber in VBS etwas anders aus als in Batch.
Moin Moin
Laufwerks mapping per VBs:
Etwas so:
Gruß L.
Laufwerks mapping per VBs:
Set fs = CreateObject("Scripting.filesystemobject")
Set net = CreateObject("WScript.Network")
On Error Resume Next
If fs.driveExists("X:\") Then net.RemoveNetworkDrive "X:",True,True
net.MapNetworkDrive MapNetworkDrive "X:", "\\server\share", false, "domainName\administrator", "password"
Was auch noch wichtig ist, ist ein Anmeldefenster. Heist: ich klicke auf einen Button und dann kommt benutzername und passwort eingabe und anschließend bin ich mit dem netzlaufwerk verbunden! wie kann ich dies realisieren.
Zum Anmelde fenster habe ich jetzt keine wirklich gute Idee, außer mit Imputbox.Etwas so:
...
UserName = ImputBox("Benutzername eingeben","Benutzer")
PWD = ImputBox("Passwort eingeben","Passwort")
...
Gruß L.
Moin
zum Thema Kennworteingabe habe ich noch einen recht interesanten Link gefunden.
Schau mal hier: http://www.robvanderwoude.com/vbstech_ui_password.html
Was ist denn der "sharpdeveloper" ?
Gruß L.
zum Thema Kennworteingabe habe ich noch einen recht interesanten Link gefunden.
Schau mal hier: http://www.robvanderwoude.com/vbstech_ui_password.html
Was ist denn der "sharpdeveloper" ?
Gruß L.
Moin Moin
Ok. wieder was gelernt.
Vielleicht komm ich mal dazu mir das genauer anzuschauen.
Mit Editor öffnen. Code rein + speichern. Ausführen.
Gruß L.
Ok. wieder was gelernt.
Vielleicht komm ich mal dazu mir das genauer anzuschauen.
ja weil hab jetzt nicht genau gewusst oder wis nicht wie ich den vbs code umsetzte, mach ich das wie bei ner batchdatei?
Textdatei erstellen. Dateiendung in .vbs ändern.Mit Editor öffnen. Code rein + speichern. Ausführen.
Gruß L.
Moin Moin
Entferne mal die Zeile
und teste es nochmal.
Falls doch ein Fehler auftritt wird dieser dann angezeigt.
Gruß L.
Zitat von @braunse:
So hab mal alles so wie beschrieben getestet. Bekomme auch keine
Fehlermeldung oder sonstiges das einzige Problem ist nur das das
NW-Laufw. trotzdem nicht erscheint, irgendwas passt also nicht.
quellcode von oben genutz nur server\share user und pw eingetragen!
woran könnte das nun liegen?
So hab mal alles so wie beschrieben getestet. Bekomme auch keine
Fehlermeldung oder sonstiges das einzige Problem ist nur das das
NW-Laufw. trotzdem nicht erscheint, irgendwas passt also nicht.
quellcode von oben genutz nur server\share user und pw eingetragen!
woran könnte das nun liegen?
Entferne mal die Zeile
on error resume next
Falls doch ein Fehler auftritt wird dieser dann angezeigt.
Gruß L.
Moin Moin
Am code liegts nicht. Von daher muss ich annehmen das die Meldung korrekt ist und ein Problem mit den Rechten vorliegt.
Überprüfe nochmal die berechtigungen von \\191.32.xxx.x\g$ auf Freigabe und NTFS ebene. Probiere evtl. auch mal einen alternativen Benutzer aus.
Tippfehler werden auch immer wieder gern genommen.
Gruß L.
Zitat von @braunse:
Als Fehlermeldung kommt beim ausführen immer Fehler Zeile 4
Zeichen 1. Meine Zeile 4 beginnt bei net.Map.......! Weiter kommt dann
noch Anmeldename oder Kennwort falsch! Kann aber auch nicht sein diese
hab ich nämlich überprüft und funktionieren wie ich sie
eingetragen habe.
Als Fehlermeldung kommt beim ausführen immer Fehler Zeile 4
Zeichen 1. Meine Zeile 4 beginnt bei net.Map.......! Weiter kommt dann
noch Anmeldename oder Kennwort falsch! Kann aber auch nicht sein diese
hab ich nämlich überprüft und funktionieren wie ich sie
eingetragen habe.
Am code liegts nicht. Von daher muss ich annehmen das die Meldung korrekt ist und ein Problem mit den Rechten vorliegt.
Überprüfe nochmal die berechtigungen von \\191.32.xxx.x\g$ auf Freigabe und NTFS ebene. Probiere evtl. auch mal einen alternativen Benutzer aus.
Tippfehler werden auch immer wieder gern genommen.
Gruß L.
Moin Moin
Ich unterstell mal das der Domainname immer gleich ist
Echter Nachteil dieser Lösung ist, das das Passwort in Klartext in der Inputbox steht.
Evtl. Abhilfe: Schau mal hier: http://www.robvanderwoude.com/vbstech_ui_ ...
Gruß L.
Ich unterstell mal das der Domainname immer gleich ist
Set fs = CreateObject("Scripting.filesystemobject")
Set net = CreateObject("WScript.Network")
UserName = InputBox("Benutzername eingeben","Benutzer") ' benutzername abfragen
If Username<>"" Then ' ohne benutzername ist weitermachen sinnlos
PWD = InputBox("Passwort eingeben","Passwort") ' Passwort abfragen
net.MapNetworkDrive "W:", "\\191.32.xxxx\g$", false, "AxxxxTE\" & UserName , PWD
end if
Echter Nachteil dieser Lösung ist, das das Passwort in Klartext in der Inputbox steht.
Evtl. Abhilfe: Schau mal hier: http://www.robvanderwoude.com/vbstech_ui_ ...
Gruß L.
Moin
War der gleiche wie oben. Hier nochmal kommplett: http://www.robvanderwoude.com/vbstech_ui_password.html
VBS hat keinen Formulardesigner.
Da kann man nur mit Standard Dialogen arbeiten oder mit HTML.
Gruß L.
War der gleiche wie oben. Hier nochmal kommplett: http://www.robvanderwoude.com/vbstech_ui_password.html
könnte ich also irgendwie ne textbox einfügen? oder ist das ne große umstellung?
Wo einfügen? in die InputBox? Nee, das wird nix.VBS hat keinen Formulardesigner.
Da kann man nur mit Standard Dialogen arbeiten oder mit HTML.
Gruß L.
Moin
Zum ScriptPW.Password beispiel: Steht da noch:
Script Engine: WSH, CSCRIPT.EXE only
Summarized: Works in Windows XP or later, only in CSCRIPT.EXE (uses StdOut). Should also work in older Windows versions with .NET Framework installed (look for scriptpw.dll), only in CSCRIPT.EXE.
Doesn't work in Windows 95.
Ich dachte eigentlich an das 2. Skript auf der Seite.
Gruß L.
Zum ScriptPW.Password beispiel: Steht da noch:
Script Engine: WSH, CSCRIPT.EXE only
Summarized: Works in Windows XP or later, only in CSCRIPT.EXE (uses StdOut). Should also work in older Windows versions with .NET Framework installed (look for scriptpw.dll), only in CSCRIPT.EXE.
Doesn't work in Windows 95.
Ich dachte eigentlich an das 2. Skript auf der Seite.
ich weis ja nicht ob das damit funktioniert?! welche moglichkeit gibts noch so was zu realieren was ich haben möchte?
mit vba?
Fast alles was man in VBS machen kann geht (fast) 1-1 in VB oder VBA.mit vba?
Gruß L.
Moin Moin
Erstmal ein Tipp Schau mal biite in der nach dem Code Tag. Das mach das lesen von code doc erheblich leicher.
Du änderst die Reihenfolge. Also oben stehen die Funktionsaufrufe und unter die Funktionsdeklarationen.
Du könntest Dir natürlich auch eine Funtion schreiben die beides in einem Fenster abfragt. Dazu müstes du natürlich den HTML part entsprechend erweitern und da diese Funtion mehr als einen wert zurückgeben soll (Username und PWD) brauch diese Funktion mehr parameter.
In etwas so:
Gruß L.
Erstmal ein Tipp Schau mal biite in der nach dem Code Tag. Das mach das lesen von code doc erheblich leicher.
Zitat von @braunse:
Ich hab den Quellcode jetzt soweit umgeschrieben, dass ich 2 mal das
ie fenster habe einmal mit getuser und einmal mit getpasswort! jetzt
müsst ich am ende nur noch die beiden werte auslesen aber wie
geht das? ich kann den net befehl in eine function mit reinpacken aber
dann kann ich ja nur einen wert auslesen!?
wie soll ich da weiter machen=?
Ich hab den Quellcode jetzt soweit umgeschrieben, dass ich 2 mal das
ie fenster habe einmal mit getuser und einmal mit getpasswort! jetzt
müsst ich am ende nur noch die beiden werte auslesen aber wie
geht das? ich kann den net befehl in eine function mit reinpacken aber
dann kann ich ja nur einen wert auslesen!?
wie soll ich da weiter machen=?
Du änderst die Reihenfolge. Also oben stehen die Funktionsaufrufe und unter die Funktionsdeklarationen.
Set net = CreateObject("WScript.Network")
net.MapNetworkDrive "W:", "\\191.32.xxxx\g$", false, "AOxxxxTE\" & GetUserName("Benutzername angeben") , GetPassword("Paswort eingeben")
Function GetPassword( myPrompt )
....
end function
Function GetUserName ( myPrompt )
....
end function
Du könntest Dir natürlich auch eine Funtion schreiben die beides in einem Fenster abfragt. Dazu müstes du natürlich den HTML part entsprechend erweitern und da diese Funtion mehr als einen wert zurückgeben soll (Username und PWD) brauch diese Funktion mehr parameter.
In etwas so:
call GetPassword("Bitte Benutzername und Kennwort angeben", strUsername, strPassword)
net.MapNetworkDrive "W:", "\\191.32.xxxx\g$", false, "AOxxxxTE\"& strUsername, strPassword
Function GetPassword( myPrompt, strUsername, strPassword)
....
end function
Gruß L.
Hallo zusammen,
kenne mich ebenfalls garnicht mit VBS aus.
Muss aber ein VBS realisieren, dass 6 oder mehr Laufwerke mit einem anderen Benutzername und Passwort mappen.
3 Laufwerke sollen mit dem angemeldeten Benutzer gemappt werden.
Ich möchte aber für die 6 Laufwerke nur einmal das Passwort eingeben müssen.
Wenn das MAppen abgeschlossen ist hätte ich gerne eine Bestätigung mittels MSG Box.
Das mappen findet in einer Domaine statt.
Könnt ihr mir da helfen???
Vielen Dank schonmal
Mfg
Mike
kenne mich ebenfalls garnicht mit VBS aus.
Muss aber ein VBS realisieren, dass 6 oder mehr Laufwerke mit einem anderen Benutzername und Passwort mappen.
3 Laufwerke sollen mit dem angemeldeten Benutzer gemappt werden.
Ich möchte aber für die 6 Laufwerke nur einmal das Passwort eingeben müssen.
Wenn das MAppen abgeschlossen ist hätte ich gerne eine Bestätigung mittels MSG Box.
Das mappen findet in einer Domaine statt.
Könnt ihr mir da helfen???
Vielen Dank schonmal
Mfg
Mike
Hi,
habe folgenden Code verwendet.
Bekomme folgenden Fehler in Zeile 81 Zeichen 1
Fehler: Falsche Anzahl an Agumenten oder ungültige Wigenschaftszuweisung 'GetserNAme'
Code: 800A01C2
Quelle: Laufzeitenfehler in Microsoft VB Script
Was kann da der Fehler sein???
Set fs = CreateObject("Scripting.filesystemobject")
Set net = CreateObject("WScript.Network")
strUserName = GetUserName( "Please enter your User:" )
Function GetUserName( myPrompt )
Dim objIE
Set objIE = CreateObject( "InternetExplorer.Application" )
objIE.Navigate "about:blank"
objIE.Document.Title = "Password"
objIE.ToolBar = False
objIE.Resizable = False
objIE.StatusBar = False
objIE.Width = 320
objIE.Height = 180
With objIE.Document.ParentWindow.Screen
objIE.Left = (.AvailWidth - objIE.Width ) \ 2
objIE.Top = (.Availheight - objIE.Height) \ 2
End With
Do While objIE.Busy
WScript.Sleep 200
Loop
objIE.Document.Body.InnerHTML = "<DIV align=""center""><P>" & myPrompt _
& "</P>" & vbCrLf _
& "<P><INPUT TYPE=""password"" SIZE=""20"" " _
& "ID=""Password""></P>" & vbCrLf _
& "<P><INPUT TYPE=""hidden"" ID=""OK"" " _
& "NAME=""OK"" VALUE=""0"">" _
& "<INPUT TYPE=""submit"" VALUE="" OK "" " _
& "OnClick=""VBScript:OK.Value=1""></P></DIV>"
objIE.Visible = True
Do While objIE.Document.All.OK.Value = 0
WScript.Sleep 200
Loop
GetUserName = objIE.Document.All.Password.Value
' Close and release the object
objIE.Quit
Set objIE = Nothing
end function
strPw = GetPassword( "Please enter your password:" )
Function GetPassword( myPrompt )
Dim objIE1
Set objIE1 = CreateObject( "InternetExplorer.Application" )
objIE1.Navigate "about:blank"
objIE1.Document.Title = "Password"
objIE1.ToolBar = False
objIE1.Resizable = False
objIE1.StatusBar = False
objIE1.Width = 320
objIE1.Height = 180
With objIE1.Document.ParentWindow.Screen
objIE1.Left = (.AvailWidth - objIE1.Width ) \ 2
objIE1.Top = (.Availheight - objIE1.Height) \ 2
End With
Do While objIE1.Busy
WScript.Sleep 200
Loop
objIE1.Document.Body.InnerHTML = "<DIV align=""center""><P>" & myPrompt _
& "</P>" & vbCrLf _
& "<P><INPUT TYPE=""password"" SIZE=""20"" " _
& "ID=""Password""></P>" & vbCrLf _
& "<P><INPUT TYPE=""hidden"" ID=""OK"" " _
& "NAME=""OK"" VALUE=""0"">" _
& "<INPUT TYPE=""submit"" VALUE="" OK "" " _
& "OnClick=""VBScript:OK.Value=1""></P></DIV>"
objIE1.Visible = True
Do While objIE1.Document.All.OK.Value = 0
WScript.Sleep 200
Loop
GetPassword = objIE1.Document.All.Password.Value
' Close and release the object
objIE1.Quit
Set objIE1 = Nothing
net.MapNetworkDrive "G:", "\\Server\Gruppenlaufwerk\Gruppe\IT\", false, "AOxxxxTE\" & GetUserName , GetPassword
Er macht es nicht unter dem anderen Benutzername.
Was könnte der Fehler sein?
end function
habe folgenden Code verwendet.
Bekomme folgenden Fehler in Zeile 81 Zeichen 1
Fehler: Falsche Anzahl an Agumenten oder ungültige Wigenschaftszuweisung 'GetserNAme'
Code: 800A01C2
Quelle: Laufzeitenfehler in Microsoft VB Script
Was kann da der Fehler sein???
Set fs = CreateObject("Scripting.filesystemobject")
Set net = CreateObject("WScript.Network")
strUserName = GetUserName( "Please enter your User:" )
Function GetUserName( myPrompt )
Dim objIE
Set objIE = CreateObject( "InternetExplorer.Application" )
objIE.Navigate "about:blank"
objIE.Document.Title = "Password"
objIE.ToolBar = False
objIE.Resizable = False
objIE.StatusBar = False
objIE.Width = 320
objIE.Height = 180
With objIE.Document.ParentWindow.Screen
objIE.Left = (.AvailWidth - objIE.Width ) \ 2
objIE.Top = (.Availheight - objIE.Height) \ 2
End With
Do While objIE.Busy
WScript.Sleep 200
Loop
objIE.Document.Body.InnerHTML = "<DIV align=""center""><P>" & myPrompt _
& "</P>" & vbCrLf _
& "<P><INPUT TYPE=""password"" SIZE=""20"" " _
& "ID=""Password""></P>" & vbCrLf _
& "<P><INPUT TYPE=""hidden"" ID=""OK"" " _
& "NAME=""OK"" VALUE=""0"">" _
& "<INPUT TYPE=""submit"" VALUE="" OK "" " _
& "OnClick=""VBScript:OK.Value=1""></P></DIV>"
objIE.Visible = True
Do While objIE.Document.All.OK.Value = 0
WScript.Sleep 200
Loop
GetUserName = objIE.Document.All.Password.Value
' Close and release the object
objIE.Quit
Set objIE = Nothing
end function
strPw = GetPassword( "Please enter your password:" )
Function GetPassword( myPrompt )
Dim objIE1
Set objIE1 = CreateObject( "InternetExplorer.Application" )
objIE1.Navigate "about:blank"
objIE1.Document.Title = "Password"
objIE1.ToolBar = False
objIE1.Resizable = False
objIE1.StatusBar = False
objIE1.Width = 320
objIE1.Height = 180
With objIE1.Document.ParentWindow.Screen
objIE1.Left = (.AvailWidth - objIE1.Width ) \ 2
objIE1.Top = (.Availheight - objIE1.Height) \ 2
End With
Do While objIE1.Busy
WScript.Sleep 200
Loop
objIE1.Document.Body.InnerHTML = "<DIV align=""center""><P>" & myPrompt _
& "</P>" & vbCrLf _
& "<P><INPUT TYPE=""password"" SIZE=""20"" " _
& "ID=""Password""></P>" & vbCrLf _
& "<P><INPUT TYPE=""hidden"" ID=""OK"" " _
& "NAME=""OK"" VALUE=""0"">" _
& "<INPUT TYPE=""submit"" VALUE="" OK "" " _
& "OnClick=""VBScript:OK.Value=1""></P></DIV>"
objIE1.Visible = True
Do While objIE1.Document.All.OK.Value = 0
WScript.Sleep 200
Loop
GetPassword = objIE1.Document.All.Password.Value
' Close and release the object
objIE1.Quit
Set objIE1 = Nothing
net.MapNetworkDrive "G:", "\\Server\Gruppenlaufwerk\Gruppe\IT\", false, "AOxxxxTE\" & GetUserName , GetPassword
Er macht es nicht unter dem anderen Benutzername.
Was könnte der Fehler sein?
end function