hkrischeu
Goto Top

Powershell - Abfrage PasswordNeverExpire

Hi,
ich wollte bei einem AzureAD User das Passwort auf never expire setzen. Standard ist 365 Tage.

Folgendes habe ich gemacht.
set-AzureADUser -ObjectId ac41c87e-asdf-asdf -PasswordPolicies DisablePasswordExpiration

Dann geschaut ob es ging ...
get-azureADUser -ObjectID aasdfe-49ad-4e15-8e4b-9fe7asdf7cd2 | select-object Userprincipalname,@{ N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiation"}}  
Es kam raus:
UserPrincipalName PasswordNeverExpires

asdfe@asdfde.onmicrosoft.com False


Anderen Weg getestet mit:

PS C:\WINDOWS\system32> Update-MgUser -UserId asdfg7e-49ad-4e15-8esdfgd2 -PasswordPolicies DisablePasswordExpiration

Hier geht es:
PS C:\WINDOWS\system32> Get-MGuser -UserId ab4sdfge-49ad-4e15-8e4b-9fesdfg7cd2 -Property UserPrincipalName, PasswordPolicies | Select-Object UserPrincipalName,@{
    N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}  

UserPrincipalName PasswordNeverExpires
--------------------
asdf_asdf@rasdfasdfe.onmicrosoft.com True

Content-ID: 72691457872

Url: https://administrator.de/contentid/72691457872

Ausgedruckt am: 22.11.2024 um 00:11 Uhr

hkrischeu
hkrischeu 15.12.2023 um 11:40:51 Uhr
Goto Top
Warum bekommt man da für das Gleiche zwei unterschiedliche Ergebnisse mit True und False?
Hat da mal jemand ein Tip?
colinardo
Lösung colinardo 15.12.2023 aktualisiert um 11:58:16 Uhr
Goto Top
Servus @hkrischeu
Vielleicht wird es mit einem Kaffee zum Freitag oder mit dem Ausziehen der Handschuhe besser 🙂.
DisablePasswordExpiation
Und die UserIDs sind übrigens auch nicht die gleichen, aber hier vermutlich Opfer der Anonymisierung.

Gruß @colinardo

p.s. das AzureAD-Module ist veraltet, man sollte hier vorausschauend nur noch die Microsoft Graph CMDLets benutzen.
hkrischeu
hkrischeu 15.12.2023 um 12:14:51 Uhr
Goto Top
Wahrscheinlich funktioniert dann das AD-Modul zeitverzögert. Ich schau mal Montag danach.
Schönes WE
Rotkaeppchen
Rotkaeppchen 15.12.2023 aktualisiert um 12:29:08 Uhr
Goto Top
Hey,

manchmal kann es eine gewisse Verzögerung geben, bis Änderungen in Azure AD wirksam werden. Es ist möglich, dass die Passwortverfallsrichtlinie zwar deaktiviert wurde, aber die Änderung noch nicht in deiner Abfrage reflektiert wurde.

Wenn Update-MgUser verwendet wird, wird die Änderung an der Passwortrichtlinie schneller erkannt und es könnte daher sein, dass das Ergebnis "True" ergibt.

(Wird aber trotzdem empfohlen Azure AD zu verwenden, da du etwas am Azure AD Benutzer veränderst und es speziell für diese Aufgabe entwickelt wurde)

LG
DerMaddin
DerMaddin 15.12.2023 um 12:34:05 Uhr
Goto Top
Im AzureAD laufen die Kennwörter nicht ab, anders als im lokalen AD wo eine Policy das steuert. Siehe hier:

https://lazyadmin.nl/office-365/azure-ad-password-policy/
colinardo
colinardo 15.12.2023 aktualisiert um 13:50:32 Uhr
Goto Top
Zitat von @itoverlord:
(Wird aber trotzdem empfohlen Azure AD zu verwenden, da du etwas am Azure AD Benutzer veränderst und es speziell für diese Aufgabe entwickelt wurde)

Das AzureAD Powershell-Modul ist veraltet, die Microsoft Graph API / Microsoft Graph Powershell ist dessen Nachfolger. Für neue Skripte würde ich deswegen gleich zur Graph-API raten.

https://techcommunity.microsoft.com/t5/microsoft-entra-blog/important-az ...
hkrischeu
hkrischeu 18.12.2023 um 08:05:36 Uhr
Goto Top
Hi und vielen Dank für die vielen Kommentare,

nur so zur Info. Es hat sich nix getan. Das Ergebnis, daß der Aufruf 2 verschiedene zustände Anzeigt, ist immer noch da.

Grüße
Heinz
DerMaddin
DerMaddin 18.12.2023 um 08:21:01 Uhr
Goto Top
Das bleibt auch so, denn wie bereits erwähnt, im Azure AD laufen die Passwörter nicht ab im Gegensatz zur lokalen AD. Es sei denn du hast eine angepasste Azure AD Password Policy
colinardo
colinardo 18.12.2023 aktualisiert um 08:27:29 Uhr
Goto Top
Und wie schon gesagt enthält der erste Schnipsel auch einen Tippfehler (es fehlt das "r")
DisablePasswordExpiation
hkrischeu
hkrischeu 18.12.2023 um 08:42:49 Uhr
Goto Top
Zitat von @colinardo:

Und wie schon gesagt enthält der erste Schnipsel auch einen Tippfehler (es fehlt das "r")
DisablePasswordExpiation

get-azureADUser -ObjectID asdf@asdf.onmicrosoft.com | select-object Userprincipalname,@{ N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}

Es ist wie immer - Das Problem sitzt vor der Tastatur.
Der Tippfehler war das Problem.

Vielen Dank für die Hilfe