20240222 Set-MsolUserLicense のコマンドオプションAddLicensesが
警告: This licensing cmdlet has been retired. Please update to MS Graph Set-MgUserLicense: https://aka.ms/mguserlicense
というライセンスに関わるコマンドが廃止されたとの応答メッセージ。ユーザまでは作りましたがライセンスの割当はMicrosoft365の管理画面から行いました。
PS C:\Windows\system32> Install-Module Microsoft.Graph
は実行しインストールまではしていますが、その先に進めません。
Micorosoft ExchangeOnlineの設定でWebからポチポチはWebのレスポンスが悪いし設定の階層も深くとても面倒に感じました。PowerShellでアカウントの作成・CSVから配布リスト(メーリングリストと同意)を作ってしまう作戦。何度もトライアンドエラー繰り返してやっとこさ意図した結果になりました。以下の記載は備忘録ですが正確性は×です。何度か繰り返して記事精度を上げてまいります。
参考にさせていただいたマイクロソフト社のページ
事前準備
アカウント情報(以下は当然ながら実在しない当記事の例となります
表示名:ほげ製作所_ほげ田ほげ男
メールアドレス:hogeo@hoge.jp
パスワード:Passw@d
配布リスト(メーリングリストと同意)のCSV
Power Shell準備
PowerShell64bitを管理者モードで起動
ポリシー設定値の取得 Get-ExecutionPolicyがAllSignedの場合コマンドが正常に実行出来ないので
Set-ExecutionPolicy RemoteSigned で 実行ポリシーを変更しておく (ハマりポイント connectExchangeonlineが出来ない)
1 2 3 4 5 6 7 8 9 |
PS C:\Windows\system32> Get-ExecutionPolicy AllSigned PS C:\Windows\system32> Set-ExecutionPolicy RemoteSigned 実行ポリシーの変更 実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170) で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか? [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): A |
必要なモジュールインストール インポート(曖昧)
でMSの多要素認証が発生 Microsoft365の管理者アカウントパスワード入力を行う
1 2 |
PS C:\Windows\system32> Install-Module MSOnline PS C:\Windows\system32> Connect-MsolService |
ExchangeOnlineManagementのインストール・インポート
1 2 |
PS C:\Windows\system32> Install-Module -Name ExchangeOnlineManagement PS C:\Windows\system32> Import-Module ExchangeOnlineManagement |
ExchangeOnlineに接続
1 2 3 4 5 6 7 8 9 10 11 12 13 |
PS C:\Windows\system32> Connect-ExchangeOnline ---------------------------------------------------------------------------------------- This V3 EXO PowerShell module contains new REST API backed Exchange Online cmdlets which doesn't require WinRM for Client-Server communication. You can now run these cmdlets after turning off WinRM Basic Auth in your client machine thus making it more secure. Unlike the EXO* prefixed cmdlets, the cmdlets in this module support full functional parity with the RPS (V1) cmdlets. V3 cmdlets in the downloaded module are resilient to transient failures, handling retries and throttling errors inherently. REST backed EOP and SCC cmdlets are also available in the V3 module. Similar to EXO, the cmdlets can be run without WinRM basic auth enabled. For more information check https://aka.ms/exov3-module ---------------------------------------------------------------------------------------- |
いろいろなコマンドを試してExchangeOnlineには接続ができたので確定した方法ではないです。途中OAuthの認証?(これも曖昧)がはいります。
所持ライセンスの確認
1 2 3 4 5 6 7 8 9 |
PS C:\Windows\system32> Get-MsolAccountSku AccountSkuId ActiveUnits WarningUnits ConsumedUnits ------------ ----------- ------------ ------------- reseller-account:WINDOWS_STORE 0 0 0 reseller-account:FLOW_FREE 10000 0 4 reseller-account:EXCHANGESTANDARD 2 0 2 reseller-account:Microsoft_Teams_Exploratory_Dept 1 0 1 reseller-account:O365_BUSINESS_PREMIUM 50 0 48 |
48/50消費している
ユーザアカウント追加ここが肝
20230426更新 -ForceChangePassword $false の付与が運用的には必要でした。このオプションなしだとOfficeライセンスは認証されるのですが、OneDriveアクセス時パスワードのリセットが必要だと怒られてしまう。発行済みパスワードでOneDriveも認証するためです。
こちらの解説ページ
1 2 3 4 5 |
New-MsolUser -DisplayName "ほげ製作所_ほげ田ほげ男" -FirstName ほげ男 -LastName ほげ田 -UserPrincipalName hogeo@hoge.jp -UsageLocation JP -LicenseAssignment reseller-account:O365_BUSINESS_PREMIUM -Password Passw@d -ForceChangePassword $false Password UserPrincipalName DisplayName isLicensed -------- ----------------- ----------- ---------- Passw@rd hogeo@hoge.jp ほげ製作所_ほげ田ほげ男 True |
ライセンスの消費確認
1 2 3 4 5 6 7 8 9 |
PS C:\Windows\system32> Get-MsolAccountSku AccountSkuId ActiveUnits WarningUnits ConsumedUnits ------------ ----------- ------------ ------------- reseller-account:WINDOWS_STORE 0 0 0 reseller-account:FLOW_FREE 10000 0 4 reseller-account:EXCHANGESTANDARD 2 0 2 reseller-account:Microsoft_Teams_Exploratory_Dept 1 0 1 reseller-account:O365_BUSINESS_PREMIUM 50 0 48 |
48/50となっている
Microsoft365管理センターから確認(非必須)
配布グループメンバー追加のCSV
AddGroupMember.csvとして作成
Identity | PrimarySmtpAddress |
haifulist1@hoge.jp | hogeo@hoge.jp |
haifulist2@hoge.jp | hogeo@hoge.jp |
配布グループメンバーの追加
1 |
Import-Csv D:\Microsoft365\PowerShellBat\AddGroupMember.csv | foreach { Add-DistributionGroupMember -Identity $_.Identity -Member $_.PrimarySmtpAddress -BypassSecurityGroupManagerCheck -Confirm:$False} |
コメント