Jump to content
Hippo

AccountExpirationDate mittels Kalender

Empfohlene Beiträge

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?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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 :-(

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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 von marcx2

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×