Connect-IPPSSession

此 cmdlet 仅在 Exchange Online PowerShell 模块中可用。 有关详细信息,请参阅关于 Exchange Online PowerShell 模块

使用 Exchange Online PowerShell 模块中的 Connect-IPPSSession cmdlet 通过新式身份验证连接到安全性&合规性 PowerShell PowerShell。 cmdlet 适用于启用了 MFA 或非 MFA 的帐户。

注意:该模块版本 3.2.0 或更高版本支持大多数安全 & 合规性 PowerShell cmdlet 的 REST API 模式, (本地计算机上的 WinRM 中的基本身份验证对于 REST API 模式) 不需要。 有关详细信息,请参阅 Exchange Online PowerShell 模块的先决条件

有关以下语法部分的参数设置的详细信息,请参阅 Exchange cmdlet 语法

语法

Connect-IPPSSession
       [[-ConnectionUri] <String>]
       [[-AzureADAuthorizationEndpointUri] <String>]
       [[-DelegatedOrganization] <String>]
       [[-PSSessionOption] <PSSessionOption>]
       [[-Prefix] <String>]
       [[-CommandName] <String[]>]
       [[-FormatTypeName] <String[]>]
       [-AppId <String>]
       [-BypassMailboxAnchoring]
       [-Certificate <X509Certificate2>]
       [-CertificateFilePath <String>]
       [-CertificatePassword <SecureString>]
       [-CertificateThumbprint <String>]
       [-Credential <PSCredential>]
       [-Organization <String>]
       [-UserPrincipalName <String>]
       [-UseRPSSession]
       [<CommonParameters>]

说明

有关详细的连接说明(包括先决条件),请参阅 连接到安全 & 合规性 PowerShell

示例

示例 1

Connect-IPPSSession -UserPrincipalName michelle@contoso.onmicrosoft.com

此示例使用指定的帐户和新式身份验证(无论是否使用 MFA)连接到安全性 & 合规性 PowerShell。 在模块的 v3.2.0 或更高版本中,我们在 REST API 模式下进行连接,因此在本地计算机上不需要 WinRM 中的基本身份验证。

示例 2

Connect-IPPSSession -UserPrincipalName michelle@contoso.onmicrosoft.com -UseRPSSession

此示例使用指定的帐户和新式身份验证(无论是否使用 MFA)连接到安全性 & 合规性 PowerShell。 在模块的 v3.2.0 或更高版本中,我们将以远程 PowerShell 模式进行连接,因此需要在本地计算机上执行 WinRM 中的基本身份验证。

示例 3

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

此示例使用证书指纹在无人参与的脚本方案中连接到安全 & 合规性 PowerShell。

示例 4

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

此示例使用证书文件在无人参与的脚本方案中连接到安全性 & 合规性 PowerShell。 此方法最适合证书存储在远程计算机并在运行时提取的方案。 例如,证书存储在 Azure 密钥保管库中。

参数

-AppId

AppId 参数指定基于证书的身份验证中使用的服务主体的应用程序 ID, (CBA) 。 有效值是应用程序 ID (服务主体) 的 GUID。 例如,36ee4c6c-0812-40a2-b820-b22ebd02bce3

有关详细信息,请参阅 Exchange Online PowerShell 模块中的无人参与脚本的仅限应用身份验证

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

-AzureADAuthorizationEndpointUri

AzureADAuthorizationEndpointUri 参数指定可以颁发 OAuth2 访问令牌的 Azure AD 授权终结点。 支持以下 PowerShell 环境和相关值:

  • Microsoft 365 或 Microsoft 365 GCC 中的安全性 & 合规性 PowerShell:请勿使用此参数。 所需的值为 https://login.microsoftonline.com/common,但这也是默认值,因此无需使用此参数。
  • 由世纪互联运营的 Office 365 中的安全性&合规性 PowerShell:https://login.chinacloudapi.cn/common
  • Microsoft GCC High 或 Microsoft DoD 中的安全性 & 合规性 PowerShell: https://login.microsoftonline.us/common

如果使用 UserPrincipalName 参数,则无需在通常需要它的环境中对 MFA 或联合用户使用 AzureADAuthorizationEndpointUri 参数 (UserPrincipalName 或 AzureADAuthorizationEndpointUri;可以使用这两个) 。

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-BypassMailboxAnchoring

BypassMailboxAnchoring 开关绕过邮箱定位提示的使用。 不必为此开关指定值。

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

-Certificate

Certificate 参数指定用于基于证书的身份验证的证书 (CBA) 。 有效值是证书的 X509Certificate2 对象值。

不要将此参数与 CertificateFilePath 或 CertificateThumbprint 参数一起使用。

有关 CBA 的详细信息,请参阅 Exchange Online PowerShell 模块中的无人参与脚本的仅限应用身份验证

Type:X509Certificate2
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-CertificateFilePath

CertificateFilePath 参数指定用于 CBA 的证书。 有效值是证书文件的完整公共路径。 将 CertificatePassword 参数与此参数一起使用。

不要将此参数与 Certificate 或 CertificateThumbprint 参数一起使用。

有关 CBA 的详细信息,请参阅 Exchange Online PowerShell 模块中的无人参与脚本的仅限应用身份验证

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

-CertificatePassword

CertificatePassword 参数指定使用 CertificateFilePath 参数标识用于 CBA 的证书时打开证书文件所需的密码。

可以使用以下方法作为此参数的值:

  • (ConvertTo-SecureString -String '<password>' -AsPlainText -Force).
  • 在运行此命令之前,请将密码存储为变量 (例如 $password = Read-Host "Enter password" -AsSecureString) ,然后使用变量 ($password 值) 。
  • (Get-Credential).password 运行此命令时,系统会提示安全输入密码。

有关 CBA 的详细信息,请参阅 Exchange Online PowerShell 模块中的无人参与脚本的仅限应用身份验证

注意:使用 ConvertTo-SecureString 命令在本地存储证书的密码会破坏自动化方案的安全连接方法的用途。 使用 Get-Credential 命令来提示你安全输入证书的密码并不是自动化方案的理想选择。 换句话说,实际上没有使用本地证书进行连接的自动化 和安全 方法。

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

-CertificateThumbprint

CertificateThumbprint 参数指定用于 CBA 的证书。 有效值是证书的指纹值。 例如,83213AEAC56D61C97AEE5C1528F4AC5EBA7321C1

不要将此参数与 Certificate 或 CertificateFilePath 参数一起使用。

注意:CertificateThumbprint 参数仅在 Microsoft Windows 中受支持。

有关 CBA 的详细信息,请参阅 Exchange Online PowerShell 模块中的无人参与脚本的仅限应用身份验证

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

-CommandName

CommandName 参数指定要导入到会话中的命令的逗号分隔列表。 将此参数用于使用一组特定 cmdlet 的应用程序或脚本。 减少会话中的 cmdlet 数量有助于提高性能并减少应用程序或脚本的内存占用量。

Type:String[]
Position:5
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-ConnectionUri

ConnectionUri 参数指定远程 PowerShell 会话的连接终结点。 支持以下 PowerShell 环境和相关值:

  • Microsoft 365 或 Microsoft 365 GCC 中的安全性 & 合规性 PowerShell:请勿使用此参数。 所需的值为 https://ps.compliance.protection.outlook.com/powershell-liveid/,但这也是默认值,因此无需使用此参数。
  • 由世纪互联运营的 Office 365 中的安全性&合规性 PowerShell:https://ps.compliance.protection.partner.outlook.cn/powershell-liveid
  • Microsoft GCC High 中的安全性 & 合规性 PowerShell: https://ps.compliance.protection.office365.us/powershell-liveid/
  • Microsoft DoD 中的安全性 & 合规性 PowerShell: https://l5.ps.compliance.protection.office365.us/powershell-liveid/
Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-Credential

Credential 参数指定用于连接到 PowerShell Exchange Online 的用户名和密码。 通常情况下,您可以在脚本中或在需要提供具有所需权限的不同凭据时使用此参数。 不要对使用多重身份验证 (MFA) 的帐户使用此参数。

在运行 Connect-IPPSSession 命令之前,请将用户名和密码存储在变量 (例如 $UserCredential = Get-Credential) 中。 然后,对此参数使用变量名称 ($UserCredential) 。

Connect-IPPSSession 命令完成后,变量中的密码密钥将被清空。

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-DelegatedOrganization

DelegatedOrganization 参数指定要管理 (例如 contosoelectronics.onmicrosoft.com) 的客户组织。 仅当客户组织同意通过 CSP 计划进行委派管理时,此参数才有效。

成功进行身份验证后,此会话中的 cmdlet 将映射到客户组织,并且此会话中的所有操作都会在客户组织上完成。

注意

  • 使用委托组织的主 .onmicrosoft.com 域作为此参数的值。
  • 必须将 AzureADAuthorizationEndpointUri 参数与此参数一起使用。
Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-FormatTypeName

FormatTypeName 参数指定 cmdlet 的输出格式。

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

-Organization

使用 CBA 进行连接时,Organization 参数指定组织。 必须使用组织的主 .onmicrosoft.com 域作为此参数的值。

有关 CBA 的详细信息,请参阅 Exchange Online PowerShell 模块中的无人参与脚本的仅限应用身份验证

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

-Prefix

Prefix 参数指定要在连接时添加到安全 & 合规性 PowerShell cmdlet 名称的文本值。 例如,将值 Contoso 用于此参数时,Get-ComplianceCase变为Get-ContosoComplianceCase。

  • Prefix 值不能包含空格或特殊字符,如下划线或星号。
  • 不能使用前缀值 EXO。 此值保留给模块中内置的 9 个独占 Get-EXO* cmdlet。
  • Prefix 参数仅影响导入的安全性 & 合规性 cmdlet 名称。 它不会影响模块中内置的 cmdlet 的名称, (例如 Disconnect-ExchangeOnline) 。
Type:String
Position:4
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-PSSessionOption

PSSessionOption 参数指定要在连接到安全 & 合规性 PowerShell 时使用的远程 PowerShell 会话选项。

New-PSSessionOption 命令的输出存储在变量 (中, $PSOptions = New-PSSessionOption <Settings> 例如,) ,并使用变量名称作为此参数的值, (例如 $PSOptions) 。

Type:PSSessionOption
Position:3
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-UserPrincipalName

UserPrincipalName 参数指定要用于连接 (的帐户, navin@contoso.onmicrosoft.com 例如,) 。 使用此参数可以跳过在现代身份验证凭据提示中输入用户名, (系统提示输入密码) 。

如果使用 UserPrincipalName 参数,则无需在通常需要它的环境中对 MFA 或联合用户使用 AzureADAuthorizationEndpointUri 参数 (UserPrincipalName 或 AzureADAuthorizationEndpointUri;可以使用这两个) 。

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

-UseRPSSession

此参数在模块的 3.2.0 或更高版本中可用。

UseRPSSession 开关允许使用对所有 cmdlet 的传统远程 PowerShell 访问连接到安全性 & 合规性 PowerShell。 不必为此开关指定值。

此开关要求在本地计算机上的 WinRM 中启用基本身份验证。 有关详细信息,请参阅 在 WinRM 中启用基本身份验证

如果不使用此开关,则不需要在 WinRM 中执行基本身份验证。

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