この記事では、コマンドプロンプトまたはPowerShellを使用してActive Directoryユーザーのパスワード有効期限情報を確認する方法について説明します。これは、次のような状況で、パスワードポリシーの動作のトラブルシューティングを行うのに役立ちます:OktaがActive Directoryと統合されている。あるいは、パスワードの有効期限が切れているか、間もなく期限切れになる(パスワード有効期限メールが自動化されている場合と同様)ことが理由で、予期せずパスワード変更を求められている(「委任認証」が使用されている)。
Oktaでは、ジャストインタイムプロビジョニング(JIT)イベントを処理したドメインコントローラーから得た<msDS-UserPasswordExpiryTimeComputed>属性(ADエージェントログで確認可能)を読み取ることによって、JITが有効の場合にのみパスワードの有効期限を取得します。この属性は読み取り可能な形式でADに格納されませんが、PowerShellを使用して変換し検証することができます。
- Okta Identity Engine(OIE)
- Okta Classic Engine
- Active Directory
- アカウントパスワード
以下の手順またはビデオの手順に従います。
管理コマンドプロンプトで次のコマンドを実行し、<samaccountname>をユーザーに置き換えて、出力から[Password Expires]値を見つけます。
net user <samaccountname> /domain
PowerShellを使用するには、以下のコマンドを実行します。
Get-ADUser -server <DC name> -Credential 'oktaservice' <john.doe> -Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" | Select samaccountname,Displayname,@{Name="PasswordExpirationDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}
<john.doe>をユーザーのsamaccountnameに置き換え、<DC name>をJIT認証を処理したドメインコントローラーの名前に置き換え、oktaserviceをADエージェントサービスアカウントのsamaccountnameに置き換えます。プロンプトが表示されたら、このサービスアカウントのパスワードを入力します。このメソッドでは、Okta ADエージェントのサービスアカウントを使用してユーザーデータを取得し、データへのアクセスに必要な権限がアカウントにあることを検証します。
属性の結果が返されない場合、パスワードは期限切れにならないように設定されます。
関連資料
