Hippo 11 Geschrieben 17. November 2017 Melden Teilen Geschrieben 17. November 2017 Hallo, ich habe mir ein kleines Powershell Script zusammengebastelt, das mir einen AD-Benutzer anlegt. Um ein Kontoablaufdatum festzulegen, benutze ich das Objekt "System.Windows.Forms.MonthCalendar". Der Kalender erscheint, ich markiere ein Datum und schreibe das Datum in eine Variable (&Datum). Der Inhalt von $Datum ist z.B. 01.01.2018 00:00:00 (Write-Host $Datum) Zum Anlegen eines neuen Benutzers benutze ich New-ADUser mit dem Parameter -AccountExpirationDate $Datum Schaue ich mir jetzt das Ablaufdatum des Benutzers mit Active Directory-Benutzer und -Computer an, dann ist es immer ein Tag vor dem eingegeben Kalenderdatum, in dem Beispiel der 31.12.2017. Hat jemand eine Idee woran das liegen kann? Zitieren Link zu diesem Kommentar
marcx2 10 Geschrieben 17. November 2017 Melden Teilen Geschrieben 17. November 2017 Hi, passiert das auch wenn du das Datum manuell übergibst? Oder übergeb doch mal nur das Datum, ohne Uhrzeit? Kannst das Datum ja kürzen mit z.B. (Get-date).ToShortDateString() Grüße Zitieren Link zu diesem Kommentar
Hippo 11 Geschrieben 17. November 2017 Autor Melden Teilen Geschrieben 17. November 2017 Das Kürzen bringt auch keine Verbesserung -AccountExpirationDate $($datum.ToShortDateString()). Habe gerade festgestellt, dass wenn ich einen Benutzer mit -AccountExpirationDate 01.01.2018 anlege, dann sehe ich unter Active Directory-Benutzer und -Computer auch den 31.12.2017. Vielleicht ist das einfach so :-( Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 17. November 2017 Melden Teilen Geschrieben 17. November 2017 Was passiert wenn du das Datum mit einer Uhrzeit > 0:00 Uhr setzt? z.B. get-date "1.1.2018 1:00" Zitieren Link zu diesem Kommentar
Hippo 11 Geschrieben 17. November 2017 Autor Melden Teilen Geschrieben 17. November 2017 Das ist ja wie mein erster Versuch. Dort habe ich ja Datum und Uhrzeit übergeben. 01.01.2018 00:00:00. Zitieren Link zu diesem Kommentar
marcx2 10 Geschrieben 17. November 2017 Melden Teilen Geschrieben 17. November 2017 (bearbeitet) Und wenn du als Ex. Date den 02.01 angibst, wird da der 01.01 draus? oder übergeb das ganze hinten an Set-ADAccountExpiration -DateTime (hab das aber noch nie versucht) ! bearbeitet 17. November 2017 von marcx2 Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 17. November 2017 Melden Teilen Geschrieben 17. November 2017 Das ist ja wie mein erster Versuch. Dort habe ich ja Datum und Uhrzeit übergeben. 01.01.2018 00:00:00. Hast du dann 00:00 oder 1:00 übergeben? Oder evtl. noch höher. 12:00 Zitieren Link zu diesem Kommentar
marcx2 10 Geschrieben 17. November 2017 Melden Teilen Geschrieben 17. November 2017 Wenn keine Uhrzeit angegeben wird, dann "assumed" Powershell 12:00Uhr mittags lokale Zeit Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 17. November 2017 Melden Teilen Geschrieben 17. November 2017 Nein. 0 Uhr bzw. 24 Uhr: get-date "1.1.18" |fl * DisplayHint : DateTime DateTime : Montag, 1. Januar 2018 00:00:00 Date : 01.01.2018 00:00:00 [...] TimeOfDay : 00:00:00 Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 18. November 2017 Melden Teilen Geschrieben 18. November 2017 Als erstes muss man sich das Feld mit seiner Eigenschaft etwas genauer ansehen, bevor versucht wird Daten zu übergeben. [ Attribute accountExpires ] https://msdn.microsoft.com/en-us/library/cc221084.aspx Dann stellt man fest, das es dieses Feld das Format "FileTime" benutzt. In dieses Format sollten die Daten vorher konvertiert werden. $Date = [DateTime]::new(2017,12,26,23,59,00) $Date.ToFileTime() Das Ergebnis kannst du dann übergeben. 26.12.2017 um 23:59:00 Zitieren Link zu diesem Kommentar
Hippo 11 Geschrieben 20. November 2017 Autor Melden Teilen Geschrieben 20. November 2017 Hallo MurdocX, danke für die Hilfe. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.