Ich finde den Fehler in Batch nicht
Hallo Forum,
Ich brauche Hilfe denn ich habe eine Batch die nicht richtig läuft..
Die Passwort Kryptik mit *** habe ich übernommen .. die Funktioniert soweit
Das Programm prüft ob das Netzlauferk gemounted ist. Wenn ja dann Ende - Wenn nein dann user eingabe mit passwort
dann mounten..
Ich brauche Hilfe denn ich habe eine Batch die nicht richtig läuft..
Die Passwort Kryptik mit *** habe ich übernommen .. die Funktioniert soweit
Das Programm prüft ob das Netzlauferk gemounted ist. Wenn ja dann Ende - Wenn nein dann user eingabe mit passwort
dann mounten..
echo off
chcp 1252>nul
set ue=ü
set ae=ä
set oe=ö
set Uue=Ü
set Aae=Ä
set Ooe=Ö
set ss=ß
echo.
echo.
echo Netzlaufwerk Mounten
echo.
set quellverzeichnis= \\netzlaufwerk.. bla bla\
If not exist %quellverzeichnis% (
ECHO Laufwerk nicht gemounted. Es wird nun gemounted.
goto not_mounted
) Else (
ECHO Laufwerk ist bereits gemounted
timeout /t 5
goto ende
)
:not_mounted
setlocal
SET /P %userid%="User: "
call :ReadPassword passwort="Enter Password: "
net use %quellverzeichnis% %userid% %passwort% /persistent:no
ECHO Laufwerk ist nun bereit
REM timeout /t 5
IF ERRORLEVEL 1 goto ende
else echo Unbekannter User oder falsches Passwort
:ende
Exit
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5206654681
Url: https://administrator.de/contentid/5206654681
Ausgedruckt am: 25.11.2024 um 11:11 Uhr
11 Kommentare
Neuester Kommentar
hi,
kommt ja immer auf dein Umfeld an, wenn du einen DC hast, mach das über GPOs und Laufwerksmapping, ist viel smoother.
ansonsten, als ich noch mit Scripten gemappt habe --> einfach nach Zugehörigkeit geguckt (Gruppen) und grundsätzlich bei jedem start: net use Laufwerksbuchstabe %quellverzeichnis% /persistent:YES
weil wie du persistent:NO hast, würde imo bedeuten dass du das ohnehin jedes mal neu mappen musst und du dir so alles an abfragen sparen kannst ;)
ach so dein Script dürfte nicht laufen, weil du keine Laufwerksbuchstaben vergeben hast.
-->
greetz
cse
kommt ja immer auf dein Umfeld an, wenn du einen DC hast, mach das über GPOs und Laufwerksmapping, ist viel smoother.
ansonsten, als ich noch mit Scripten gemappt habe --> einfach nach Zugehörigkeit geguckt (Gruppen) und grundsätzlich bei jedem start: net use Laufwerksbuchstabe %quellverzeichnis% /persistent:YES
weil wie du persistent:NO hast, würde imo bedeuten dass du das ohnehin jedes mal neu mappen musst und du dir so alles an abfragen sparen kannst ;)
ach so dein Script dürfte nicht laufen, weil du keine Laufwerksbuchstaben vergeben hast.
net use %quellverzeichnis% %userid% %passwort% /persistent:no
-->
net use Z: %quellverzeichnis% %userid% %passwort% /persistent:no
greetz
cse
vielleicht stehe ich aufm schlauch aber fasse mal zusammen:
du willst ein Laufwerk verbinden wenn es nicht da ist, gleichzeitig prüfst du aber gar nicht auf das Laufwerk sondern auf einen unc Pfad. später verbindest du weiterhin kein Laufwerk ;)
das kann so nicht funktionieren.
spiel doch mal deine IF durch... du fragst nach Pfad \\serverxyz --> Resultat = ja gibt es --> kein Mapping.
ist dein Freund.
wenn du keine LW Buchstaben vergibst, kannst du auch nicht prüfen ob diese existieren.
und wie gesagt, schenke dir das doch indem du immer (bei jedem ausführen) den net use Befehl samt persistent:yes machst.
du willst ein Laufwerk verbinden wenn es nicht da ist, gleichzeitig prüfst du aber gar nicht auf das Laufwerk sondern auf einen unc Pfad. später verbindest du weiterhin kein Laufwerk ;)
das kann so nicht funktionieren.
spiel doch mal deine IF durch... du fragst nach Pfad \\serverxyz --> Resultat = ja gibt es --> kein Mapping.
IF EXIST C:\ (GOTO yes) ELSE (GOTO no)
wenn du keine LW Buchstaben vergibst, kannst du auch nicht prüfen ob diese existieren.
und wie gesagt, schenke dir das doch indem du immer (bei jedem ausführen) den net use Befehl samt persistent:yes machst.
steht doch da dass er sich einen Buchstaben aussucht, bekommst den höhchsten freien Buchstaben (ggf. Z). Das hilft dir halt nicht weiter weil das je nach PC unterschiedlich ausfallen kann, wenn Z schon in Verwendung ist. Du bekommst also so oder so einen Fehler/dein Script läuft nicht.
Lege also besser einen Buchstaben fest und prüfe auf das Laufwerk, auf einen Pfad bringt nichts. Das geht never.
und ja wenn "no" ist es temporär. Warum dann auf ein gemapptes Laufwerk prüfen, wenn es doch eh nur temp sein soll?
komme nicht so richtig mit was der use case ist ;)
Lege also besser einen Buchstaben fest und prüfe auf das Laufwerk, auf einen Pfad bringt nichts. Das geht never.
und ja wenn "no" ist es temporär. Warum dann auf ein gemapptes Laufwerk prüfen, wenn es doch eh nur temp sein soll?
komme nicht so richtig mit was der use case ist ;)
Öhm...wenn es doch sowieso den höchsten nicht verwendeten Laufwerksbuchstaben verwendet, wieso willst du da was abfragen und einen anderen Buchstaben verwenden? Das würde ja nur Sinn machen, wenn du das nicht temporär machen wolltest.
Ich weiß ehrlich nicht so genau, was du denn tatsächlich machen willst.
Ach ja.... +1 für GPO
Ich weiß ehrlich nicht so genau, was du denn tatsächlich machen willst.
Ach ja.... +1 für GPO