2016-08-02 11 views
1

私はこの質問が以前に尋ねられていなければならないと感じていますが、私はそれをここや他の場所で検索するにはあまりにも多くの時間を費やしました。Office 365(管理センターまたはPowershell)は、ユーザーのパスワードの有効期限が切れているかどうかを教えてくれますか?

私は、ユーザーのパスワードの有効期限が切れていると言いたいものを探しています。これを検索すると、ユーザーのパスワードを期限切れに設定する方法やパスワードポリシーを設定する方法を教えてくれるたくさんのサイトがあります。管理センターでユーザーを検索したり、PowerShellを使用してパスワードが期限切れになっているかどうかを確認したいだけです。

私はこのコマンドレットを現時点での回避策として使用していますが、「パスワードの期限切れ:はい」とかそういう言い方をするともっと簡単になります。

Get-MsolUser -SearchString (Read-Host `n Whose info?) | select DisplayName, LastPasswordChangeTimeStamp, @{Name=”PasswordAge (in days.time)”;Expression={(Get-Date)-$_.LastPasswordChangeTimeStamp}}, PasswordNeverExpires | fl 

ありがとう!

04-月-16を編集し、以下のJunaidの提案回答に基づいて:

私は検索のために、垂直間隔、およびアカウントPasswordNeverExpires = TRUEを可能にするためのスクリプトを変更しました。それが役に立ちそうです。

$valid = Get-MsolPasswordPolicy -DomainName domain.com | select ValidityPeriod -ExpandProperty ValidityPeriod 

Get-MsolUser -SearchString (Read-Host `n Whose info?) | Select DisplayName, LastPasswordChangeTimeStamp, PasswordNeverExpires | foreach{ 
$user = $_.DisplayName 
$exp = $_.LastPasswordChangeTimeStamp.addDays($valid) 
If ($_.PasswordNeverExpires -eq $TRUE){ 
$exp = "Never" 
} 
Write-Output "$user's Password Expiration: $exp" 
} 
Write-Output `n 

答えて

1

このようにすることができます。まず、ドメインのパスワードポリシーを取得し、ValidityPeriodを変数に保存します。その後、すべてのユーザーとその最後のパスワード変更のタイムスタンプを取得し、そこに有効期間を追加します。そこにパスワードが期限切れになる日付が入ります。

$valid = Get-MsolPasswordPolicy -DomainName yourdomain.com | select ValidityPeriod -ExpandProperty ValidityPeriod 

ここで、有効期限は$有効な変数です。

Get-MsolUser -All | Select UserPrincipalName, LastPasswordChangeTimeStamp | foreach{ 
$user = $_.UserPrincipalName 
$exp = $_.LastPasswordChangeTimeStamp.addDays($valid) 
Write-Output "$user's password expires on $exp" 
} 

これは、Msolサービスが接続されたpowershellセッションで実行されました。だから私はそれがあなたを助けることを望む。ありがとう、Junaid。

+0

ありがとう、Junaid。これは確かに私が欲しいものを行い、私は間違いなくそれを使用しています。私は、管理センターにこの機能が組み込まれていること、またはTRUEまたはFALSEの値を持つPasswordExpiredのようなGet-MsolUserのプロパティとして期待していました。 – Jono

関連する問題