Connect-ExchangeOnline

このコマンドレットは、PowerShell V2 モジュールExchange Onlineでのみ使用できます。 詳細については、「Exchange Online PowerShell V2 モジュールについて」を参照してください。

PowerShell V2 Connect-ExchangeOnlineの Exchange Onlineコマンドレットを使用して、最新の認証を使用Exchange Online PowerShell に接続します。 このコマンドレットは、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>]
       [<CommonParameters>]

説明

このコマンドレットを使用すると、ユーザーの組織にリモート PowerShell 接続Exchange Onlineできます。 このコマンドレットを使用して、Exchange Online PowerShell V2 モジュールの新しい REST API に裏付けされたコマンドレット、および既存のすべての Exchange Online PowerShell コマンドレット (リモート PowerShell コマンドレット) に対して認証できます。

EXO V2 モジュールの現在および過去のパブリック バージョンの詳細については、「リリース ノート」 を参照してください。 このトピックは、現在のパブリック バージョン用に記述されています。 モジュールのプレビュー バージョンでのみ使用可能な機能またはパラメーターに特に説明します。

例 1

$UserCredential = Get-Credential
Connect-ExchangeOnline -Credential $UserCredential

この例では、多要素Exchange Online認証 (MFA) を使用しないアカウントに対して、モダン認証を使用して PowerShell に接続します。

最初のコマンドは、ユーザー名とパスワードを取得し、ユーザー名変数に$UserCredentialします。

2 つ目のコマンドは、現在の PowerShell セッションを、現在の PowerShell セッションの資格情報を使用して接続$UserCredential。

Connect-ExchangeOnlineコマンドが完了すると、$UserCredential 変数のパスワード キーが空にされ、PowerShell コマンドレットExchange Online実行できます。

例 2

Connect-ExchangeOnline -UserPrincipalName chris@contoso.com

この例では、MFA をExchange Onlineアカウントの最新の認証を使用して、chris@contoso.com PowerShell に接続します。

コマンドが成功したら、ExO V2 モジュールコマンドレットと古いリモート PowerShell コマンドレットを実行できます。

例 3

Connect-ExchangeOnline -AppId <%App_id%> -CertificateFilePath "C:\users\navin\Documents\TestCert.pfx" -Organization "contoso.onmicrosoft.com"

次の使用例は、Exchange Onlineの公開キーを使用して、無人スクリプト シナリオでユーザーに接続します。

例 4

Connect-ExchangeOnline -AppId <%App_id%> -CertificateThumbprint <%Thumbprint string of certificate%> -Organization "contoso.onmicrosoft.com"

次の使用例は、Exchange Online拇印を使用して、無人スクリプト シナリオのユーザーに接続します。

例 5

Connect-ExchangeOnline -AppId <%App_id%> -Certificate <%X509Certificate2 object%> -Organization "contoso.onmicrosoft.com"

次の使用例は、Exchange Onlineを使用して無人スクリプト シナリオのユーザーに接続します。 このメソッドは、証明書がリモート コンピューターに格納され、実行時にフェッチされるシナリオに最適です。 たとえば、証明書は Azure Key Vault に格納されます。

例 6

Connect-ExchangeOnline -Device

EXO V2 モジュール バージョン 2.0.4 以降を使用する PowerShell 7.0.3 以降では、Web ブラウザーを使用しないコンピューター上の対話型スクリプト シナリオで 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 ウィンドウで資格情報を直接渡して、対話型スクリプト シナリオで Exchange Online に接続します。

パラメーター

-AppId

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
-AzureADAuthorizationEndpointUri

: ExchangeEnvironmentName パラメーターを使用する場合は、AzureADAuthorizationEndpointUri パラメーターまたは ConnectionUri パラメーターを使用する必要はありません。

AzureADAuthorizationEndpointUri パラメーターは、OAuth2 アクセス トークンAD発行できる Azure 認証エンドポイントを指定します。 PowerShell 環境Exchange Online関連する値は次のとおりです。

  • Microsoft 365またはMicrosoft 365 GCC: このパラメーターを使用しない。 必須の値は、既定値ですが、このパラメーターを使用 https://login.microsoftonline.com/common する必要はありません。
  • Office 365ドイツ:https://login.microsoftonline.de/common
  • Microsoft 365 GCC高または高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

BypassMailboxAnchoring スイッチは、メールボックスのアンカー ヒントの使用をバイパスします。 このスイッチで値を指定する必要はありません。

Type:SwitchParameter
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Certificate

Certificate パラメーターは、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

CertificateFilePath パラメーターは、CBA に使用される証明書を指定します。 有効な値は、証明書ファイルへの完全なパブリック パスです。

このパラメーターを Certificate パラメーターまたは CertificateThumbprint パラメーターと一緒に使用しない。

CBA の詳細については、「EXO V2 モジュールの無人スクリプトのアプリ専用認証 」を参照してください

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-CertificatePassword

CertificatePassword パラメーターは、CBA に使用される証明書を識別するために CertificateFilePath パラメーターを使用するときに、証明書ファイルを開くのに必要なパスワードを指定します。

このパラメーターには、構文 (ConvertTo-SecureString -String '<password>' -AsPlainText -Force) を使用します。 または、このコマンドを実行する前に、パスワードを変数として保存し (たとえば、$password = Read-Host "Enter password" -AsSecureString)、このパラメーターに変数名 ($password) を使用します。

CBA の詳細については、「EXO V2 モジュールの無人スクリプトのアプリ専用認証 」を参照してください

Type:SecureString
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-CertificateThumbprint

CertificateThumbprint パラメーターは、CBA に使用される証明書を指定します。 有効な値は、証明書の拇印の値です。 たとえば、83213AEAC56D61C97AEE5C1528F4AC5EBA7321C1 などです。

このパラメーターは、Certificate パラメーターまたは CertificateFilePath パラメーターと一緒に使用しない。

CBA の詳細については、「EXO V2 モジュールの無人スクリプトのアプリ専用認証 」を参照してください

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-CommandName

CommandName パラメーターは、セッションにインポートするコマンドのコンマ区切りリストを指定します。 特定のコマンドレットのセットを使用するアプリケーションまたはスクリプトには、このパラメーターを使用します。 セッション内のコマンドレットの数を減らすと、パフォーマンスが向上し、アプリケーションまたはスクリプトのメモリ使用量が削減されます。

Type:String[]
Position:6
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-ConnectionUri

: ExchangeEnvironmentName パラメーターを使用する場合は、AzureADAuthorizationEndpointUri パラメーターまたは ConnectionUri パラメーターを使用する必要はありません。

ConnectionUri パラメーターは、PowerShell セッションのリモート 接続エンドポイントExchange Online指定します。 PowerShell 環境Exchange Online関連する値は次のとおりです。

  • 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高:https://outlook.office365.us/powershell-liveid
  • Microsoft 365DoD:https://webmail.apps.mil/powershell-liveid

: 組織がオンプレミス Exchange で、Exchange Online Protection のサービス ライセンスを持つ Exchange Enterprise CAL がある場合は 、ConnectionUri パラメーターを指定せずにこのコマンドレットを使用して EOP PowerShell に接続します (Microsoft 365 または Microsoft GCC の Exchange Online PowerShell と同じ接続手順)。

Type:String
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Credential

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

DelegatedOrganization パラメーターは、管理する顧客組織を指定します (たとえば、contosoelectronics.onmicrosoft.com)。 このパラメーターは、顧客組織が CSP プログラムを介して委任された管理に同意した場合にのみ機能します。

認証が正常に完了すると、このセッションのコマンドレットは顧客組織にマップされ、このセッションのすべての操作は顧客組織で行われます。

Type:String
Position:4
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Device

: このパラメーターは、バージョン 2.0.4 以降でのみ使用できます。PowerShell 7 でのみ使用できます。

Device スイッチは、シングル サインオン (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

EnableErrorReporting スイッチは、エラー報告を有効にするかどうかを指定します。 このスイッチで値を指定する必要はありません。

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-ExchangeEnvironmentName

ExchangeEnvironmentName は、Exchange Online環境を指定し、AzureADAuthorizationEndpointUri パラメーターと ConnectionUri パラメーターを使用する必要はありません。 PowerShell 環境Exchange Online以下の機能がサポートされています。

  • Microsoft 365またはMicrosoft 365 GCC: このパラメーターを使用しない。 必須の値は、既定値ですが、このパラメーターを使用 O365Default する必要はありません。
  • Office 365ドイツ:O365GermanyCloud
  • Office 365 21Vianet が運用する場合:O365China
  • Microsoft 365 GCC高:O365USGovGCCHigh
  • Microsoft 365DoD:O365USGovDoD
Type:ExchangeEnvironment
Position:2
Default value:O365Default
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-FormatTypeName

FormatTypeName パラメーターは、コマンドレットの出力形式を指定します。

Type:String[]
Position:7
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-InlineCredential

: このパラメーターは、バージョン 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

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

LogLevel パラメーターは、ログ レベルを指定します。 有効な値は Default と All です。

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Organization

Organization パラメーターは、アプリ専用認証で使用される組織を指定します。 パラメーター値に .onmicrosoft.com ドメインを使用してください。 そうしないと、アプリのコンテキストでコマンドを実行したときに、暗号化されたアクセス許可の問題が発生する可能性があります。

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-PageSize

PageSize パラメーターは、ページあたりのエントリの最大数を指定します。このパラメーターの有効な入力値は、1 ~ 5000 の整数です。既定値は 1000 です。

Type:UInt32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Prefix

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

PSSessionOption パラメーターは、サーバーへの接続で使用する PowerShell セッション オプションをExchange Online。 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

ShowBanner スイッチは、ExchangeOnline の実行時に表示されるバナー メッセージConnect表示または非表示にします。 このスイッチで値を指定する必要はありません。

  • バナーを表示するには、このスイッチを使用する必要があります (バナーは既定で表示されます)。
  • バナーを非表示にするには、次の正確な構文を使用します -ShowBanner:$false
Type:SwitchParameter
Position:Named
Default value:$true
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-ShowProgress

ShowProgress パラメーターは、接続時にインポートされたコマンドレットの進行状況バーを表示または非表示にするかどうかを指定します。 有効な値は次のとおりです。

  • $true: 進行状況バーが表示されます。 これが既定値です。
  • $false: 現在、この値は効果がありません。
Type:Boolean
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-TrackPerformance

TrackPerformance パラメーターは、追加のイベント (CPU の負荷やメモリ消費など) を測定します。 有効な値は次のとおりです。

  • $true: パフォーマンスの追跡が有効です。
  • $false: パフォーマンスの追跡が無効です。 これが既定値です。

このパラメーターは、ログが有効な場合にのみ機能します。

Type:Boolean
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-UseMultithreading

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

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

入力

出力