に接続する方法Adam Automator

PowerShellを使用してOffice365に接続することは、時には苦痛になることがあります。 あなたは常に異なるコマンドやモジュールを覚えておく必要があります。 それを変えましょう。

この記事では、PowerShellを使用してOffice365に接続する方法について説明します。 これを行うには、Azure AD PowerShell For GraphモジュールとAzure Active Directoryモジュールfor Windows PowerShellを使用します。

目次

前提条件

このチュートリアルのいずれかの例を実行するには、事前に次のことを確認してください:

  • Windows PowerShell5.1(これはWindows7以降に既定でインストールされます)
  • Office365テナント
  • MICROSOFT Online Services SIGN-In Assistant FOR IT Professionals RTW

Azure ADモジュールが二つあるのはなぜですか?

PowerShellを使用してOffice365を操作する場合は、おそらく二つの異なるモジュールを使用する必要があります。 Azure Active Directory PowerShell For Graphをモジュール名AzureADで使用し、Azure Active Directory module for Windows PowerShellをモジュール名MSOnlineで使用します。

AzureADとMSOnlineの両方を使用すると、PowerShellを使用してOffice365サービスを操作できます。 AzureADはMSOnlineの後継者であり、私が集めることができるものから、ある時点でMSOnlineを置き換えるでしょう。 すべての新機能はAzureADモジュールにありますが、MSOnlineモジュールとはまだ重複しています。

MSOnlineモジュールには、ユーザー、グループ、ライセンス管理の管理などのタスクがまだ存在しています。

AzureADモジュールを使用してOffice365に接続する

Azureadモジュールを使用してPowerShellを使用してOffice355に接続するには、最初にインストールする必要があります。 これを行うには、管理PowerShellセッションからInstall-Module AzureADを実行します。

AzureADモジュール内のすべてのコマンドのすべての名詞は、AzureADの接頭辞を付けられています。

モジュールをインストールしたら、Connect-AzureADコマンドレットを実行します。 これを行うと、PowerShellはMicrosoft IDとパスワード(職場または学校のアカウント)の入力を求めます。 認証されると、モジュール内のすべてのコマンドを使用できるようになります。

MSOnlineモジュールを使用してOffice365に接続する

Msonlineモジュールを使用してPowerShellを使用してOffice365に接続するには、もう少し労力が必要です。 Microsoft Online Services SIGN-In Assistant FOR IT Professionals RTWソフトウェアパッケージがインストールされていると仮定します:

  1. 管理PowerShellコンソールから実行して、PowerShellギャラリーからMSOnlineモジュールをインストールします。
Install-Module MSOnline

2. モジュールがインストールされたら、Get-Moduleを実行して、PowerShellがモジュールを見つけることができるようにします。

利用可能なMSOnline PowerShellモジュール
利用可能なMSOnline PowerShellモジュール

3. 最後に、Connect-MsolServiceコマンドレットを実行してAzure ADを認証します。 これにより、Office365の資格情報の入力が求められます。

PowerShellを使用したAzure Active Directoryへのログイン
PowerShellを使用したAzure Active Directoryへのログイン

上記のようにConnect-MsolServiceを単独で実行する代わりに、Credentialパラメータを使用することもできます。 これは、すでに$cred変数でキャプチャしているためです。 これにより、認証ポップアップボックスが表示されなくなります。

PowerShellを使用してOffice365(Exchange)に接続する

Exchange Onlineに接続する必要がある場合は、一つの手順を実行する必要があります。 すべてのExchange Onlineコマンドを使用可能にするには、PowerShellの暗黙的なリモート処理セッションを確立する必要があります。

以下に、資格情報を作成し、セッションを構築し、コマンドを現在のセッションにインポートするPowerShellコードがあります。

関連:PowerShell Remoting:The Ultimate Guide

以下のコードスニペットは、Get-Credentialコマンドレットを使用してOffice365のユーザー名とパスワードを資格情報オブジェクトに格納します。 次に、その資格情報を使用してPowerShellリモート処理セッションをExchange URIに確立し、リモートセッションをローカルセッションにインポートします。

Implicit remotingは、リモートコマンドをローカルセッションにインポートすることを指す用語です。

PS> $cred = Get-CredentialPS> $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $cred -Authentication Basic -AllowRedirectionPS> Import-PSSession $Session -DisableNameChecking
Exchange Onlineへの新しいPSSessionの確立
Exchange Onlineへの新しいPSSessionの確立

セッションのインポートがエラーメッセージなしでうまくいく場合は、Get-AcceptedDomainを実行してドメインが表示されるようにします。

Get-AcceptedDomainコマンドレットの使用
Get-AcceptedDomainコマンドレットの使用

完了したら、Remove-PSSession $Sessionを実行してPSsessionを切断して削除します。

MFA経由でExchange Onlineに接続する必要がある場合、Microsoftは”多要素認証を使用したExchange Online PowerShellへの接続”という優れたガイドを提供しています。

概要

Office365には多くのサービスがありますが、幸いなことに、PowerShellでそれらをすべて管理できます。 両方のモジュールをインストールし、Connectコマンドを使用して接続したら、PowerShellを使用してOffice365を管理する方法になります!

コメントを残す

メールアドレスが公開されることはありません。