Zum Inhalt springen

merlin20302

Mitglieder
  • Gesamte Inhalte

    3
  • Benutzer seit

  • Letzter Besuch

Beiträge von merlin20302

  1. Hallo,

    ich arbeite seit ein Paar tagen an einem Skript in PowerShell(kompletter Neuling) welches das Ablaufdatum der Passwörter(Windows) mit dem momentanen Datum vergleicht.

    Ich kann es jedoch nicht starten, da jedes mal folgende Fehlermeldung kommt:

     

     

     Fehler beim Aufrufen der Methode, da [System.DateTime] keine Methode mit dem Namen "substring" enthält.
    In C:\Users\MHE\Desktop\Unbenannt1.ps1:12 Zeichen:1
    + $datum = $datum.substring(0,10)
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
        + FullyQualifiedErrorId : MethodNotFound

     

     

    Und das auch bei der Funktion Split.

    Da ich Komplett neu bin habe ich keine Idee wie ich das fixen kann.

    Hier Das Programm:

     

     

    net user $env:username /DOMAIN | findstr /C:"Kennwort l" > $env:temp\expiry.txt
    # Ablaufdatum wird Aus Net user ausgelesen

    $ablaufdatum = (Get-Content $env:temp\expiry.txt)
    $ablaufdatum = $ablaufdatum.substring(36,10)
    $ablaufdatumtag = [int]$ablaufdatum.split(".")[0]
    $ablaufdatummonat = [int]$ablaufdatum.split(".")[1]
    $ablaufdatumjahr = [int]$ablaufdatum.split(".")[2]
    #Das extrahierte datum wird zurechtgeschnitten, aufgeteilt und in integer gewandelt

    $datum = Get-date -Format $datum
    $datum = $datum.substring(0,10)
    $datumtag = [int]$datum.split(".")[0]
    $datummonat = [int]$datum.split(".")[1]
    $datumjahr = [int]$datum.split(".")[2]
    #Das Momentane Datum wird zurechtgeschnitten, aufgeteilt und in integer gewandelt

    if($datumjahr -eq $ablaufdatumjahr)
    #Hier Wird nach dem Jahr geprüft
    {
        if($datummonat -ge $ablaufdatummonat)
        #Hier Wird nach dem Monat Geprüft
        {
            if($datumtag -ge $ablaufdatumtag)
            #Hier Wird nach dem Tag Geprüft
            {
                msg $env:username Passwort muss Zurückgesetzt werden
            }
            elseif($datumtag + 5  -eq $ablaufdatumtag)
            #Erinnerung 5 Tage vor den Ablaufdatum
            {
                if($datumtag -lt $ablaufdatumtag)
                {
                    msg $env:username Passwort muss Zurückgesetzt werden
                }
            }
        }

     

     

    }

    {
        if($datummonat + 5 -ge $ablaufdatummonat)
        {
            msg $env:username Passwort muss Zurückgesetzt werden
        }
        else
        {
            Exit 0
        }
    }

     

    Über Hilfe würde ich mich sehr freuen!!

    Danke im Vorraus,

    Merlin

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...