Azure Portal のパスワード有効期限を無期限化する方法

Microsoft Entra ID のパスワード有効期限のデフォルト値は 90 日です。Azure Portalにログインする為のアカウントもこの制約を受けますが、これを無期限にすることが可能です。

以下公式ドキュメントを参照することで可能ですが、いろいろと躓くことが多いと思われるので、手順として残しておこうと思います。

PowerShell を使用したパスワード ポリシーの設定または確認 

 

1.事前準備

Microsoft Graph PowerShell SDK をインストールする

を参考に、「Microsoft Graph PowerShell」をインストールしてください。
インストールが出来た場合、

Get-InstalledModule Microsoft.Graph

コマンドでインストールされたことを確認してください。以下のようにモジュール詳細が表示されれば正常にインストールされています。似たようなモジュールがあるので、もし、上記コマンドの結果がエラーになるようであれば、正常にインストールされていませんのでご注意ください。

2.テナントへの接続

Microsoft 認証ライブラリを使用してMicrosoft Entra テナントに接続します。
パスワードポリシーを変更する場合、以下のような権限を指定してコマンドします。

Connect-MgGraph -Scopes “User.ReadWrite.All”,”Group.ReadWrite.All”

コマンド実行後、ブラウザが起動する為、ユーザ管理者 と同等以上のアカウントでログインしてください。
ログイン後、初回接続時には以下画面が表示されます。「組織の代理として同意する」にチェックを入れ、「承諾」をクリックします。

なお、接続する際のアカウントの権限が不足していると、以下のような画面となり、以降の操作が実施できません。

無事接続できると、以下のように「Welcome to Microsoft Graph!」の文字が表示されます。

 

参考
Connect-MgGraph コマンドでのScopesについて

3.パスワード無期限化と結果確認

まず、全ユーザのパスワード有効期限がどのようなステータスか確認します。

Get-MGuser -All -Property UserPrincipalName, PasswordPolicies | Select-Object UserprincipalName,@{N=”PasswordNeverExpires”;E={$_.PasswordPolicies -contains “DisablePasswordExpiration”}}

上記コマンドにより、各ユーザ毎のパスワード有効期限ポリシーが有効化どうか確認できます。

出力例:

「PasswordNeverExpires」というカラムに「True」と表示されていれば、そのユーザのパスワードは無期限に設定されています。デフォルトは「False」(パスワード有効期限あり)です。

このあたりのこともマニュアルに記載されています。

パスワードの有効期限ポリシーを確認する

しかしながら、上記マニュアルですが、

「すべてのユーザーについてパスワードを無期限にする設定を表示するには、次のコマンドレットを実行します。」というコマンド部分には誤りがあるようなのでご注意ください。
Get-MgUser コマンドは、すべてのプロパティをデフォルトで返すわけではなく、一部のプロパティは明示的に指定しないと取得されないようです。

その為、マニュアルの以下部分、「Get-MgUser -All | Select-Object 」では正しく表示されません。先ほど紹介したコマンドのように、「Get-MGuser -All -Property UserPrincipalName,・・・」という形で、必ず「Property」をご指定ください。
※この部分で躓いたので記載しました。

以下マニュアルの画像のコマンドだと正しく表示されない為注意—–

——————————————————————————–

パスワードを無期限化するには以下コマンドをユーザ単位で実施します。

Update-MgUser -UserId <ユーザID> -PasswordPolicies DisablePasswordExpiration

サンプルで示すと以下のような形です。

Update-MgUser -UserId pxt-test-user001@testXXXXXX.onmicrosoft.com -PasswordPolicies DisablePasswordExpiration

 

コマンドにエラー出力が無ければ正常終了です。再度全ユーザのパスワード有効期限ポリシーを表示させてみれば変更が確認できるはずです。

再度以下コマンドを実施します。

Get-MGuser -All -Property UserPrincipalName, PasswordPolicies | Select-Object UserprincipalName,@{N=”PasswordNeverExpires”;E={$_.PasswordPolicies -contains “DisablePasswordExpiration”}}

指定したユーザの「PasswordNeverExpires」というカラムが「True」に変わったことが確認できたでしょうか?

上記は、以下2つのユーザIDのパスワードが無期限となっている状態です。

admintestuser@testXXXXXX.onmicrosoft.com
pxt-test-user001@testXXXXXX.onmicrosoft.com 

以上が、パスワード無期限化の手順です。

作業完了後、

Disconnect-MgGraph

にてテナントへの接続を解除してください。お疲れ様でした。

いいね (←参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルクロステクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください