Jump to content

Ablaufdatum + 1 Tag


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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 von Kuddel071089
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...