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

Geschrieben

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

Geschrieben

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.

Geschrieben

Hi TeaRex,

 

soll das Netzlaufwerk dauerhaft vorhanden sein? Beim Verbinden von Netzlaufwerken über die GUI kannst du doch Anmeldeinformationen mitgeben, speichern und einstellen, dass das Netzlaufwerk automatisch beim Start verbunden wird?

 

Ansonsten fällt mir noch ein, die Batch mit "Ausführen als..." zu starten

 

Gruss

Geschrieben

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

Geschrieben

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.

Geschrieben

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

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

Geschrieben

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

Geschrieben

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.

 

Das was möchtest macht man so nicht. Jeder Benutzer sollte seinen eigenen Login und sein eigenes Profil haben. Dann kannst Du das alles sparen.

Geschrieben

Ist mir eigentlich auch so klar, aber dies ist eine spezielle Situation und ich muss das Problem lösen, ich möchte jedoch die Computer definitiv nicht in die Domäne einbinden. Irgendwie muss man doch dieses Problem in den Griff kriegen, insofern das angehängte Script genau meinen Vorstellungen entspricht.

Geschrieben

hallo,

ergänz mal eine Zeile:

 

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

wscript.echo "domain\" & Username, "PWD"

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

 

so kann die Übergabe "domain- Username - PWD" ned ganz stimmen

 

cu

blub

Geschrieben

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

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