Netzlaufwerk mit Benutzer Abfrage und PW verbinden
Moin Zusammen,
ich habe folgendes Problem:
Die GFs müssen an einem Buchhaltungsarbeitsplatz die Zahlungen freigeben. Dies soll jeweils im Kontext des angemeldeten Users passieren. Die Schlüsselsdatei liegt aber auf dem persönlichen Laufwerk des Users, da dies im Programmpfad eingestellt ist. (Sfirm in einer Citrix Umgebung).
Man könnte das ganze ja ganz profan über zwei drei Batch-Scripte machen, aber das ist natürlich nicht so schick
und da die Passworteingaben völlig unsichtbar ablaufen, auch nicht Benutzer freundlich. Deswegen meine Idee: WSH Shell und da hänge ich nun
Deswegen: HILFE ...
Die Anforderungen:
1. Benutzerabfrage
2. Maskiertes Passwort
3. Es muss ein Laufwerk getrennt werden und ein anderes verbunden werden
Gefunden habe ich bereits:
Benutzername und Passwortabfrage mit dem IE
Das WSH Script für das Laufwerk verbinden sieht dann etwa so aus:
Netzlaufwerk verbinden
1. Parameter: Laufwerksbucstabe
2. Parameter: Zieladresse
3. Parameter: Wiederverbindung beim nächsten Systemstart (true/ false)
4. Parameter: User
5. Parameter: Password
Wie bekomme ich nun das Passwort und die Benutzerkennung in das WSH Script? Hier lassen mich meine geringen Programierkentnisse im Stich.
Wer kann mir helfen, oder hat eine bessere Lösung?
Gruß Nagus
ich habe folgendes Problem:
Die GFs müssen an einem Buchhaltungsarbeitsplatz die Zahlungen freigeben. Dies soll jeweils im Kontext des angemeldeten Users passieren. Die Schlüsselsdatei liegt aber auf dem persönlichen Laufwerk des Users, da dies im Programmpfad eingestellt ist. (Sfirm in einer Citrix Umgebung).
Man könnte das ganze ja ganz profan über zwei drei Batch-Scripte machen, aber das ist natürlich nicht so schick
und da die Passworteingaben völlig unsichtbar ablaufen, auch nicht Benutzer freundlich. Deswegen meine Idee: WSH Shell und da hänge ich nun
Deswegen: HILFE ...
Die Anforderungen:
1. Benutzerabfrage
2. Maskiertes Passwort
3. Es muss ein Laufwerk getrennt werden und ein anderes verbunden werden
Gefunden habe ich bereits:
Benutzername und Passwortabfrage mit dem IE
' This function uses Internet Explorer to
' create a dialog and prompt for a password.
Dim objIE
' Create an IE object (I guess you'll have to)
Set objIE = CreateObject( "InternetExplorer.Application" )
' specify the IE settings
objIE.Navigate "about:blank"
objIE.Document.Title = "Benutzer wechsel"
objIE.ToolBar = False
objIE.StatusBar = False
objIE.Resizable = False
objIE.Width = 400
objIE.Height = 300
' Center the dialog window on the screen (front and center!)
With objIE.Document.ParentWindow.Screen
objIE.Left = (.AvailWidth - objIE.Width ) \ 2
objIE.Top = (.Availheight - objIE.Height) \ 2
End With
' Insert the HTML code to prompt for your super secret password'
objIE.Document.Body.InnerHTML = "<DIV align='center'><P>" & myPrompt _
& "</P>" & vbCrLf _
& "<div align='center'><font color='red'><P>" & myMessage _
& "</P></font>" & vbCrLf _
& "<P><INPUT TYPE='input' SIZE= '20'" _
& "ID='Username'/></P>" & vbCrLf _^^
& "<P><INPUT TYPE='password' SIZE= '20'" _
& "ID='Password'></P>" & vbCrLf _
& "<P><INPUT TYPE='hidden' ID='OK'" _
& "NAME='OK' VALUE='0'/></p>" _
& "<INPUT TYPE='submit' VALUE='OK'" _
& "OnClick='VBScript:OK.Value=1'/></P></DIV>"
' Make the window visible (If you must *sigh*)
objIE.Visible = True
' Wait till the OK button has been clicked (uh huh...)
Do While 0 = objIE.Document.All.OK.Value
Wscript.Sleep 250
Loop
' Read the password from the dialog window (evil thoughts on this method)
getUsername = objIE.Document.All.Username.Value
getPassword = objIE.Document.All.Password.Value
' Close and release the object
objIE.Quit
Set objIE = Nothing
Das WSH Script für das Laufwerk verbinden sieht dann etwa so aus:
Netzlaufwerk verbinden
Set wn = WScript.CreateObject("WScript.Network")
'erst trennen
wn.RemoveNetworkDrive "U:", True, True
'dann mappen
wn.MapNetworkDrive "U:", "\\192.168.2.5\Username", False, "Username", "Password"
msgbox("Done.")
1. Parameter: Laufwerksbucstabe
2. Parameter: Zieladresse
3. Parameter: Wiederverbindung beim nächsten Systemstart (true/ false)
4. Parameter: User
5. Parameter: Password
Wie bekomme ich nun das Passwort und die Benutzerkennung in das WSH Script? Hier lassen mich meine geringen Programierkentnisse im Stich.
Wer kann mir helfen, oder hat eine bessere Lösung?
Gruß Nagus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 149338
Url: https://administrator.de/forum/netzlaufwerk-mit-benutzer-abfrage-und-pw-verbinden-149338.html
Ausgedruckt am: 03.04.2025 um 20:04 Uhr
7 Kommentare
Neuester Kommentar
Hallo Nagus!
Wenn beides bereits funktioniert, könnte der letzte Teil des Scripts (ungetestet) einfach so aussehen:
Grüße
bastla
P.S.: Scripts bitte als "" formatiert posten ...
Wenn beides bereits funktioniert, könnte der letzte Teil des Scripts (ungetestet) einfach so aussehen:
' Read the password from the dialog window (evil thoughts on this method)
getUsername = objIE.Document.All.Username.Value
getPassword = objIE.Document.All.Password.Value
Set wn = WScript.CreateObject("WScript.Network")
wn.MapNetworkDrive "t:", "\\192.168.2.5\geheim", False, getUsername, getPassword
' Close and release the object
objIE.Quit
Set objIE = Nothing
msgbox "Done."
bastla
P.S.: Scripts bitte als "" formatiert posten ...
Hallo Nagus!
Gemeint war:
Das gesamte Script ist VBS - HTML wird nur, wie Du schon angemerkt hast, zur Steuerung des IE verwendet; die Kontrolle hat aber weiterhin VBS ...
Grüße
bastla
Gemeint war:
' This function uses Internet Explorer to
' create a dialog and prompt for a password.
Dim objIE
' Create an IE object (I guess you'll have to)
Set objIE = CreateObject( "InternetExplorer.Application" )
' specify the IE settings
objIE.Navigate "about:blank"
objIE.Document.Title = "Benutzer wechsel"
objIE.ToolBar = False
objIE.StatusBar = False
objIE.Resizable = False
objIE.Width = 400
objIE.Height = 300
' Center the dialog window on the screen (front and center!)
With objIE.Document.ParentWindow.Screen
objIE.Left = (.AvailWidth - objIE.Width ) \ 2
objIE.Top = (.Availheight - objIE.Height) \ 2
End With
' Insert the HTML code to prompt for your super secret password'
objIE.Document.Body.InnerHTML = "<DIV align='center'><P>" & myPrompt _
& "</P>" & vbCrLf _
& "<div align='center'><font color='red'><P>" & myMessage _
& "</P></font>" & vbCrLf _
& "<P><INPUT TYPE='input' SIZE= '20'" _
& "ID='Username'/></P>" & vbCrLf _^^
& "<P><INPUT TYPE='password' SIZE= '20'" _
& "ID='Password'></P>" & vbCrLf _
& "<P><INPUT TYPE='hidden' ID='OK'" _
& "NAME='OK' VALUE='0'/></p>" _
& "<INPUT TYPE='submit' VALUE='OK'" _
& "OnClick='VBScript:OK.Value=1'/></P></DIV>"
' Make the window visible (If you must *sigh*)
objIE.Visible = True
' Wait till the OK button has been clicked (uh huh...)
Do While 0 = objIE.Document.All.OK.Value
Wscript.Sleep 250
Loop
' Read the password from the dialog window (evil thoughts on this method)
getUsername = objIE.Document.All.Username.Value
getPassword = objIE.Document.All.Password.Value
Set wn = WScript.CreateObject("WScript.Network")
wn.MapNetworkDrive "t:", "\\192.168.2.5\geheim", False, getUsername, getPassword
' Close and release the object
objIE.Quit
Set objIE = Nothing
msgbox "Done."
Grüße
bastla
Hallo Nagus!
Ich weiß zwar nicht, weshalb Du unbedingt an die Variable "getUsername" vorne und hinten genau nix anfügen möchtest, aber zur Not ginge es auch mit
Ich bin etwas sparsamer veranlagt und würde nur
schreiben ...
Die zweite Zeile würde bei mir so aussehen:
Grüße
bastla
Ich weiß zwar nicht, weshalb Du unbedingt an die Variable "getUsername" vorne und hinten genau nix anfügen möchtest, aber zur Not ginge es auch mit
msgbox("" & getUsername &"")
msgbox getUsername
Die zweite Zeile würde bei mir so aussehen:
strUsrDom = "DOM\" & getUsername
bastla