enjoyin
Goto Top

Net use und das Mounten von Netzwerkfreigaben mit USERNAME und PASSWORT

Moin moin,
ich habe ein Problem bei der Erstellung eines Batch-Files, wobei ich mir auch nicht 100%ig sicher bin, ob Windows das zulässt, was ich mir so vorstelle.

Ziel ist es, dass sich User bei uns im Schulungsraum mit dem Domänenbenutzer "schulung" anmelden und dort ein Batchfile ausführen, welches nach Abteilungskürzel, Windows-Benutzername und nach Passwort fragt.
Das Abteilungskürzel wird in der Variable %ABTEILUNG%, der Windows-Benutzername in %BENUTZERNAME% und das Passwort in %PASSWORT% gespeichert.
Wenn das Skript ausgeführt wird und das Abteilungskürzel, Benutzername und Passwort eingegeben wurde, wird im Skript verglichen und die Abteilungslaufwerke mit den eingegebenen User-Credentials verbunden, so die Theorie.
Dann wären die Laufwerke verbunden und es würden die NTFS-Rechte greifen und der Benutzer hätte die gleichen NTFS-Rechte auf den Freigaben wie an seinem normalen Arbeitsplatz wenn das eigentliche Login-Skript ausgeführt wird.


Das Batch-File sieht nun abgespeckt so aus:

echo off
rem ------------------------------------------
rem Login Script für Schulungsraum
rem ------------------------------------------
echo ---------------------------------------------------------------------------
echo Zum Verbinden der Abteilungslaufwerke geben Sie bitte
echo eines der folgenden Abteilungskuerzel ein:
echo ---------------------------------------------------------------------------
echo DV - PE - EK - RW - TD
echo ---------------------------------------------------------------------------
set /p ABTEILUNG=Bitte Kuerzel eingeben:

rem Benutzerdaten speichern
set /p BENUTZER=Bitte Windows-Benutzernamen eingeben:
set /p PASSWORT=Bitte Passwort eingeben:

rem ------------------------------------------
rem Variablen setzen
rem ------------------------------------------
SET FILESERVER=\\SV-FILE


net use
pause
rem Trenne Laufwerke
echo Trenne Laufwerke...
for %%a in (i j k l m n o p q r s t u v w x y z) do echo N | net use %%a: /delete
echo Trennen erfolgreich!
net use
pause
echo Verbinde Standardlaufwerke
rem Verbinde Standardlaufwerke
rem ------------------------------------------
rem Standardlaufwerkszuordnung X, P und W
rem ------------------------------------------
net use P: /delete
net use P: %FILESERVER%\projekte /persistent:no
net use X: /delete
net use X: %FILESERVER%\alle /persistent:no
net use W: /delete
net use W: %FILESERVER%\Anwendungen /persistent:no
echo Verbinden erfolgreich!

GOTO %ABTEILUNG%

:RW
rem ------------------------------------------
rem Laufwerke für RW zuordnen
rem ------------------------------------------
net use R: /delete
net use R: %FILESERVER%\rw %PASSWORT% /user:%BENUTZER% /persistent:no
net use S: /delete
net use S: %FILESERVER%\segmente %PASSWORT% /user:%BENUTZER% /persistent:no
net use T: /delete
net use T: %FILESERVER%\RABA %PASSWORT% /user:%BENUTZER% /persistent:no
GOTO ENDE

:EK
rem ------------------------------------------
rem Laufwerke für EK zuordnen
rem ------------------------------------------
net use K: /delete
net use K: %FILESERVER%\ek %PASSWORT% /user:%BENUTZER% /persistent:no
net use N: /delete
net use N: %FILESERVER%\kunden %PASSWORT% /user:%BENUTZER% /persistent:no
net use S: /delete
net use S: %FILESERVER%\segmente %PASSWORT% /user:%BENUTZER% /persistent:no
GOTO ENDE

Die Inhalte der Variablen werden auch richtig ausgegeben.

Ich bekomme diese Ausgabe bzw. Fehlermeldung:

Die Netzwerkverbindung konnte nicht gefunden werden.

Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 2250 eingeben.

Systemfehler 1219 aufgetreten.

Mehrfache Verbindungen zu einem Server oder einer freigegebenen Ressource von de
mselben Benutzer unter Verwendung mehrerer Benutzernamen sind nicht zulässig. Tr
ennen Sie alle früheren Verbindungen zu dem Server bzw. der freigegebenen Ressou
rce, und versuchen Sie es erneut.

Neue Verbindungen werden nicht gespeichert.



Status Lokal Remote Netzwerk


Microsoft Windows Network
OK P: \\192.9.200.64\projekte Microsoft Windows Network
OK W: \\192.9.200.64\Anwendungen
Microsoft Windows Network
OK X: \\192.9.200.64\alle Microsoft Windows Network
Der Befehl wurde erfolgreich ausgeführt.

Drücken Sie eine beliebige Taste . . .


Ich weiß, dass Windows die Mehrfachverbindung nicht zulässt, so habe ich in der nächsten Version meines Skriptes anstatt dem DNS-Namen, die IP als Fileserver hinterlegt.
Komisch ist, dass die Laufwerke P,W und X verbunden werden, obwohl dort nicht viel anders ist, denn Leserechte haben dort DOMÄNEN-BENUTZER.

Kann mir jemand dabei helfen? :\
Ist das überhaupt so möglich oder hat jemand eine bessere Idee?

Gruß

Content-ID: 180883

Url: https://administrator.de/contentid/180883

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

60730
60730 22.02.2012 um 14:32:02 Uhr
Goto Top
moin,

bei Problembatchen mit einem führenden €cho off und dann ohne Codetags werde ich schnell schroff...

rem ------------------------------------------
rem Login Script für Schulungsraum
rem ------------------------------------------
echo ---------------------------------------------------------------------------
echo Zum Verbinden der Abteilungslaufwerke geben Sie bitte
echo eines der folgenden Abteilungskuerzel ein:
echo ---------------------------------------------------------------------------
echo DV - PE - EK - RW - TD
echo ---------------------------------------------------------------------------
set /p ABTEILUNG=Bitte Kuerzel eingeben:
echo %ABTEILUNG% |findstr /i "DV - PE - EK - RW - TD" && goto user  
echo falsche Abteilung
goto hell

:user
rem Benutzerdaten speichern
rem set /p BENUTZER=Bitte Windows-Benutzernamen eingeben:
echo kennst du %username%
set /p PASSWORT=Bitte Passwort eingeben:

rem ------------------------------------------
rem Variablen setzen
rem ------------------------------------------
SET FILESERVER=\\SV-FILE


net use
pause
rem Trenne Laufwerke
echo Trenne Laufwerke...
for %%a in (i j k l m n o p q r s t u v w x y z) do if exist %%a\ net use %%a: /delete /yes
echo Trennen erfolgreich!
net use
pause
echo Verbinde Standardlaufwerke
rem Verbinde Standardlaufwerke
rem ------------------------------------------
rem Standardlaufwerkszuordnung X, P und W
rem ------------------------------------------
echo und warum soll nun nochmal ein Laufwerk Paul getrennt werden, wenn es oben bereits getrennt wurde?
net use P: /delete
net use P: %FILESERVER%\projekte /persistent:no
echo und warum soll nun nochmal ein Laufwerk Xantippe getrennt werden, wenn es oben bereits getrennt wurde?
net use X: /delete
net use X: %FILESERVER%\alle /persistent:no
echo und warum soll nun nochmal ein Laufwerk Willy getrennt werden, wenn es oben bereits getrennt wurde?
net use W: /delete
net use W: %FILESERVER%\Anwendungen /persistent:no
rem Verbinden erfolgreich!
if errorlevel=0 echo Verbinden (zumindestens des letzen Laufwerks) erfolgreich! 

GOTO %ABTEILUNG%

:RW
rem ------------------------------------------
rem Laufwerke für RW zuordnen
rem ------------------------------------------

echo und warum soll nun nochmal ein Laufwerk Pichard getrennt werden, wenn es oben bereits getrennt wurde?
echo weiteres Bugfixxen abgebrochen
net use R: /delete
net use R: %FILESERVER%\rw %PASSWORT% /user:%BENUTZER% /persistent:no
net use S: /delete
net use S: %FILESERVER%\segmente %PASSWORT% /user:%BENUTZER% /persistent:no
net use T: /delete
net use T: %FILESERVER%\RABA %PASSWORT% /user:%BENUTZER% /persistent:no
GOTO ENDE

:EK
rem ------------------------------------------
rem Laufwerke für EK zuordnen
rem ------------------------------------------
net use K: /delete
net use K: %FILESERVER%\ek %PASSWORT% /user:%BENUTZER% /persistent:no
net use N: /delete
net use N: %FILESERVER%\kunden %PASSWORT% /user:%BENUTZER% /persistent:no
net use S: /delete
net use S: %FILESERVER%\segmente %PASSWORT% /user:%BENUTZER% /persistent:no
GOTO ENDE


Ich weiß, dass Windows die Mehrfachverbindung nicht zulässt, so habe ich in der nächsten Version meines Skriptes anstatt dem DNS-Namen, die IP als Fileserver hinterlegt.
Ps: Das stimmt so nicht und bringen tuts auch nix.
Mehrfachverbindung unter unterschiedlichen Accounts == no
Ob via IP oder DNS == Jacke wie Hose
enjoyin
enjoyin 22.02.2012 um 15:15:12 Uhr
Goto Top
Zitat von @60730:
moin,

bei Problembatchen mit einem führenden €cho off und dann ohne Codetags werde ich schnell schroff...

Ich weiß, dass Windows die Mehrfachverbindung nicht zulässt, so habe ich in der nächsten Version meines
Skriptes anstatt dem DNS-Namen, die IP als Fileserver hinterlegt.
Ps: Das stimmt so nicht und bringen tuts auch nix.
>> Mehrfachverbindung unter unterschiedlichen Accounts == no
>> Ob via IP oder DNS == Jacke wie Hose


Also Du hast das Problem im Prinzip hier nochmal konkretisiert:

> echo ---------------------------------------------------------------------------
> set /p ABTEILUNG=Bitte Kuerzel eingeben:
> echo %ABTEILUNG% |findstr /i "DV - PE - EK - RW - TD" && goto user  
> echo falsche Abteilung
> goto hell
> 
> :user
> rem Benutzerdaten speichern
> rem set /p BENUTZER=Bitte Windows-Benutzernamen eingeben:
> echo kennst du %username%
> set /p PASSWORT=Bitte Passwort eingeben:
> 
>


Danke schon einmal für das Korrigieren, war nicht ganz durchdacht von mir ;)
Die Benutzer melden sich mit einem anonymen Domänen-Benutzer an, dem Benutzer "schulung", daher ist %username% hier fehl am Platz.
Es soll mit einem anonymen Domänen-Benutzer der Laufwerkszugriff mit Berechtigungen eines anderen Benutzers realisiert werden.
Mit ">> Mehrfachverbindung unter unterschiedlichen Accounts == no " meinst Du, dass meine Theorie nicht realisierbar sei, oder?
Die Frage ist dann aber, wieso er die ersten 3 Laufwerke verbunden hat.

Gruß
icsat
icsat 23.02.2012 um 10:47:42 Uhr
Goto Top
Hallo enjoyin,

soweit ich das auf den ersten Blick erfasse verbindest Du Dich (3 Laufwerke) mit dem User "schulung" auf Deinem "%FILESERVER%". Das funktioniert soweit. Gut.
In der Folge versuchst Du Dich mit dem gleichen "%FILESERVER%" unter Verwendung eines anderen Users ("%BENUTZER%") zu verbinden. Das funktioniert nicht mehr und Du bekommst die Fehlermeldung bezüglich der Mehrfachanmeldung, was in meinen Augen nachzuvollziehen ist.
Würdest Du die Verbindungen anders herum aufbauen würden vermutlich die ersten 6 funktionieren und dafür die letzten 3 nicht mehr.

Ich könnte mir hier zwei Lösungsansätze vorstellen:

Zum einen könntest Du auch dem "%BENUTZER%" entsprechende Zugriffsrechte auf den ersten 3 Freigaben einräumen und könntest Dich auch dort als "%BENUTZER%" verbinden und zum anderen könntest Du mal versuchen für %FILESERVER% bei den ersten 3 Freigaben ("schulung") den UNC-Pfad und bei den letzten 6 Freigaben ("%BENUTZER%") die IP zu verwenden. Bin mir nicht sicher ob der zweite Weg funktioniert, könnte aber sein.


Gruß icsAT