Jump to content

Netzlaufwerk verbinden via Batchdatei (Abfrage von Benutzername und Passwort)


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,

Folgende Situation; ich habe einen Computer welchen ich bewusst nicht in die Domäne eingebunden habe. Nun möchte ich via einer Batch Datei vorgängig den Benutzernamen und Passwort abfragen. Im nächsten Schritt soll das Script das entsprechende Netzlaufwerk verbinden. Wie lässt sich dies realisieren? Kann mir jemand helfen!!??

Schön wäre natürlich, wenn das Ganze auch visuell ordentlich daher käme. Ich stelle mir vor, dass beim Aufruf des Scripts eine Art PopUp erscheinen würde, welches den Benutzernamen und das Passwort abfragt und erst bei richtiger Eingabe das Laufwerk verbinden würde. (Vielleicht sogar bei einem Fehler >>falsches Passwort od. falschen Benutzername ausgeben würde)

 

 

 

Vielen Dank für eure Hilfe!!!

 

 

Gruss Tea

Link zu diesem Kommentar

Der Rechner muß nicht in der Domäne sein, damit Du ihn per UNC-Pfad erreichen kannst. Einfach \\COMPUTER\Freigabe in Dein Anmeldeskript schreiben, dann kannst Du in der Shell nach Benutzernamen und Kennwort fragen. Um ungültige Daten kümmert sich Windows mit einer passenden Fehlermeldung. Grafischer Login per Popup fertig zum Download irgendwo ist mir nix bekannt, kann man aber sicher mit VBS, KiXtart und Co. basteln.

Link zu diesem Kommentar

Hallo zusammen,

vielen Dank erstmals für die Antwort. Da die PC's von diversen unterschiedlichen Personen benützt werden, darf das Laufwerk eines Benutzers nicht andauernd verbunden bleiben. Viel mehr soll sich der User sein persönliches Laufwerk verbinden können, wann er will und dieses solltes folglich nach dem Abmelden auch nicht mehr verbunden werden.

 

Ich stelle mir das ganze in der Art vor. Batchdatei ausführen - Benutzername u. Passwort eingeben - OK drücken das war's schon.

 

Thx Tea

Link zu diesem Kommentar

Hi,

 

wie wäre es denn wenn du anhand des Benutzernames ein Laufwerk verbindest ?

 

net use h: \\Server\Home\%username% /persistent:no

 

Verbindet dem Hans.Meier bei der Anmeldung das Laufwerk h: mit \\Server\Home\Hans.Meier

und trennt dieses wieder bei dem Abmelden. Den Ordner Hans.Meier hast du als Admin vorher

erstellt und nur dem Benutzer Zugriff darauf gegeben.

 

Eleganter kannst du das auch wenn ein ADS vorhanden ist mit dem Benutzerprofil regeln.

Link zu diesem Kommentar

Halt, vielleicht wurde etwas falsch verstanden oder ich habe mich unklar ausgedrückt. Die Benutzer loggen sich zu keinem Zeitpunkt ein! Vielmehr arbeiten alle auf derselben Oberfläche/Desktop. Ich möchte aber trotzdem, dass jeder Benutzer auf sein persönliches Laufwerk zugreifen kann.

 

Folgendes Script habe ich gefunden, es entspricht genau meinen Vorstellungen! Leider liefert dieses immer in Zeile 81 einen Fehler!

Kann jemand mal sich diesem widmen:confused::confused:

 

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

Link zu diesem Kommentar
Halt, vielleicht wurde etwas falsch verstanden oder ich habe mich unklar ausgedrückt. Die Benutzer loggen sich zu keinem Zeitpunkt ein! Vielmehr arbeiten alle auf derselben Oberfläche/Desktop. Ich möchte aber trotzdem, dass jeder Benutzer auf sein persönliches Laufwerk zugreifen kann.

 

Pack in eine Batch folgenden Aufruf:

 

net use \\server\share "password" /user:Domain\DerBenutzer
net use h: \\server\share /persistent:no

 

Lässt Du "password" weg müssen die Benutzer das Passwort eingeben.

Link zu diesem Kommentar

Hallo Sunny61,

In meinen Augen lösen deine beiden Zeilen mein Problem nicht. Da jeder User sein persönliches Laufwerk hat muss er zwangsläufig seinen Butzernamen und Passwort angeben.

 

Ich habe hier noch ein kleines Script gefunden, welches allemal ausreichen würde, jedoch wird irgendwie der Benutzername und/oder das Passwort nicht richtig übergeben. Ich kriege immer die Rückmeldung:

"Der angegebene Netzwerkpfad wurde von keinem Netzwerkdienstanbieter angenommen oder in der Art "Anmeldung fehlgeschlagen. Unbekannter Benutzername oder falsches Passwort"

 

Script:

Set objnet = CreateObject ("WScript.Network")

Set Network = WScript.CreateObject("WScript.Network")

Set objNetwork = CreateObject("WScript.Network")

 

Set fs = CreateObject("Scripting.filesystemobject")

UserName = InputBox("Benutzername eingeben","Benutzer") ' benutzername abfragen

If Username<>"" Then ' ohne benutzername ist weitermachen sinnlos

PWD = InputBox("Passwort eingeben","Passwort") ' Passwort abfragen

objnet.MapNetworkDrive "W:", "\\192.168.3x.xx\" & UserName ,, "domain\" & Username, "PWD"

end if

 

 

Thx Tea

Link zu diesem Kommentar

Es kommt folgendes heraus: domain\Benutzername PWD

 

Ich habe nun die Anführungszeichen "PWD" weggelassen und siehe da, es wird das richtige Passwort zurückgegeben.

Nun kommt wieder die Fehlermeldung: Der angegebene Netzwerkpfad wurde von keinem Netzwerkdienstanbieter angenommen.

 

Habe gegoogelt und finde bei Microsoft folgenden Hinweis: LoopbackCheck deaktivieren.

 

Bin gerade am testen. Oder hast du noch einen Ratschlag?

 

Vielen Dank auf alle Fälle

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