Azure Active Directory documentation
常用的管理命令
MSOnline V1 PowerShell module for Azure Active Directory
Azure Active Directory PowerShell Module Version for Graph
使用方式示例, 常用的更改Azure用户密码过期时限策略
1. 安装PowerShell模块
Install-Module AzureAD
2. 连接至Azure中国
Connect-AzureAD -AzureEnvironment "AzureChinaCloud"
3. 查找用户并查看密码过期时限设置状态
Get-AzureADUser -SearchString "Richard"
Get-AzureADUser -ObjectId <user ID> | Select-Object @{N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}
4. 设置密码永不失效
Set-AzureADUser -ObjectId <user ID> -PasswordPolicies DisablePasswordExpiration
Get-AzureADUser -ObjectId <user ID> | Select-Object @{N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}
5. 恢复密码 90天后失效
Set-AzureADUser -ObjectId <user ID> -PasswordPolicies None
不过奇怪的是V2版本的PowerShell库里并没有设置ValidityPeriod的命令, 所以我们还是得用MSOnline的命令来设置缺省的密码过期时限, 比如设置为1000天
Install-Module -Name MSOnline
Connect-MsolService -AzureEnvironment AzureChina
Get-MsolPasswordPolicy -DomainName xxxx.partner.onmschina.cn
Set-MsolPasswordPolicy -DomainName xxxx.partner.onmschina.cn -ValidityPeriod 1000 -NotificationDays 14
查看设置后的密码失效时间
$PasswordPolicy = Get-MsolPasswordPolicy -DomainName xxxx.partner.onmschina.cn
$UserPrincipal = Get-MsolUser -UserPrincipalName '[email protected]'
$PasswordExpirationDate = $UserPrincipal.LastPasswordChangeTimestamp.AddDays($PasswordPolicy.ValidityPeriod)