ahrensfd
Goto Top

Netlaufwerksbuchstaben in Batch abfragen

Hallo zusammen , ja ich bin ein "Neuer" face-smile

Was mache ich hier ? Ich suche Hilfe face-smile

Ich habe folgendes Problem ....unter Windows (Win 2000 , XP und Vita )

Ich will in einer Batch abfragen ob ein bestimmtes Netlaufwerk bereits gemountet ist und wenn ja mit welchem Laufwerksbuchstaben.
Sollte es noch nicht gemountet sein möchte ich einen freien Laufwerksbuchstaben ermittel und das Laufwerk mit diesem mounten.

bekomme aber die Auswertung der net use abrfrage nicht hin.

Habe da schon was für den ersten Teil hier im Forum gefunden kann es aber nicht für meine Zwecke

Das Luafwerk welches ich mounten will \\192.168.168.151\koppelfeld und hinter der Firewall mit NAT \\172.24.4.151\koppelfeld
Es muss mit USER und PASSWORD gemountet werden.

Ach , noch was .... ich kann ich eine "unsichtbare" Eingabe des PASSWORD´s in der Batch mach ?

@echo off & setlocal
set LW=
for /f %%a in ('fsutil fsinfo drives^|find ":"') do for /f "delims=\" %%i in ('fsutil fsinfo drivetype %%a^|find "Eingebaut"') do if exist %%i\kennung.dat set LW=%%i
if not defined LW echo Laufwerk nicht erkannt! & goto :eof
echo Laufwerk gefunden: %LW%

Aus diesem Beitrag

http://www.benutzer.de/Batchdatei_-_Abfrage_einer_bestimmten_USB-Platte ...


So viel Fragen ....sorry

Gruß

Dirk

Content-Key: 96819

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

Printed on: April 18, 2024 at 09:04 o'clock

Mitglied: 60730
60730 Sep 12, 2008 at 16:11:40 (UTC)
Goto Top
Servus und willkommen,

das sollte dir weiterhelfen.

net use |find "192.168.168.151\koppelfeld" >%temp%\temp.ini && goto end  
net use * \\192.168.168.151\koppelfeld passwort /user:domain\username
:end
if exist %temp%\temp.ini type %temp%\temp.ini
del %temp%\temp.ini

Gruß

Edit
Ach , noch was .... ich kann ich eine "unsichtbare" Eingabe des PASSWORD´s in der Batch mach ?
wie du meinen?
/Edit
Member: bastla
bastla Sep 12, 2008, updated at Oct 18, 2012 at 16:36:14 (UTC)
Goto Top
Hallo ahrensfd und willkommen im Forum, hallo TimoBeil!

Ich nehme an, die Zusatzfrage geht in diese Richtung ...

Grüße
bastla
Mitglied: 60730
60730 Sep 12, 2008 at 17:12:09 (UTC)
Goto Top
Servus Bastla,

ahhh so herum...

Alternativ zu deinem Vorschlag hätte ich da eine Idee, die aber wiederum nicht zu obigem Scriptschnippsel passt:

cmd "weigert" sich ja, wenn z.B Color ff gesetzt werden soll - "lustigerweise" gibt es diese (sinnvolle) Einschränkung bei einer .lnk nicht.
(Hintergrund & Schriftfarbe können den gleichen Wert haben)

Da aber in obigen Schnippsel - sowohl per Type das Laufwerk angezeigt werden soll/ich das mal so zusammengezimmert habe - als auch das Passwort im Klartext eingetragen ist - passt das nicht so ganz zusammen. Oder die .lnk wird per /start /wait aufgerufen?

Auch das Script ist eher fehlerhaft - wie ich grade herauslese..
"So" müsste es besser laufen...

net use |find "koppelfeld" >%temp%\temp.ini && goto end  
ping 192.168.168.151 -n 1 >nul && net use * \\192.168.168.151\koppelfeld passwort /user:domain\username
ping 172.24.4.151 -n 1 >nul && net use * \\172.24.4.151\koppelfeld passwort /user:domain\username
:end
net use |find "koppelfeld" >%temp%\temp.ini  
type %temp%\temp.ini
del %temp%\temp.ini

Gruß
Member: ahrensfd
ahrensfd Sep 12, 2008 at 17:46:49 (UTC)
Goto Top
Hallo ,

vielen Dank für den sehr netten Empfang hier und die Antworten.

Ich will mal etwas genauer beschreiben was ich machen will oder besser muss face-smile

Also ich will auf einem SMB Share die "BIN Files" für ein Windows Programm ablegen. Der Admin , als ich face-smile hat schreibrechte auf dem Share. Daher das Thema mit User und Passwort. Ich möchte das Passwort in der Batch als set /p abfragen , möchte aber das es beim eintippen nicht sichtbar ist.

Der "normale User" kann das SMB Share mounten ohen User und Passwort , kann aber eben nur lesen. Zum starten des Programms muss es ja nicht einmal gemountet sein. Ich muss es nur zur Instalation und für Updates der BIN´s mounten als Admin.

Den Batch Schnippsel werde ich jetzt mal testen .... und werde mich melden face-smile

Falls noch einer eine Idee zum Thema Passworteingabe hat ... immer her damit *grinssss*

Ich merke schon hier werden Sie geholfen

Gruß

Dirk


UPDATE face-smile

Hallo TimoBeil , das passt. Wie bekomme ich das hin das er das Laufwerk erst unmountet , weil ich ja nicht weiss mit welchem User es gemountet wurde. Die Batch muss auf ca. 20 Rechnern laufen und ich muss als Admin immer das Laufwerk mit schreibrechten mounten. Wenn das LAFwerk schon gemountet ist passiert ja nicht bei deinem Batch Schnippsel face-smile Tolles Wort

Gruß

Dirk
Mitglied: 60730
60730 Sep 12, 2008 at 18:35:23 (UTC)
Goto Top
Servus,

Die Batch muss auf ca. 20 Rechnern laufen und ich muss als Admin immer das Laufwerk mit schreibrechten mounten.

Nee - sorry - aber das ist der falsche Weg zum (richtigen?) Ziel.

Mach es genau andersherum, nicht das Laufwerk auf 20 Clients mounten, sondern von deinem Rechner eine Verbindung zu den 20 Clients (hintereinander) herstellen und "zentral" das kopieren anstoßen.

Der Tipp für die Suchfunktion lautet dann:
sysinternals Psexec
Member: ahrensfd
ahrensfd Sep 13, 2008 at 13:51:05 (UTC)
Goto Top
Hallo Timo

dieser Weg tut in diesem Fall leider nicht.

Aber mal der Reihe nach...

Ich habe eine Windows App. die sich im "Silent Mode" Installiert, dass beudeutet das ich der .exe alle benötigten Daten als Parameter anhänge. Jetzt gibte es einen Option die legt fest ob die BIN Datein kopiert werden oder nicht. Da die BIN Dateien auf dem SMB Share liegen werden bei einer USER Installation nur die lokal auf der Windowsmaschiene benötigten Dateien kopiert und das SMB Share als Link für die BIN´s gesetzt.

Soweit so Gut..

Als Admin muss ich einmal oder bei jedem Update die BIN´s auf Share schreiben, dazu brauche ich das Share gemountet mit R/W Rechten.

Warum der Ansatz mit Psexec nicht geht...

Einige der Rechner sthen hinter einer Firewall und haben aus dem Lan in dem mein Rachner steht keine NAT IP , das SMB Share ist aber von allen Windowsrechner per NAT oder ohne erreichbar.

Ich möchte die Batch an die betroffenen User per E-Mail senden um die Software zu installieren.
Die Setup.exe liegt auch auf dem SMB Share sowie die Config.ini die je nach Windowsversion auch noch in einen anderen Pfad muss.
Das habe ich aber schon hinbekommen ..... frage die Windowsversion ab und kopiere die Config entsprechend.

Da der Admin in meinem Fall faul ist face-smile
Möchte ich beide Installationen Admin und User in einer Batch machen.

So ich haffe jetzt ist einiges klarer...

Timo , noch eine Idee zum Thema unmount des Shares ?
Es kann ja sein das es bereits gemountet ist aber eben nur als R only.
Dein Batch Schnippsel tut so weit , aber eben das mit unmount bekomme ich nicht hin.
Ich weiss ja nicht mit welchen Laufwerksbuchstaben es gemountet ist , sonst wäre es leicht.

@all

Keiner eine Idee bezüglich nicht sichtbare Eingabe eine Passwort in einer Batch ?

Hoffe es hat noch einer eine Idee


Gruß

Dirk
Member: bastla
bastla Sep 13, 2008 at 21:29:56 (UTC)
Goto Top
Hallo ahrensfd!

Das Löschen des Laufwerksbuchstaben könntest Du so versuchen:
for /f "tokens=2" %%i in ('net use^|findstr "192.168.168.151\\koppelfeld"') do net use %%i /d /y>nul 2>nul  
for /f "tokens=2" %%i in ('net use^|findstr "172.24.4.151\\koppelfeld"') do net use %%i /d /y>nul 2>nul  
Grüße
bastla