Kuddel071089 9 Geschrieben 1. März 2017 Melden Geschrieben 1. März 2017 Hallo zusammen, bei der Einrichtung eines Users wird per GUI Kalender ein Ablaufdatum für externe User gewählt. Z.B. 31.03.2017. Wenn das Einrichtungskript jetzt das Ablaufdatum des AD-User setzt, läuft der User am Anfang des Tages (31.03.2017 00:00 Uhr) und nicht am Ende des Tages (31.03.2017 23:59 Uhr) aus. Daher müsste man auf das anegebene Datum immer +1 Tag rechnen. Ich habe es erst so versucht #Datum aufsplitten $tag = $($ablaufdatum_projektuser.substring(0,2)) $monat = $($ablaufdatum_projektuser.substring(3,2)) $jahr = $($ablaufdatum_projektuser.substring(6,4)) #Einen Tag hinzufügen, damit der Account korrekt abläuft $tag = [INT]$tag +1 #Neues Datum zusammensetzen $ablaufdatum_projektuser = "$tag"+"/"+"$monat"+"/"+"$jahr" #Ablaufdatum setzen Set-ADAccountExpiration $username $ablaufdatum_projektuser -Confirm:$false} Dieser Versucht klappt aber nur bis zum vorletzen Tag des jeweiligen Monats. Daher müsste man das irgendwie mit einer Datums-Funktion (AddDays) o.Ä. machen. Jemand ein Idee für mich? Schon einmal vielen Dank Zitieren
Dukel 461 Geschrieben 1. März 2017 Melden Geschrieben 1. März 2017 PS C:\Users\user> $datum = Get-Date 31.03.2017 PS C:\Users\user> $datum.AddDays(1) Samstag, 1. April 2017 00:00:00 Zitieren
testperson 1.761 Geschrieben 1. März 2017 Melden Geschrieben 1. März 2017 Hi,also wenn ich ein Ablaufdatum in der GUI mit 31.03.2017 setze meldet mir die PowerShell mit "Get-ADUser test -Properties * | fl AccountExpirationDate": "AccountExpirationDate : 01.04.2017 00:00:00". Oder auch auf die Schnelle zusammen geschustert: Get-ADUser test -Properties samAccountName, AccountExpirationDate | %{ Set-ADAccountExpiration -Identity $_.samAccountName -DateTime ($_.AccountExpirationDate).AddDays(1) } Gruß Jan Zitieren
Kuddel071089 9 Geschrieben 2. März 2017 Autor Melden Geschrieben 2. März 2017 (bearbeitet) Hi, also wenn ich ein Ablaufdatum in der GUI mit 31.03.2017 setze meldet mir die PowerShell mit "Get-ADUser test -Properties * | fl AccountExpirationDate": "AccountExpirationDate : 01.04.2017 00:00:00". Oder auch auf die Schnelle zusammen geschustert: Get-ADUser test -Properties samAccountName, AccountExpirationDate | %{ Set-ADAccountExpiration -Identity $_.samAccountName -DateTime ($_.AccountExpirationDate).AddDays(1) } Gruß Jan Ja das ist richtig. Ich bekomme das Ablaufdatum aber von einer Website als Variable, die ich per Powershell weiterverarbeite. Setzt man das Datum dann per Powershell auf 31.03.17, sagt mit die AD-Verwatlungskonsole, dass der User am 30.03.17 abläuft. Daher muss ich auf das Datum der Variable einen Tag drauf rechnen, nur weiß ich nicht wie Was würde ich nur ohne Google machen :-D $ablaufdatum_projektuser = "31.03.2017" $datum = Get-Date $ablaufdatum_projektuser $ablaufdatum_projektuser = $datum.AddDays(+1).ToString("dd.MM.yyyy") $ablaufdatum_projektuser bearbeitet 2. März 2017 von Kuddel071089 Zitieren
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.