前回は、Microsoft365のパスコードを
一括で変更する方法についてお伝えしました。

しかしながら、最近(2025年5月)コマンドがエラーなるようになってしまいました。
PS C:\Windows\System32> Connect-MsolService
Connect-MsolService : Access Denied. You do not have permissions to call this cmdlet.
発生場所 行:1 文字:1
+ Connect-MsolService
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [Connect-MsolService], MicrosoftOnlineException
+ FullyQualifiedErrorId : Microsoft.Online.Administration.Automation.AccessDeniedException,Microsoft.Online.Administration.Automation
.ConnectMsolService
なぜだ?
ちょっと調べたところ以下のような記載を発見しました。
Azure AD および MSOnline PowerShell モジュールは、2024 年 3 月 30 日の時点で非推奨となります。 詳細については、非推奨に関するアップデートを参照してください。 この日以降、これらのモジュールのサポートは、Microsoft Graph PowerShell SDK への移行支援とセキュリティ修正に限定されます。 非推奨のモジュールは、2025 年 3 月 30 日まで引き続き機能します。
おそらく、「Microsoft Graph PowerShell SDK」でやればいいとのこと
なので、「Microsoft Graph PowerShell SDK」に置き換えます。
「Microsoft Graph PowerShell SDK」でやるためには、ます、Microsoft Graph SDKのインストールが必要です。
Microsoft365 パスコード、表示名の変更
PowerShellの起動
Step1.
①検索窓に「Windows PowerShell」を入力する
②管理者として実行する
Windows11の場合は、「ISEを管理者として実行する」でうまくいきました。
(準備)Microsoft Graph SDKのインストール
初回のみ必要(と思う)適用完了までじっと待ちます。
Install-Module Microsoft.Graph
参考
Microsoft Graph PowerShellでExchangeOnlineユーザ作成とライセンス付与 | 電子計算機の操縦桿
Microsoft Graphに接続
以下をコマンドラインに入力します。
Connect-MgGraph -Scopes "Organization.Read.All","User.ReadWrite.All"
以下のような表示になればOKです。
パスコード変更方法
Step1.
①以下のような内容でCSVファイルを作成します
1行目はタイトル(UserPrincipalName,NewPassword)
2行目以降
メールアドレス,パスワード
※パスワードのフォーマット
8〜16文字で1文字以上の数字か記号を含む
Step2.
C:\temp\UserlistP.csvの場合の実行例です。
Import-Csv -Path C:\temp\UserlistP.csv | ForEach-Object {
Update-MgUser -UserId $_.UserPrincipalName -PasswordProfile @{ "Password" = $_.NewPassword ; "forceChangePasswordNextSignIn" = $false}
}
表示名の変更
Step1.
ヘッダーが「UserPrincipalName,DisplayName」のCSVファイルを準備します。
UserPrincipalName,DisplayName
user01@contoso.onmicrosoft.com,表示名1
user02@contoso.onmicrosoft.com,表示名2
user03@contoso.onmicrosoft.com,表示名3
user04@contoso.onmicrosoft.com,表示名4か
*漢字を含む場合は、UTF-8で保存します。
Step2.
以下のコマンドを実行する。
例) “C:\temp\UserlistD.csv”の場合
Import-Csv "C:\temp\UserlistD.csv" | ForEach-Object {Update-MgUser -UserId $_.userPrincipalName -DisplayName $_.DisplayName}
以上です。
最後までご覧いただきありがとうございます。
参考サイト↓

コメント