Batch Anmeldescript Erweiterung Ablauf Domain PW
Hallo zusammen,
ich komme hier nicht weiter eigentlich möchte ich net user /domain | find "Kennwort läuft ab"
in die unten angegebene Abfrage bekommen, problem ist hier wohl auch das es 3 Wörter sind
Hiermit bekomme ich das richtige Token, 12. Zeile ist das Ablaufdatum da kommt aber der ganze Rest auch und kann es nicht in einer Variable speichern
Im Idealfall würde ich gern %%i (Ablaufdatum) in einer Variable Speichern
Wollte sowas in der Art
nutze ich die | ohne ^ kommt ein Fehler mit kommt nix
dann hätte ich das Datum könnte es mit Date vergleichen und im Anmelde Script Meldungen anzeigen.
Alternativ wäre mir die Ausgabe der ersten Zeile in dem Fall Zeile 12 aber auch das bekomme das so nicht hin
Vielleicht kann mir da jemand von den Fachleuten hier einwenig helfen, Danke
Andy
ich komme hier nicht weiter eigentlich möchte ich net user /domain | find "Kennwort läuft ab"
in die unten angegebene Abfrage bekommen, problem ist hier wohl auch das es 3 Wörter sind
Hiermit bekomme ich das richtige Token, 12. Zeile ist das Ablaufdatum da kommt aber der ganze Rest auch und kann es nicht in einer Variable speichern
for /f "skip=11 tokens=1,2,3,4" %%f in ('net user %username% /domain') do @echo %%f %%g %%h %%i
Im Idealfall würde ich gern %%i (Ablaufdatum) in einer Variable Speichern
Wollte sowas in der Art
for /f "skip=11 tokens=1,2,3,4" %%f in ('net user %username% /domain ^| find "Kennwort läuft ab" ') do pw=%%i
dann hätte ich das Datum könnte es mit Date vergleichen und im Anmelde Script Meldungen anzeigen.
Alternativ wäre mir die Ausgabe der ersten Zeile in dem Fall Zeile 12 aber auch das bekomme das so nicht hin
Vielleicht kann mir da jemand von den Fachleuten hier einwenig helfen, Danke
Andy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 316696
Url: https://administrator.de/forum/batch-anmeldescript-erweiterung-ablauf-domain-pw-316696.html
Ausgedruckt am: 29.05.2025 um 04:05 Uhr
7 Kommentare
Neuester Kommentar
Hallo Andy,
mein Rechner ist nicht Mitglied einer Domäne, ich kann deshalb die Ausgabe des Befehls
Alternativ kannst Du auch mal einen Blick in mein Tutorial zur FOR-Schleife werfen.
Grüße
Friemler
mein Rechner ist nicht Mitglied einer Domäne, ich kann deshalb die Ausgabe des Befehls
net user /domain
nicht reproduzieren. Poste doch mal die Ausgaben für alle möglicherweise auftretenden Fälle.Alternativ kannst Du auch mal einen Blick in mein Tutorial zur FOR-Schleife werfen.
Grüße
Friemler
Hallo Andy,
der
Der
Dein Problem liegt wahrscheinlich darin, dass Du den Quelltext Deines Batchscripts mit der Zeichen-Codierung ANSI abgespeichert hast und dadurch Dein Suchbegriff
Grundregeln:
Grüße
Friemler
der
FIND
-Befehl betrachtet den angegebenen Suchbegriff immer als Einheit, auch wenn er Leerzeichen enthält, und sucht somit buchstabengetreu.Der
FINDSTR
-Befehel betrachtet durch Leerzeichen getrennte Worte als Liste von Suchbegriffen, außer man verwendet die Optionen /L
oder /C:"Suchbgriff mit Leerzeichen"
, wobei sich /C:"..."
auch mit /R
kombinieren lässt.Dein Problem liegt wahrscheinlich darin, dass Du den Quelltext Deines Batchscripts mit der Zeichen-Codierung ANSI abgespeichert hast und dadurch Dein Suchbegriff
Kennwort läuft ab
in der Ausgabe von net user
(ist in OEM 850 codiert) nicht gefunden wird - das Problem ist das ä
in läuft
.Grundregeln:
- Batchscripte immer mit einem Editor schreiben, der in der Codierung OEM 850 speichern kann (z.B. Notepad++).
- Batchscripte zum Testen immer aus einer Konsole heraus starten und nicht per Doppelklick, damit man Fehlermeldungen auch lesen kann.
- Wenn das Script nicht so will wie es soll,
echo off
entfernen und die dann erscheinenden Ausgaben genau analysieren. Da hättest Du dann schon gesehen, dass der Suchbegriff beimFIND
-Befehl irgendwie verstümmelt aussieht.
Grüße
Friemler