PowerShellは、Office365環境を管理するのに最適な方法です。 独自のスクリプトを作成したり、単一のコマンドで設定を変更したりすることで、多くのタスクを自動化することができます。 もちろん、最初のステップはPowerShellをOffice365に接続することです。
PowerShellでOffice365に接続するには、2つの方法があります。 Windows Powershell用Microsoft Azure Active Directoryモジュール(MSOnline)および新しいAzure Active Directory PowerShell For Graph(AzureAD)。
執筆時点では両方が必要になりますが、AzureADはMSOnlineの後継ですが、新しいAzureADモジュールですべての機能が利用できるわけではありません。
PowerShellモジュールのインストール
まず、両方のPowerShellモジュールをインストールします。 あなたは何の問題もなく、あなたのシステム上で一緒にそれらの両方を使用することができます。ステップ1-PowerShellにAzureADモジュールをインストールする
PowerShellを管理モードで開きます(Windows key + X
を選択し、Windows PowerShell(管理者))
次のコマンドを入力します:
# This will install the AzureAD module from the PowerShell Gallery, you might get a warning that the # source is untrusted, but you can safely type Y and press enter.Install-Module AzureAD
ステップ2–Microsoft Online Services Sign-In Assistantをインストールする
MSOnlineモジュールにはもう少し作業が必要です。 最初に、Microsoft Online Services Sign-In Assistantをダウンロードしてインストールします。
次に、PowerShellにモジュールをインストールします。 PowerShellで次のコマンドを実行します:
Install-Module MSOnline
PowerShellをOffice365に接続する
両方のモジュールがインストールされたので、PowerShellをOffice365に接続できるようになりました。 ほとんどのドキュメントはまだMSOnlineモジュール用に書かれているので、そこから始めましょう。
コマンドConnect-MSolService
を実行する必要があるMSOnlineサービスに接続するには、office365資格情報の標準のMicrosoftサインボックスが表示されます。
powershellでMSolコマンドレットを使用できるようになりました。microsoft Docs
AzureADとの接続
新しいAzureADの接続はほとんど同じです。Connect-AzureAD
コマンドを実行するだけです。 MSolと同じように、Microsoftアカウントでログインするように求められます。 AzureADモジュールのコマンドレットの概要は、こちらを参照してください。Powershell Connect to Exchange Online
新しいExchange Online V2モジュールを使用したExchange Onlineの接続に関する最新の記事を作成しました。 あなたが最初にその記事を読んでいることを確認してください!
Exchange Onlineへの接続は少し異なり、このためのモジュールをインストールする必要はありません。 しかし、暗黙的なリモート処理を使用してExchange Onlineに接続します。
以下のコードでは、credentialオブジェクトを作成し、セッションを構築し、PowerShellセッションにインポートします。
MFA(Multi-Factor Authentication)を使用している場合、Get-Credentialメソッドを使用
これで、これを解決するためのオプション、アプリのパスワードを使用するか、Exchange OnlineリモートPowerShellモジュールを使用する必要があります。この方法では、PowerShellを使用してすべてのOffice365サービスへの接続をすばやく設定できます。
アプリのパスワードを使用する
MFAは優れたセキュリティ追加ですが、PowerShellを使用して物事を自動化することになると痛みになる可能性があります。 この問題を解決するには、Office365でアプリのパスワードを作成できます。 これは、MFAをサポートしていないアプリに使用できる強力なパスワードです。
- Office365にログインし、gotohttps://portal.office.com/account/#securityに移動します。
- 追加のセキュリティ検証を選択します
- アプリパスワードの作成と管理(最後の行)を選択します
- PowerShellの新しいアプリパスワードを作成します
:
# Store your credentials - Enter your username and the app password$Cred = Get-Credential# Connect to MsolConnect-MsolService -Credential $Cred# Connect to AzureAdConnect-AzureAD -Credential $Cred# Connect to Exchange Online$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirectionImport-PSSession $Session -DisableNameChecking
あなたが見ることができるように、あなたは一度だけログインする必要があります。 すべての接続に同じcredentialオブジェクトを使用できます。
すべてのOffice365サービスに簡単に接続するために使用できるPowerShellスクリプトもいくつか作成されています。 あなたは私のTechNetギャラリーでそれらを見つけるでしょう。 彼らはあなたのコンピュータ上の安全な文字列にアプリのパスワードを保存する機能を持っているので、あなたは完全にあなたのスクリプトを自動
結論
PowerShellを使用してOffice365に接続するのは非常に簡単です。 あなたがMFAを使用している場合は、アプリのパスワードが行くための最も便利な方法です。
Exchange Onlineの操作が完了したら、必ずRemove-PSSession $Session
でセッションを閉じてください。