4.4k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von masterofhardness Mitglied (139 Punkte)
Hallo zusammen!

Ich lasse in einem Script mit
net use * \\server\Freigabe /User:Benutzername
ein Netzlaufwerk verbinden. Da ich im Vorfeld nicht weiß, welcher Laufwerksbuchstabe bei dem betreffenden User noch frei ist, kann ich keinen festen laufwerksbuchstaben vorgeben.

Wie kann ich denn nun ermitteln, welcher Laufwerksbuchstabe verwendet worden ist?

Hintergrund: Ich möchte dem DAU eine Meldung geben die ihm sagt, welches Netzlaufwerk verbunden wurde.

5 Antworten

0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
NET USE zeigt dir doch schon an, welches Laufwerk es dann genommen hat:
net use * \\server\Freigabe /User:Benutzername
pause
0 Punkte
Beantwortet von masterofhardness Mitglied (139 Punkte)
Stimmt, hilft mir aber nicht so richtig weiter. Ich brauche das im weitern Script noch für diverse andere Befehle. Die Meldung, die ich dem DAU ausgeben möchte ist nur einer davon.

Mir wäre geholfen, wenn ich die gesamte Ausgabe des net use in eine Variable umleiten könnte, da ließe sich dann der LW-Buchstabe herauschirugisieren.
0 Punkte
Beantwortet von massaraksch Experte (3.1k Punkte)
Sieht etws umständlich aus, aber sollte funktionieren:
for /f "Tokens=1,2" %%i in ('net use * \\Server\Freigabe ^| find /i "Laufwerk"') do @set LASTLW=%%j
echo Laufwerk %LASTLW% wurde soeben verbunden.
Wie man sieht, enthält die Variable LASTLW den Laufwerksbuchstaben.

mfg, Massaraksch
0 Punkte
Beantwortet von massaraksch Experte (3.1k Punkte)
"herauschirurgisieren" triffts recht gut ;o)

mfg, Massaraksch
0 Punkte
Beantwortet von massaraksch Experte (3.1k Punkte)
Warum nimmst du eigentlich

net use * \\server\Freigabe /User:Benutzername ?

Ohne das "/User:Benutzername" nimmts doch eh den aktuellen angemeldeten User...

mfg, Massaraksch
...