gelöst Batch Anmeldescript Erweiterung Ablauf Domain PW

Mitglied: andykb

andykb (Level 1)

01.10.2016 um 12:38 Uhr, 745 Aufrufe, 7 Kommentare

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
Mitglied: andykb
01.10.2016 um 13:57 Uhr
Hallo habe nochmal getestet
so lässt sich der Befehl zwar ausführen, bekomme auch hier nur einen Wert weil "Letztes" nur einmal vorkommt. Aber da kann ich nicht mehr über Tokens filtern muss immer auf %%f zugreifen und bekomme dann die ganze Zeile ?
Mitglied: Friemler
01.10.2016 um 18:49 Uhr
Hallo Andy,

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
Mitglied: andykb
01.10.2016, aktualisiert um 19:18 Uhr
Hallo Friemler,
sowas kommt da raus

eigentlich kann man die Zeile so abfragen
net user /Domain %Username% | find "Kennwort läuft ab"
da gibt es aber Probleme weil es drei Worte sind, wenn ich "ab" eingebe bekomme ich zwei Zeilen

Mitglied: Friemler
LÖSUNG 01.10.2016, aktualisiert um 20:05 Uhr
Hallo Andy,

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:

  1. Batchscripte immer mit einem Editor schreiben, der in der Codierung OEM 850 speichern kann (z.B. Notepad++).
  2. Batchscripte zum Testen immer aus einer Konsole heraus starten und nicht per Doppelklick, damit man Fehlermeldungen auch lesen kann.
  3. 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 beim FIND-Befehl irgendwie verstümmelt aussieht.

Grüße
Friemler
Mitglied: Dani
01.10.2016 um 20:02 Uhr
Guten Abend Andy,
da du nicht schreibst, was du genau vor hast, hätte ich noch einen anderen Ansatz. Warum nicht das Ganze via Powershell auf dem Domain Controller abfragen, filtern und entsprechend eine Mail verschicken?!


Gruß,
Dani
Mitglied: andykb
01.10.2016 um 21:05 Uhr
Hi Dani
Ich will beim Logon ein Msg öffnen, wo drin steht wann das passwort abläuft
Da wir viele logon scripte haben will ich es nicht mit vb machen.

Ja ich weiss es gibt ein fertiges Script für die Powershell will aber keinen Mails versenden.
Bekomme diese zeile nicht raus mit letztem PW gesetzt geht es
Mitglied: andykb
01.10.2016, aktualisiert um 21:10 Uhr
Hallo Friemler,
danke für den Hinweis das muss ich mal testen
Titel: Batch Anmeldescript Erweiterung Ablauf Domain PW
Content-ID: 316696
Art des Inhalts: Frage
Ausgedruckt am: 13.07.2020 um 20:44:31 Uhr
URL: https://administrator.de/contentid/316696