こんにちわ。ますのです。
リモートワークやらテレワークが流行っている昨今ですが、パスワード有効期限切れのユーザからの問い合わせが後を絶ちませんです。
先日、期限が7日前になったら毎日メールを通知するPowerShellを仕込みましたので緩和されていますが、それでもやはり変えない方は変えないのです。
関連記事:WindowsDefenderの無効化 or 通知のみ無効化する【グループポリシー編】
パスワードの有効期限、無期限にしてしまおうか
という強硬突破もやむ無しかと考えているところであります。
結論:「ユーザーは次回ログオン時にパスワード変更が必要」をオン⇒オフで変更可能
AD内のドメインユーザのパスワードは「pwdLastSet」という項目から、ポリシーで設定されている有効期限の日数を足して算出しているようです。
そのため、下図の「ユーザーは次回ログオン時にパスワード変更が必要」をオフ⇒オンにすることで「pwdLastSet」が再設定され、有効期限が延長される動きになります。
PowerShell:set-ADUserで「ChangePasswordAtLogon」を指定する
GUIでの設定は面倒なので、CLIでの設定が出来ないか確認したのでご紹介。
#[ユーザーは次回ログオン時にパスワード変更が必要]をオンにする
set-ADUser (ユーザ名) -ChangePasswordAtLogon $true
#[ユーザーは次回ログオン時にパスワード変更が必要]をオフにする
set-ADUser (ユーザ名) -ChangePasswordAtLogon $false
なお、[$true]を行った際にログインしているユーザーはパスワード期限が切れた状態となるため、AD連携を行って認証しているシステムがある場合は考慮が必要なので、その辺りは運用管理者の腕の見せ所です。
ですが、CLIで変更可能なものはあくまでもCLIで設定できる項目はADのユーザプロパティ画面で設定できる内容だけのようであります!
この辺の項目。
参考:Microsoft Doc【Set-ADUser】
あとはコマンドをimport-csvなりでリスト読み込みして出来れば一括で出来るかもですね!
その他にも、ADに備わっているPSO(Password Setting Object)を利用してうまいこと誤魔化して、やればユーザ影響無しでもいけそうな印象であります。
参考:【AD】パスワードポリシーはPSO(Password Setting Object) がオススメ|GPOとの比較
こちらはまた別途詳細確認して記事にする予定ですのでおつきあくださいませませ。