Connect-ExchangeOnline
このコマンドレットは、Exchange Online PowerShell V2 モジュールでのみ使用できます。 詳細については、「Exchange Online PowerShell V2 モジュールについて」を参照してください。
Exchange Online PowerShell V2 モジュールのConnect-ExchangeOnline コマンドレットを使用して、先進認証を使用して powerShell Exchange Onlineに接続します。 このコマンドレットは、MFA または非 MFA が有効なアカウントで機能します。
他の PowerShell 環境 (セキュリティ & コンプライアンス PowerShell やスタンドアロン Exchange Online Protection PowerShell など) に接続するには、Connect-IPPSSession コマンドレットを使用します。
以下の構文セクションのパラメーター セットの詳細については、「Exchangeのコマンドレット構文」を参照してください。
構文
Connect-ExchangeOnline
[[-ConnectionUri] <String>]
[[-AzureADAuthorizationEndpointUri] <String>]
[[-ExchangeEnvironmentName] <ExchangeEnvironment>]
[[-PSSessionOption] <PSSessionOption>]
[[-DelegatedOrganization] <String>]
[[-Prefix] <String>]
[[-CommandName] <String[]>]
[[-FormatTypeName] <String[]>]
[-AppId <String>]
[-BypassMailboxAnchoring]
[-Certificate <X509Certificate2>]
[-CertificateFilePath <String>]
[-CertificatePassword <SecureString>]
[-CertificateThumbprint <String>]
[-Credential <PSCredential>]
[-Device]
[-EnableErrorReporting]
[-InlineCredential]
[-LogDirectoryPath <String>]
[-LogLevel <LogLevel>]
[-Organization <String>]
[-PageSize <UInt32>]
[-ShowBanner]
[-ShowProgress <Boolean>]
[-TrackPerformance <Boolean>]
[-UseMultithreading <Boolean>]
[-UserPrincipalName <String>]
[-UseRPSSession]
[<CommonParameters>]
説明
このコマンドレットを使用すると、Exchange Online組織へのリモート PowerShell 接続を作成できます。 このコマンドレットを使用すると、Exchange Online PowerShell V2 モジュールの新しい REST API によってサポートされるコマンドレットと、既存のすべてのExchange Online PowerShell コマンドレット (リモート PowerShell コマンドレット) の認証を行うことができます。
EXO V2 モジュールの現在および過去のパブリック バージョンの詳細については、 リリース ノートを参照してください。 このトピックは、現在のパブリック バージョン用に記述されています。 モジュールのプレビュー バージョンでのみ使用できる機能またはパラメーターは、特に注意してください。
例
例 1
Connect-ExchangeOnline -UserPrincipalName chris@contoso.com
この例では、多要素認証 (MFA) の有無にかかわらず、先進認証を使用して powerShell Exchange Onlineに接続します。 UseRPSSession パラメーターを使用していないため、接続では REST が使用され、ローカル コンピューターの WinROM で基本認証を有効にする必要はありません。 ただし、頻繁に使用される REST API パラメーターのサブセットのみが使用できます。
例 2
Connect-ExchangeOnline -UserPrincipalName chris@contoso.com -UseRPSSession
この例では、MFA の有無にかかわらず、先進認証を使用して powerShell Exchange Onlineに接続します。 UseRPSSession パラメーターを使用しているため、接続ではローカル コンピューター上の WinRM で基本認証を有効にする必要があります。 ただし、すべてのExchange Online PowerShell コマンドレットは、従来のリモート PowerShell アクセスを使用して使用できます。
例 3
Connect-ExchangeOnline -AppId <%App_id%> -CertificateFilePath "C:\users\navin\Documents\TestCert.pfx" -Organization "contoso.onmicrosoft.com"
この例では、証明書の公開キーを使用して、無人スクリプト シナリオで powerShell Exchange Onlineに接続します。
例 4
Connect-ExchangeOnline -AppId <%App_id%> -CertificateThumbprint <%Thumbprint string of certificate%> -Organization "contoso.onmicrosoft.com"
この例では、証明書の拇印を使用して無人スクリプト シナリオで powerShell Exchange Onlineに接続します。
例 5
Connect-ExchangeOnline -AppId <%App_id%> -Certificate <%X509Certificate2 object%> -Organization "contoso.onmicrosoft.com"
この例では、証明書ファイルを使用して無人スクリプト シナリオで powerShell Exchange Onlineに接続します。 このメソッドは、証明書がリモート マシンに格納され、実行時にフェッチされるシナリオに最適です。 たとえば、証明書は Azure Key Vaultに格納されます。
例 6
Connect-ExchangeOnline -Device
EXO V2 モジュール バージョン 2.0.4 以降を使用する PowerShell 7.0.3 以降では、この例では、Web ブラウザーを持たないコンピューター上の対話型スクリプト シナリオで powerShell Exchange Onlineに接続します。
このコマンドは、セッションに関連付けられている URL と一意のコードを返します。 任意のコンピューターのブラウザーでその URL を開き、一意のコードを入力する必要があります。 Web ブラウザーでのログインが完了すると、Powershell 7 ウィンドウのセッションが通常の Azure AD 認証フローを介して認証され、数秒後に Exchange Online コマンドレットがインポートされます。
例 7
Connect-ExchangeOnline -InlineCredential
EXO V2 モジュール バージョン 2.0.4 以降を使用する PowerShell 7.0.3 以降では、この例は PowerShell ウィンドウで資格情報を直接渡すことで、対話型スクリプトシナリオで powerShell Exchange Onlineに接続します。
パラメーター
AppId パラメーターは、証明書ベースの認証 (CBA) で使用されるサービス プリンシパルのアプリケーション ID を指定します。 有効な値は、アプリケーション ID (サービス プリンシパル) の GUID です。 たとえば、「 36ee4c6c-0812-40a2-b820-b22ebd02bce3 」のように入力します。
詳細については、 EXO V2 モジュールの無人スクリプトのアプリのみの認証に関する説明を参照してください。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
注: ExchangeEnvironmentName パラメーターを使用する場合は、AzureADAuthorizationEndpointUri または ConnectionUri パラメーターを使用する必要はありません。
AzureADAuthorizationEndpointUri パラメーターは、OAuth2 アクセス トークンを発行できる Azure AD 承認エンドポイントを指定します。 次のExchange Online PowerShell 環境と関連する値がサポートされています。
- Microsoft 365 または Microsoft 365 GCC: このパラメーターは使用しないでください。 必要な値は
https://login.microsoftonline.com/common、既定値でもあるため、このパラメーターを使用する必要はありません。 - ドイツOffice 365:
https://login.microsoftonline.de/common - Microsoft 365 GCC High または Microsoft 365 DoD:
https://login.microsoftonline.us/common
UserPrincipalName パラメーターを使用する場合は、通常必要な環境で MFA またはフェデレーション ユーザーに対して AzureADAuthorizationEndpointUri パラメーターを使用する必要はありません (UserPrincipalName または AzureADAuthorizationEndpointUri が必要です。両方を使用する場合は OK)。
注: MFA 認証またはフェデレーション認証は、21Vianet によって運用Office 365では使用できません。
| Type: | String |
| Position: | 1 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
BypassMailboxAnchoring スイッチは、メールボックス アンカー ヒントの使用をバイパスします。 このスイッチで値を指定する必要はありません。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
証明書パラメーターは、証明書ベースの認証 (CBA) に使用される証明書を指定します。 有効な値は、証明書の X509Certificate2 オブジェクト値です。
このパラメーターは、CertificateFilePath パラメーターまたは CertificateThumbprint パラメーターと共に使用しないでください。
CBA の詳細については、 EXO V2 モジュールの無人スクリプトのアプリのみの認証に関するページを参照してください。
| Type: | X509Certificate2 |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
CertificateFilePath パラメーターは、CBA に使用される証明書を指定します。 有効な値は、証明書ファイルへの完全なパブリック パスです。
このパラメーターは、証明書パラメーターまたは CertificateThumbprint パラメーターと共に使用しないでください。
CBA の詳細については、 EXO V2 モジュールの無人スクリプトのアプリのみの認証に関するページを参照してください。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
CertificatePassword パラメーターは、CertificateFilePath パラメーターを使用して CBA に使用される証明書を識別するときに、証明書ファイルを開くために必要なパスワードを指定します。
このパラメーターの値として、次のメソッドを使用できます。
(ConvertTo-SecureString -String '<password>' -AsPlainText -Force).- このコマンドを実行する前に、パスワードを変数 (たとえば) として格納してから、
$password = Read-Host "Enter password" -AsSecureString値に変数 ($password) を使用します。 (Get-Credential).passwordこのコマンドを実行すると、パスワードの安全な入力を求めるメッセージが表示されます。
CBA の詳細については、 EXO V2 モジュールの無人スクリプトのアプリのみの認証に関するページを参照してください。
| Type: | SecureString |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
CertificateThumbprint パラメーターは、CBA に使用される証明書を指定します。 有効な値は、証明書の拇印値です。 たとえば、「 83213AEAC56D61C97AEE5C1528F4AC5EBA7321C1 」のように入力します。
このパラメーターは、Certificate パラメーターまたは CertificateFilePath パラメーターと共に使用しないでください。
注: CertificateThumbprint パラメーターは、Microsoft Windows でのみサポートされています。
CBA の詳細については、 EXO V2 モジュールの無人スクリプトのアプリのみの認証に関するページを参照してください。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
CommandName パラメーターは、セッションにインポートするコマンドのコンマ区切りリストを指定します。 特定のコマンドレットのセットを使用するアプリケーションまたはスクリプトには、このパラメーターを使用します。 セッション内のコマンドレットの数を減らすことは、パフォーマンスを向上させ、アプリケーションまたはスクリプトのメモリ フットプリントを減らすのに役立ちます。
| Type: | String[] |
| Position: | 6 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
注: ExchangeEnvironmentName パラメーターを使用する場合は、AzureADAuthorizationEndpointUri または ConnectionUri パラメーターを使用する必要はありません。
ConnectionUri パラメーターは、リモート Exchange Online PowerShell セッションの接続エンドポイントを指定します。 次のExchange Online PowerShell 環境と関連する値がサポートされています。
- Microsoft 365 または Microsoft 365 GCC: このパラメーターは使用しないでください。 必要な値は
https://outlook.office365.com/powershell-liveid/、既定値でもあるため、このパラメーターを使用する必要はありません。 - ドイツOffice 365:
https://outlook.office.de/PowerShell-LiveID - Office 365 21Vianet によって操作されます。
https://partner.outlook.cn/PowerShell - Microsoft 365 GCC High:
https://outlook.office365.us/powershell-liveid - Microsoft 365 DoD:
https://webmail.apps.mil/powershell-liveid
注: 組織がオンプレミスの Exchange であり、Exchange Online Protectionのサービス ライセンスを持つ Exchange Enterprise CAL がある場合は、ConnectionUri パラメーターを指定せずにこのコマンドレットを使用して EOP PowerShell に接続します (Microsoft 365 または Microsoft GCC の PowerShell と同じ接続手順Exchange Online)。
| Type: | String |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
Credential パラメーターは、PowerShell への接続に使用するユーザー名とパスワードExchange Online指定します。 通常、このパラメーターはスクリプトや、必要なアクセス許可を持つ別の資格情報を入力する必要がある場合に使用します。 多要素認証 (MFA) を使用するアカウントには、このパラメーターを使用しないでください。
Connect-ExchangeOnline コマンドを実行する前に、変数にユーザー名とパスワードを格納します (たとえば)。 $UserCredential = Get-Credential 次に、このパラメーターに変数名 ($UserCredential) を使用します。
Connect-ExchangeOnline コマンドが完了すると、変数内のパスワード キーが空になります。
証明書ファイルのパスワードを指定するには、このパラメーターを使用しないでください。代わりに CertificatePassword パラメーターを使用してください。
| Type: | PSCredential |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
DelegatedOrganization パラメーターは、管理する顧客組織 (contosoelectronics.onmicrosoft.com など) を指定します。 このパラメーターは、顧客組織が CSP プログラムを介して委任された管理に同意した場合にのみ機能します。
認証が正常に完了すると、このセッションのコマンドレットは顧客組織にマップされ、このセッションのすべての操作は顧客組織で行われます。
| Type: | String |
| Position: | 4 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
注: このパラメーターは、バージョン 2.0.4 以降でのみ使用でき、PowerShell 7 でのみ使用できます。
デバイス スイッチは、シングル サインオン (SSO) をサポートする Web ブラウザーがないコンピューターを対話型で認証するかどうかを指定します。 このスイッチで値を指定する必要はありません。
このコマンドは、セッションに関連付けられている URL と一意のコードを返します。 任意のコンピューターのブラウザーでその URL を開き、一意のコードを入力する必要があります。 Web ブラウザーでのログインが完了すると、Powershell 7 ウィンドウのセッションが通常の Azure AD 認証フローを介して認証され、数秒後に Exchange Online コマンドレットがインポートされます。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
EnableErrorReporting スイッチは、エラー報告を有効にするかどうかを指定します。 このスイッチで値を指定する必要はありません。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
ExchangeEnvironmentName はExchange Online環境を指定し、AzureADAuthorizationEndpointUri および ConnectionUri パラメーターを使用する必要がなくなります。 次のExchange Online PowerShell 環境がサポートされています。
- Microsoft 365 または Microsoft 365 GCC: このパラメーターは使用しないでください。 必要な値は
O365Default、既定値でもあるため、このパラメーターを使用する必要はありません。 - ドイツOffice 365:
O365GermanyCloud - Office 365 21Vianet によって操作されます。
O365China - Microsoft 365 GCC High:
O365USGovGCCHigh - Microsoft 365 DoD:
O365USGovDoD
| Type: | ExchangeEnvironment |
| Position: | 2 |
| Default value: | O365Default |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
FormatTypeName パラメーターは、コマンドレットの出力形式を指定します。
| Type: | String[] |
| Position: | 7 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
注: このパラメーターは、バージョン 2.0.4 以降でのみ使用でき、PowerShell 7 でのみ使用できます。
InlineCredential スイッチは、Windows PowerShell ウィンドウで資格情報を直接渡すかどうかを指定します。 このスイッチで値を指定する必要はありません。
このスイッチは Credential パラメーターに似ていますが、セキュリティが強化されています。 InlineCredential スイッチでは、スクリプトに資格情報をローカルに格納する必要はありません。また、対話型 PowerShell セッションで資格情報を直接入力できます。
このスイッチは、MFA を使用するアカウントでは機能しません。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
LogDirectoryPath パラメーターは、ログ ファイルの場所を指定します。 既定の場所は %TMP%\EXOCmdletTelemetry\EXOCmdletTelemetry-yyyymmdd-hhmmss.csv.
スペースを含むカスタムの場所とファイル名を指定する場合は、値を引用符 (") で囲みます。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
LogLevel パラメーターは、ログ レベルを指定します。 有効な値は既定値とすべてです。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
Organization パラメーターは、CBA で使用される組織を指定します。 パラメーター値には必ず .onmicrosoft.com ドメインを使用してください。 そうしないと、アプリのコンテキストでコマンドを実行したときに、暗号化されたアクセス許可の問題が発生する可能性があります。
CBA の詳細については、 EXO V2 モジュールの無人スクリプトのアプリのみの認証に関するページを参照してください。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
PageSize パラメーターは、ページあたりのエントリの最大数を指定します。 このパラメーターの有効な入力値は、1 ~ 1000 の整数です。 既定値は 1,000 です。
| Type: | UInt32 |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
Prefix パラメーターは、古いリモート PowerShell コマンドレット (EXO で始まっていない名詞を含むコマンドレット) の名前で名詞に追加するエイリアスを指定します。 有効な値は、スペースやアンダースクロレス、アスタリスクなどの特殊文字を含まないテキスト文字列であり、値 EXO を使用することはできません (このプレフィックスは PowerShell V2 モジュール コマンドレット用に予約されています)。
| Type: | String |
| Position: | 5 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
PSSessionOption パラメーターは、Exchange Onlineへの接続で使用する PowerShell セッション オプションを指定します。 New-PSSessionOption コマンドの出力は、次のように変数に格納します。
$Options = New-PSSessionOption <Settings>
また、このパラメーターの値として変数名を使用します (たとえば)。 $Options
| Type: | PSSessionOption |
| Position: | 3 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
ShowBanner スイッチは、Connect-ExchangeOnline の実行時に表示されるバナー メッセージを表示または非表示にします。 このスイッチで値を指定する必要はありません。
- バナーを表示するには、このスイッチを使用する必要はありません (バナーは既定で表示されます)。
- バナーを非表示にするには、次の正確な構文を使用します
-ShowBanner:$false。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | $true |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
ShowProgress パラメーターは、接続時にインポートされたコマンドレットの進行状況バーを表示または非表示にするかどうかを指定します。 有効な値は次のとおりです。
- $true: 進行状況バーが表示されます。 これは既定の値です。
- $false: 現在、この値は無効です。
| Type: | Boolean |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
TrackPerformance パラメーターは、追加のイベント (CPU の負荷や消費されたメモリなど) を測定します。 有効な値は次のとおりです。
- $true: パフォーマンスの追跡が有効になっています。
- $false: パフォーマンスの追跡は無効です。 これは既定の値です。
このパラメーターは、ログ記録が有効になっている場合にのみ機能します。
| Type: | Boolean |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
UseMultithreading パラメーターは、EXO V2 モジュールでマルチスレッドを無効にするか有効にするかを指定します。 有効な値は次のとおりです。
- $true: マルチスレッドを有効にします。 これは既定の値です。
- $false: マルチスレッドを無効にします。 この値により、V2 コマンドレットのパフォーマンスが低下することに注意してください。
| Type: | Boolean |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
UserPrincipalName パラメーターは、接続に使用するアカウント (navin@contoso.onmicrosoft.com など) を指定します。 このパラメーターを使用すると、資格情報のモダン認証プロンプトでユーザー名ダイアログをスキップできます (パスワードを入力するだけで済みます)。
UserPrincipalName パラメーターを使用する場合は、通常必要な環境で MFA またはフェデレーション ユーザーに対して AzureADAuthorizationEndpointUri パラメーターを使用する必要はありません (UserPrincipalName または AzureADAuthorizationEndpointUri が必要です。両方を使用する場合は OK)。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |
このパラメーターは、Exchange Online V2 モジュールのバージョン 2.0.6-Preview3 以降で使用できます。
UseRPSSession スイッチを使用すると、すべてのコマンドレットに対する従来のリモート PowerShell アクセスを使用して、Exchange Online PowerShell に接続できます。 このスイッチで値を指定する必要はありません。
このスイッチでは、ローカル コンピューターの WinRM で基本認証が有効になっている必要があります。 詳細については、「 EXO V2 モジュールの前提条件」を参照してください。
このスイッチを使用しない場合、WinRM での基本認証は必要ありませんが、頻繁に使用される REST API コマンドレットのサブセットのみが使用できます。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
| Applies to: | Exchange Online |