Mitgeben von Benutzername und Passwort bei UNC-Pfaden
Hallo zusammen,
da Ihr mit bisher immer super gut helfen konntet, wende ich mich mit diesem Problem auch an Euch.
Und da es für Euch schlauen Köpfe bestimmt ein super einfaches Problem ist hoffe ich, dass ich Euch damit nicht nerve -.-°
Ich habe zum ersten mal eine Batch geschrieben. *Yippi*
Hintergrund: Ich habe x UNC-Pfade. Diese soll ich nacheinander öffnen und die entsprechenden Verzeichnis darunter auf Dateien überprüfen.
Soweit so gut...
Teilweise klappt das auch. Nur bei manchen UNC-Pfaden kriege ich die Fehlermelung: ""Anmeldung fehlgeschlagen: unbekannter Benutzername oder falsches Kennwort"".
Ich bin nun seit 2 Tagen wie ein doofer am Googlen, finde aber wenn nur Info's zu "net use" oder ähnlichem. Aber nichts konkretes um jetzt bei einem UNC-Pfad ein Benutzername und Kennwort mit zu übergeben. Wenn ich das richtig verstehe, mounte ich ja mit "net use" ein Laufwerk. Aber ich möchte ja nur kurz drauf zugreifen und gut ist.
Bisher sieht meine Batch dementsprechend klein und beschämend aus :D
Inhalt meiner WatchDir.bat =)
@echo off
dir \\UNC-Pfad1 /O:G/S/B > C:\WatchDirFiles.txt
dir \\UNC-Pfad2 /O:G/S/B >> C:\WatchDirFiles.txt
dir \\UNC-Pfad3 /O:G/S/B >> C:\WatchDirFiles.txt
...
Meine Idee war, wie bei "net use":
@echo off
dir \\UNC-Pfad1 /benutzername /passwort /O:G/S/B > C:\WatchDirFiles.txt
Aber irgendwie war das wohl nicht die Lösung :'(
Ich hoffe Ihr könnt einem Neuling helfen.
Danke für Euch im voraus.
Gruß
Rankor aka. Johannes
da Ihr mit bisher immer super gut helfen konntet, wende ich mich mit diesem Problem auch an Euch.
Und da es für Euch schlauen Köpfe bestimmt ein super einfaches Problem ist hoffe ich, dass ich Euch damit nicht nerve -.-°
Ich habe zum ersten mal eine Batch geschrieben. *Yippi*
Hintergrund: Ich habe x UNC-Pfade. Diese soll ich nacheinander öffnen und die entsprechenden Verzeichnis darunter auf Dateien überprüfen.
Soweit so gut...
Teilweise klappt das auch. Nur bei manchen UNC-Pfaden kriege ich die Fehlermelung: ""Anmeldung fehlgeschlagen: unbekannter Benutzername oder falsches Kennwort"".
Ich bin nun seit 2 Tagen wie ein doofer am Googlen, finde aber wenn nur Info's zu "net use" oder ähnlichem. Aber nichts konkretes um jetzt bei einem UNC-Pfad ein Benutzername und Kennwort mit zu übergeben. Wenn ich das richtig verstehe, mounte ich ja mit "net use" ein Laufwerk. Aber ich möchte ja nur kurz drauf zugreifen und gut ist.
Bisher sieht meine Batch dementsprechend klein und beschämend aus :D
Inhalt meiner WatchDir.bat =)
@echo off
dir \\UNC-Pfad1 /O:G/S/B > C:\WatchDirFiles.txt
dir \\UNC-Pfad2 /O:G/S/B >> C:\WatchDirFiles.txt
dir \\UNC-Pfad3 /O:G/S/B >> C:\WatchDirFiles.txt
...
Meine Idee war, wie bei "net use":
@echo off
dir \\UNC-Pfad1 /benutzername /passwort /O:G/S/B > C:\WatchDirFiles.txt
Aber irgendwie war das wohl nicht die Lösung :'(
Ich hoffe Ihr könnt einem Neuling helfen.
Danke für Euch im voraus.
Gruß
Rankor aka. Johannes
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 122914
Url: https://administrator.de/forum/mitgeben-von-benutzername-und-passwort-bei-unc-pfaden-122914.html
Ausgedruckt am: 02.08.2025 um 07:08 Uhr
19 Kommentare
Neuester Kommentar

Servus,
das wird so nix...
denn wenn du die Usernamen und passwörter in eine Batch bauen mußt, dann ist das alles andere als sicher und sinnig.
Die Frage sollte sein, warum:
kommt denn die Abfrage nach dem password des users?
(keine Domain / keine rechte des Users auf die Freigabe)
Und dann noch ganz wichtig:
ist die Sahnehaube für eine fix & fertige saubere Batch - solange die den Status "alpha/beta" hat - fehlen dir die infos, die du zum deguggen brauchst.
Gruß
Ansonsten
das wird so nix...
denn wenn du die Usernamen und passwörter in eine Batch bauen mußt, dann ist das alles andere als sicher und sinnig.
Die Frage sollte sein, warum:
kommt denn die Abfrage nach dem password des users?
(keine Domain / keine rechte des Users auf die Freigabe)
Und dann noch ganz wichtig:
@echo off
ist die Sahnehaube für eine fix & fertige saubere Batch - solange die den Status "alpha/beta" hat - fehlen dir die infos, die du zum deguggen brauchst.
Gruß
Ansonsten
- net use
- pipen in datei
- net use /delete
Er hats dir ja im prinzip schon vorgegeben.
1. Mit net use den Pfad inem Laufwerksbuchstaben zuordnen, und dabei eben Benutzername und Passwort mit angeben.
2. Den inhalt des Laufwerks auflisten (mit dir) und die Ausgabe in eine Datei umleiten (das was du schon hast und das was er als "pipen" bezeichnet.
3. Die Zuordnung wieder aufheben.
Das ganze dann für jeden Pfad nach einander. Vielleicht ja auch als Schleife? Die Zuordnung und das Aufheben geht schnell und ist in der Hilfe zu net use (net use /?) erklärt.
Dennoch ist es, wie schon erwähnt wurde, ncith wirklich gut Passwörter in Klartext ind er Batch zu haben.
1. Mit net use den Pfad inem Laufwerksbuchstaben zuordnen, und dabei eben Benutzername und Passwort mit angeben.
2. Den inhalt des Laufwerks auflisten (mit dir) und die Ausgabe in eine Datei umleiten (das was du schon hast und das was er als "pipen" bezeichnet.
3. Die Zuordnung wieder aufheben.
Das ganze dann für jeden Pfad nach einander. Vielleicht ja auch als Schleife? Die Zuordnung und das Aufheben geht schnell und ist in der Hilfe zu net use (net use /?) erklärt.
Dennoch ist es, wie schon erwähnt wurde, ncith wirklich gut Passwörter in Klartext ind er Batch zu haben.

Servus,
dann vielleicht erstmal ganz einfach
UNC Pfad bedeutet nichts anderes, als "irgendeine" Maschine - meistens ein Server hat eine Freigabe.
Von daher - wäre ein Weg - nicht am Client zu suchen, sondern am "Server"
Oder andersherum:
Was genau (wobei genau) sehr genau meint - hast du denn vor?
Meistens fallen uns viel nettere Wege ein, um zum Ziel zu kommen - aber dazu müßten wir halt wissen - was am Ende das Ziel ist.
Gruß
Aber ich möchte es ja wirklich verstehen & lernen!!
dann vielleicht erstmal ganz einfach
UNC Pfad bedeutet nichts anderes, als "irgendeine" Maschine - meistens ein Server hat eine Freigabe.
Von daher - wäre ein Weg - nicht am Client zu suchen, sondern am "Server"
Oder andersherum:
Was genau (wobei genau) sehr genau meint - hast du denn vor?
Meistens fallen uns viel nettere Wege ein, um zum Ziel zu kommen - aber dazu müßten wir halt wissen - was am Ende das Ziel ist.
Gruß
vertel uns mal wie die Umgebung aussieht....
sonst muss ich meine Glaskugel putzen
also Server Windows 2k oder 2003.. ist fast egal aber Input tut gut... und welche Clients XP / NT ... Win3.11 oder das gute alte DOS.... ( geht auch noch )
und ja man kann direkt ein User und Passwort mitgeben, aber die große Frage wäre .... "was darf der User, der vorm PC sitzt ...??? ", wenn dieser User das darf sollte es überhaupt keine Probleme geben... net use, gucken, und net use /d..... fertig...
aber das ist halt so aus der Glaskugel
sonst muss ich meine Glaskugel putzen
also Server Windows 2k oder 2003.. ist fast egal aber Input tut gut... und welche Clients XP / NT ... Win3.11 oder das gute alte DOS.... ( geht auch noch )
und ja man kann direkt ein User und Passwort mitgeben, aber die große Frage wäre .... "was darf der User, der vorm PC sitzt ...??? ", wenn dieser User das darf sollte es überhaupt keine Probleme geben... net use, gucken, und net use /d..... fertig...
aber das ist halt so aus der Glaskugel
Hi Rankor,
was Du zuerst brauchst ist ein Nutzerkonto welches auf alle UNC-Pfade die Du lesen willst auch die Rechte hat dieses zu tun.
Normalerweise kann das das Konto des Domänenadministrators. Besser wäre es aber dafür ein eigenes Konto mit den entsprechenden Rechten anzulegen. Vielleicht auch eine Kopie des Domänenadministrators, muss aber nicht sein.
Dann schreibst Du Deine Batch. Deine "dir's" mögen vielleicht nicht elegant aussehen, aber sie reichen für's erste völlig.
Tipp: Schreibe nicht alle Ergebnisse in eine einzige Watchlist-Datei. Wenn die Anzahl der zu prüfenden Maschinen und Verzeichnisse zunimmt wird die Datei schnell unübersichtlich. Ich empfehle dir die Watchlist-Datei mit dem Namen der Maschinen zu versehen die Du prüfst. So behälst Du besser den Überblick.
Ausserdem solltest Du nicht alles unter "C" ablegen. Sondern vielleicht dafür eigene Verzeichnisse bauen.
Also z.B. so:
Bitte achte darauf das ich jetzt nur noch ein einzelnes Umlenkungszeichen (>) benutzt habe. Die Dateien werden also jeden Tag neu geschrieben.
Wenn Du auf der gleichen Maschine mehrere Pfade prüfen willst, musst Du das Skript umschreiben, z.B. so:
Wenn Du alles zusammen hast prüfst Du Dein Skript indem Du Dich mit der oben genannten "Kann-alles-lesen-Kennung" an einer Maschine Deiner Wahl anmeldest, ein Kommandozeilenfenster aufrufst und die Batch testest - ob, bzw. bis sie geht.
Wenn alles funktioniert lässt Du das Skript von der Maschine Deiner Wahl automatisch zweimal am Tag ausführen.
Das geht über das Programm "Geplante Tasks", oder englisch "Scheduled Tasks", welches überall vorhanden ist.
In diesem Programm kannst Du eine Aufgabe erstellen welche zu einem bestimmten Termin eine Datei, nämlich Deine Batch, ausführt.
Du kannst dieser Aufgabe auch einen Intervall mitgeben, z.B. alle 12 Stunden, und andere Dinge mehr. Notfalls erstellst Du dieselbe Aufgabe zweimal mit unterschiedlichen Ausführungszeiten.
Das beste aber ist das Du der Aufgabe ein Konto und ein Passwort (verschlüsselt) mitgeben kannst unter der sie arbeiten soll. Genau hier kommt die "Kann-alles-lesen-Kennung" zum Zuge.
Einmal als "Geplanter Tasks" eingetragen wird die Aufgabe sogar ausgeführt wenn niemand an der Maschine angemeldet ist. Die Maschine muss dafür nur online sein.
Weitere Hinweise sind:
Das war's erstmal. Viel Erfolg.
Destry
was Du zuerst brauchst ist ein Nutzerkonto welches auf alle UNC-Pfade die Du lesen willst auch die Rechte hat dieses zu tun.
Normalerweise kann das das Konto des Domänenadministrators. Besser wäre es aber dafür ein eigenes Konto mit den entsprechenden Rechten anzulegen. Vielleicht auch eine Kopie des Domänenadministrators, muss aber nicht sein.
Dann schreibst Du Deine Batch. Deine "dir's" mögen vielleicht nicht elegant aussehen, aber sie reichen für's erste völlig.
Tipp: Schreibe nicht alle Ergebnisse in eine einzige Watchlist-Datei. Wenn die Anzahl der zu prüfenden Maschinen und Verzeichnisse zunimmt wird die Datei schnell unübersichtlich. Ich empfehle dir die Watchlist-Datei mit dem Namen der Maschinen zu versehen die Du prüfst. So behälst Du besser den Überblick.
Ausserdem solltest Du nicht alles unter "C" ablegen. Sondern vielleicht dafür eigene Verzeichnisse bauen.
Also z.B. so:
dir \\UNC-Pfad1_Maschine1 /O:G/S/B > C:\Logdateien\WatchDirFiles\Maschine1_WatchDirFiles.txt
dir \\UNC-Pfad1_Maschine2 /O:G/S/B > C:\Logdateien\WatchDirFiles\Maschine2_WatchDirFiles.txt
dir \\UNC-Pfad1_Maschine3 /O:G/S/B > C:\Logdateien\WatchDirFiles\Maschine3_WatchDirFiles.txt
...
Bitte achte darauf das ich jetzt nur noch ein einzelnes Umlenkungszeichen (>) benutzt habe. Die Dateien werden also jeden Tag neu geschrieben.
Wenn Du auf der gleichen Maschine mehrere Pfade prüfen willst, musst Du das Skript umschreiben, z.B. so:
dir \\UNC-Pfad1_Maschine1 /O:G/S/B > C:\Logdateien\WatchDirFiles\Maschine1_WatchDirFiles.txt
dir \\UNC-Pfad2_Maschine1 /O:G/S/B >> C:\Logdateien\WatchDirFiles\Maschine1_WatchDirFiles.txt
dir \\UNC-Pfad1_Maschine2 /O:G/S/B > C:\Logdateien\WatchDirFiles\Maschine2_WatchDirFiles.txt
dir \\UNC-Pfad1_Maschine3 /O:G/S/B > C:\Logdateien\WatchDirFiles\Maschine3_WatchDirFiles.txt
...
Wenn Du alles zusammen hast prüfst Du Dein Skript indem Du Dich mit der oben genannten "Kann-alles-lesen-Kennung" an einer Maschine Deiner Wahl anmeldest, ein Kommandozeilenfenster aufrufst und die Batch testest - ob, bzw. bis sie geht.
Wenn alles funktioniert lässt Du das Skript von der Maschine Deiner Wahl automatisch zweimal am Tag ausführen.
Das geht über das Programm "Geplante Tasks", oder englisch "Scheduled Tasks", welches überall vorhanden ist.
In diesem Programm kannst Du eine Aufgabe erstellen welche zu einem bestimmten Termin eine Datei, nämlich Deine Batch, ausführt.
Du kannst dieser Aufgabe auch einen Intervall mitgeben, z.B. alle 12 Stunden, und andere Dinge mehr. Notfalls erstellst Du dieselbe Aufgabe zweimal mit unterschiedlichen Ausführungszeiten.
Das beste aber ist das Du der Aufgabe ein Konto und ein Passwort (verschlüsselt) mitgeben kannst unter der sie arbeiten soll. Genau hier kommt die "Kann-alles-lesen-Kennung" zum Zuge.
Einmal als "Geplanter Tasks" eingetragen wird die Aufgabe sogar ausgeführt wenn niemand an der Maschine angemeldet ist. Die Maschine muss dafür nur online sein.
Weitere Hinweise sind:
- Beachte das bei der "Kann-alles-lesen-Kennung" eventuell das Passwort abläuft. Falls ja muss es im geplanten Task angepasst werden.
- Versuche Teile der UNC-Pfade und der Watchlist-Namen in Variable zu stellen. Erste Anlaufstelle dafür ist der "set"-Befehl.
- Falls Du alles von Deiner Maschine ausführst, denke darüber nach alles von einem Server aus ausführen zu lassen und so auch anderen die Möglichkeit zu geben die Watchlist-Dateien zu prüfen.
Das war's erstmal. Viel Erfolg.
Destry

Zitat von @Rankor:
Huhu,
Danke Euch echt für Eure Hilfe!!
@timobeil
Also Ziel ist, dass ich nachher 2 mal am Tag die Batch ausführe und somit alle angegebenen UNC-Pfade auf liegengebliebene Dateien
überprüfe. Würden nämlich Dateien liegenbleiben, sprich nicht von einem Programm verarbeitet werden, würden uns
große Kosten entstehen. Deswegen soll ich eine zusätzliche "Überwachung" mit dieser Batch bieten.
Huhu,
Danke Euch echt für Eure Hilfe!!
@timobeil
Also Ziel ist, dass ich nachher 2 mal am Tag die Batch ausführe und somit alle angegebenen UNC-Pfade auf liegengebliebene Dateien
überprüfe. Würden nämlich Dateien liegenbleiben, sprich nicht von einem Programm verarbeitet werden, würden uns
große Kosten entstehen. Deswegen soll ich eine zusätzliche "Überwachung" mit dieser Batch bieten.
Servus,
eigentlich "reicht dir dann doch auf dem Server, der die Freigabe hält ein simples:
dir laufwerk\pfad\*.dateisuffix /s|find "Datei nicht gefunden" && Title alles weg || Title Achtung Dateien vorhanden"
Wobei der Befehl "Title" nur der Ansatz wäre und dort ein goto oder ähnliches weiterführen würde.
echo test der nix findet
dir %systemroot%\..\123.txt /s |find "Datei nicht gefunden" && echo wie auch
echo Test der was findet >%systemroot%\..\123.txt
dir %systemroot%\..\123.txt /s |find "1 Datei(en)" && echo eine ist jetzt da
del %systemroot%\..\123.txt
Das ganze läßt sich noch viel weiter spinnen und dient nur dem Lerneffekt.
Gruß

@timbeil
Auch bei einem Lerneffekt sollten die Beispiele schon möglichst korrekt sein.
Sieh dir doch deine Zeile 02 nochmal genau an.
Auch bei einem Lerneffekt sollten die Beispiele schon möglichst korrekt sein.
Sieh dir doch deine Zeile 02 nochmal genau an.

@petergrey..
jaja meine Augen sind auch schon müde - merci für den Tipp auf den Bock
Servus in einer Dosbos mal Find /? eingeben
wobei in den anderen Zeilen
"früher gabs noch kein Dir /p - da hat man immer dir |more gemacht...(was das gleiche ist)
Edit:
Ach ich depp :D mit |find suchst Du nach dem bestimmten suffix ne??
Nein - mit Find "suche/finde "ich" nach einem Inhalt
Aber da vorher per dir nach diesem bestimmten Suffx gesucht wurde 
Gruß
Rankor aka. Johannes
jaja meine Augen sind auch schon müde - merci für den Tipp auf den Bock
Servus in einer Dosbos mal Find /? eingeben
Dachte dieses " | " bedeutet etwas pipen.
Neinoder bin ich da jetzt falsch?
Ja> pipen
|zweiter Befehl
|zweiter Befehl
wobei in den anderen Zeilen
&& erfolgsfall und || fehlerfall bedeutet
"früher gabs noch kein Dir /p - da hat man immer dir |more gemacht...(was das gleiche ist)
Edit:
Ach ich depp :D mit |find suchst Du nach dem bestimmten suffix ne??
Nein - mit Find "suche/finde "ich" nach einem Inhalt
Gruß
Rankor aka. Johannes

Zitat von @60730:
Servus in einer Dosbos mal Find /? eingeben
Servus in einer Dosbos mal Find /? eingeben
Ich würde den Rat von TimoBeil einfach mal befolgen.
Hi,
der find-Befehl sucht nach einer Zeichenfolge in einer Datei. Die Suche nach der Datei ist nur ein "Abfallprodukt".
Wo in Deinem Befehl ist die Zeichenfolge nach der Du suchst?
Zum Suchen nach Dateien eignet sich der dir-Befehl oder eine if-exist-Abfrage.
Was Dein Nutzername/Passwort-Problem angeht solltest Du unbedingt mal die Berechtigungen prüfen.
Ausserdem haben ich Dir weiter oben erklärt wie Du das beheben kannst.
Bei Deinem Wissensstand würde ich Dir empfehlen zuerst mal Deine "einfache" Batch mit dem dir-Befehl ans Laufen zu bringen und nicht gleich wieder neue Fehlerquellen zu öffnen.
Wie gesagt, Deine Batch ist vielleicht nicht elegant aber funktional. Wenn Du noch das Zugriffsproblem löst kannst Du damit arbeiten.
Anschließend hast Du immer noch Zeit genug das Ding im Detail zu verbessern.
Und orientiere Dich dabei "noch" nicht an den "Ich-packe-alles-in-eine-Zeile-Befehl-Cracks". Das ist dann schon die höhere Kunst.
Denk dran: Erst gehen lernen, bevor Du rennen willst.
Gruss,
Destry
der find-Befehl sucht nach einer Zeichenfolge in einer Datei. Die Suche nach der Datei ist nur ein "Abfallprodukt".
Wo in Deinem Befehl ist die Zeichenfolge nach der Du suchst?
Zum Suchen nach Dateien eignet sich der dir-Befehl oder eine if-exist-Abfrage.
Was Dein Nutzername/Passwort-Problem angeht solltest Du unbedingt mal die Berechtigungen prüfen.
Ausserdem haben ich Dir weiter oben erklärt wie Du das beheben kannst.
Bei Deinem Wissensstand würde ich Dir empfehlen zuerst mal Deine "einfache" Batch mit dem dir-Befehl ans Laufen zu bringen und nicht gleich wieder neue Fehlerquellen zu öffnen.
Wie gesagt, Deine Batch ist vielleicht nicht elegant aber funktional. Wenn Du noch das Zugriffsproblem löst kannst Du damit arbeiten.
Anschließend hast Du immer noch Zeit genug das Ding im Detail zu verbessern.
Und orientiere Dich dabei "noch" nicht an den "Ich-packe-alles-in-eine-Zeile-Befehl-Cracks". Das ist dann schon die höhere Kunst.
Denk dran: Erst gehen lernen, bevor Du rennen willst.
Gruss,
Destry

Servus,
ich gebs zu - dir "lernbatch" ist schon für große Jungs gedacht....
gib mal
Und nochmal - lass die Batch auf dem Server laufen - der den anderen den UNC Pfad bereiststellt.....
Gruß
ich gebs zu - dir "lernbatch" ist schon für große Jungs gedacht....
gib mal
cd ..
in einer Dosbox ein - das gleiche ist mein%systemroot%\..\123.txt
ich hätte das auch banal hart verdrahten können mitc:\123.txt
Und nochmal - lass die Batch auf dem Server laufen - der den anderen den UNC Pfad bereiststellt.....
Gruß