Connect-ExchangeOnline

Esse cmdlet está disponível somente no módulo Exchange Online PowerShell V2. Para mais informações, confira Sobre o módulo Exchange Online PowerShell V2.

Use o Connect-ExchangeOnline cmdlet no módulo Exchange Online PowerShell V2 para se conectar ao Exchange Online PowerShell usando a autenticação moderna. Esse cmdlet funciona para contas MFA ou não habilitadas para MFA.

Para se conectar a outros ambientes do PowerShell (por exemplo, o PowerShell de conformidade com & segurança ou o Proteção do Exchange Online PowerShell autônomo), use o cmdlet Connect-IPPSSession.

Para saber mais sobre os conjuntos de parâmetros na seção Sintaxe, abaixo, consulte Exchange cmdlet syntax.

Syntax

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

Description

Esse cmdlet permite que você crie uma conexão remota do PowerShell com sua Exchange Online organização. Você pode usar esse cmdlet para autenticar para os novos cmdlets com suporte da API REST no módulo Exchange Online PowerShell V2 e também para todos os cmdlets do PowerShell do Exchange Online existentes (cmdlets remotos do PowerShell).

Para obter detalhes sobre as versões públicas atuais e anteriores do módulo EXO V2, consulte Notas sobre a versão. Este tópico foi escrito para a versão pública atual. Recursos ou parâmetros que só estão disponíveis em uma versão prévia do módulo são especificamente notados.

Exemplos

Exemplo 1

Connect-ExchangeOnline -UserPrincipalName chris@contoso.com

Este exemplo se conecta ao Exchange Online PowerShell usando autenticação moderna, com ou sem MFA (autenticação multifator). Não estamos usando o parâmetro UseRPSSession, portanto, a conexão usa REST e não exige que a autenticação básica seja habilitada no WinROM no computador local. No entanto, somente o subconjunto de parâmetros da API REST usados com frequência está disponível.

Exemplo 2

Connect-ExchangeOnline -UserPrincipalName chris@contoso.com -UseRPSSession

Este exemplo se conecta ao Exchange Online PowerShell usando autenticação moderna, com ou sem MFA. Estamos usando o parâmetro UseRPSSession, portanto, a conexão requer que a autenticação básica seja habilitada no WinRM no computador local. Mas todos os Exchange Online cmdlets do PowerShell estão disponíveis usando o acesso remoto tradicional do PowerShell.

Exemplo 3

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

Este exemplo se conecta ao Exchange Online PowerShell em um cenário de script autônomo usando a chave pública de um certificado.

Exemplo 4

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

Este exemplo se conecta ao Exchange Online PowerShell em um cenário de script autônomo usando uma impressão digital do certificado.

Exemplo 5

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

Este exemplo se conecta ao Exchange Online PowerShell em um cenário de script autônomo usando um arquivo de certificado. Esse método é mais adequado para cenários em que o certificado é armazenado em computadores remotos e buscado em runtime. Por exemplo, o certificado é armazenado no Azure Key Vault.

Exemplo 6

Connect-ExchangeOnline -Device

No PowerShell 7.0.3 ou posterior usando o módulo EXO V2 versão 2.0.4 ou posterior, este exemplo se conecta ao Exchange Online PowerShell em cenários de script interativo em computadores que não têm navegadores da Web.

O comando retorna um URL e um código exclusivo vinculado à sessão. Você precisa abrir o URL em um navegador em qualquer computador e, em seguida, inserir o código exclusivo. Depois de concluir o logon no navegador da Web, a sessão na janela do Windows PowerShell 7 é autenticada por meio do fluxo de autenticação regular do Azure Active Directory e os cmdlets do Exchange Online são importados após alguns segundos.

Exemplo 7

Connect-ExchangeOnline -InlineCredential

No PowerShell 7.0.3 ou posterior usando o módulo EXO V2 versão 2.0.4 ou posterior, este exemplo se conecta ao Exchange Online PowerShell em cenários de script interativo passando credenciais diretamente na janela do PowerShell.

Parâmetros

-AppId

O parâmetro AppId especifica a ID do aplicativo da entidade de serviço usada na CBA (autenticação baseada em certificado). Um valor válido é o GUID da ID do aplicativo (entidade de serviço). Por exemplo, 36ee4c6c-0812-40a2-b820-b22ebd02bce3.

Para obter mais informações, consulte Autenticação somente de aplicativo para scripts autônomos no módulo EXO V2.

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

Observação: se você usar o parâmetro ExchangeEnvironmentName, não precisará usar os parâmetros AzureADAuthorizationEndpointUri ou ConnectionUri.

O parâmetro AzureADAuthorizationEndpointUri especifica o ponto de extremidade Azure AD autorização que pode emitir tokens de acesso OAuth2. Há suporte Exchange Online ambientes do PowerShell e valores relacionados a seguir:

  • Microsoft 365 ou Microsoft 365 GCC: não use este parâmetro. O valor necessário é https://login.microsoftonline.com/common, mas esse também é o valor padrão, portanto, você não precisa usar esse parâmetro.
  • Office 365 Alemanha:https://login.microsoftonline.de/common
  • Microsoft 365 GCC High ou Microsoft 365 DoD: https://login.microsoftonline.us/common

Se você usar o parâmetro UserPrincipalName, não precisará usar o parâmetro AzureADAuthorizationEndpointUri para MFA ou usuários federados em ambientes que normalmente exigem (UserPrincipalName ou AzureADAuthorizationEndpointUri é necessário; OK para usar ambos).

Observação: a autenticação MFA ou a autenticação federada não está disponível Office 365 operada pela 21Vianet.

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

O comutador BypassMailboxAnchoring ignora o uso da dica de ancoragem de caixa de correio. Não é preciso especificar um valor com essa opção.

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

O parâmetro Certificate especifica o certificado usado para a CBA (autenticação baseada em certificado). Um valor válido é o valor do objeto X509Certificate2 do certificado.

Não use esse parâmetro com os parâmetros CertificateFilePath ou CertificateThumbprint.

Para obter mais informações sobre o CBA, consulte autenticação somente de aplicativo para scripts autônomos no módulo EXO V2.

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

O parâmetro CertificateFilePath especifica o certificado usado para o CBA. Um valor válido é o caminho público completo para o arquivo de certificado.

Não use esse parâmetro com os parâmetros Certificate ou CertificateThumbprint.

Para obter mais informações sobre o CBA, consulte autenticação somente de aplicativo para scripts autônomos no módulo EXO V2.

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

O parâmetro CertificatePassword especifica a senha necessária para abrir o arquivo de certificado quando você usa o parâmetro CertificateFilePath para identificar o certificado usado para CBA.

Você pode usar os seguintes métodos como um valor para este parâmetro:

  • (ConvertTo-SecureString -String '<password>' -AsPlainText -Force).
  • Antes de executar esse comando, armazene a senha como uma variável (por exemplo) $password = Read-Host "Enter password" -AsSecureStringe use a variável ($password) para o valor.
  • (Get-Credential).password para ser solicitado a inserir a senha com segurança ao executar este comando.

Para obter mais informações sobre o CBA, consulte autenticação somente de aplicativo para scripts autônomos no módulo EXO V2.

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

O parâmetro CertificateThumbprint especifica o certificado usado para CBA. Um valor válido é o valor de impressão digital do certificado. Por exemplo, 83213AEAC56D61C97AEE5C1528F4AC5EBA7321C1.

Não use esse parâmetro com os parâmetros Certificate ou CertificateFilePath.

Observação: o parâmetro CertificateThumbprint só tem suporte no Microsoft Windows.

Para obter mais informações sobre o CBA, consulte autenticação somente de aplicativo para scripts autônomos no módulo EXO V2.

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

O parâmetro CommandName especifica a lista separada por vírgulas de comandos a serem importados para a sessão. Use esse parâmetro para aplicativos ou scripts que usam um conjunto específico de cmdlets. Reduzir o número de cmdlets na sessão ajuda a melhorar o desempenho e reduz o volume de memória do aplicativo ou script.

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

Observação: se você usar o parâmetro ExchangeEnvironmentName, não precisará usar os parâmetros AzureADAuthorizationEndpointUri ou ConnectionUri.

O parâmetro ConnectionUri especifica o ponto de extremidade de conexão para a sessão Exchange Online do PowerShell remota. Há suporte Exchange Online ambientes do PowerShell e valores relacionados a seguir:

  • Microsoft 365 ou Microsoft 365 GCC: não use este parâmetro. O valor necessário é https://outlook.office365.com/powershell-liveid/, mas esse também é o valor padrão, portanto, você não precisa usar esse parâmetro.
  • Office 365 Alemanha:https://outlook.office.de/PowerShell-LiveID
  • Office 365 operado pela 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

Observação: se sua organização for o Exchange local e você tiver licenças do Exchange Enterprise CAL com Serviços para Proteção do Exchange Online, use esse cmdlet sem o parâmetro ConnectionUri para se conectar ao EOP PowerShell (as mesmas instruções de conexão que o Exchange Online PowerShell no Microsoft 365 ou no Microsoft GCC).

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

O parâmetro Credential especifica o nome de usuário e a senha usados para se conectar ao Exchange Online PowerShell. Normalmente, você usa esse parâmetro em scripts ou quando você precisa fornecer credenciais diferentes que têm as permissões necessárias. Não use esse parâmetro para contas que usam a MFA (autenticação multifator).

Antes de executar o comando Connect-ExchangeOnline, armazene o nome de usuário e a senha em uma variável (por exemplo, $UserCredential = Get-Credential). Em seguida, use o nome da variável ($UserCredential) para esse parâmetro.

Depois que Connect-ExchangeOnline comando for concluído, a chave de senha na variável será esvaziada.

Para especificar a senha de um arquivo de certificado, não use este parâmetro; em vez disso, use o parâmetro CertificatePassword.

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

O parâmetro DelegatedOrganization especifica a organização do cliente que você deseja gerenciar (por exemplo, contosoelectronics.onmicrosoft.com). Esse parâmetro só funcionará se a organização do cliente tiver concordado com o gerenciamento delegado por meio do programa CSP.

Depois de autenticar com êxito, os cmdlets nesta sessão são mapeados para a organização do cliente e todas as operações nesta sessão são feitas na organização do cliente.

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

Observação: esse parâmetro está disponível somente na versão 2.0.4 ou posterior e somente no PowerShell 7.

A opção Dispositivo especifica se os computadores que não têm navegadores da Web devem ser autenticados interativamente para dar suporte ao SSO (logon único). Não é preciso especificar um valor com essa opção.

O comando retorna um URL e um código exclusivo vinculado à sessão. Você precisa abrir o URL em um navegador em qualquer computador e, em seguida, inserir o código exclusivo. Depois de concluir o logon no navegador da Web, a sessão na janela do Windows PowerShell 7 é autenticada por meio do fluxo de autenticação regular do Azure Active Directory e os cmdlets do Exchange Online são importados após alguns segundos.

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

A opção EnableErrorReporting especifica se o relatório de erros deve ser habilitado. Não é preciso especificar um valor com essa opção.

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

O ExchangeEnvironmentName especifica o ambiente Exchange Online e elimina a necessidade de usar os parâmetros AzureADAuthorizationEndpointUri e ConnectionUri. Há suporte Exchange Online ambientes do PowerShell a seguir:

  • Microsoft 365 ou Microsoft 365 GCC: não use este parâmetro. O valor necessário é O365Default, mas esse também é o valor padrão, portanto, você não precisa usar esse parâmetro.
  • Office 365 Alemanha:O365GermanyCloud
  • Office 365 operado pela 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

O parâmetro FormatTypeName especifica o formato de saída do cmdlet.

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

Observação: esse parâmetro está disponível somente na versão 2.0.4 ou posterior e somente no PowerShell 7.

A opção InlineCredential especifica se as credenciais devem ser aprovadas diretamente Windows PowerShell janela. Não é preciso especificar um valor com essa opção.

Essa opção é semelhante ao parâmetro Credential, mas com segurança adicionada. A opção InlineCredential não exige que você armazene as credenciais localmente no script e você pode inserir credenciais diretamente em uma sessão interativa do PowerShell.

Essa opção não funciona com contas que usam MFA.

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

O parâmetro LogDirectoryPath especifica o local dos arquivos de log. O local padrão é %TMP%\EXOCmdletTelemetry\EXOCmdletTelemetry-yyyymmdd-hhmmss.csv.

Se você especificar um local personalizado e um nome de arquivo que contenha espaços, coloque o valor entre aspas (").

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

O parâmetro LogLevel especifica o nível de log. Os valores válidos são Default e All.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Organização

O parâmetro Organization especifica a organização usada no CBA. Certifique-se de usar um domínio .onmicrosoft.com para o valor do parâmetro. Caso contrário, você pode encontrar problemas de permissão enigmáticos ao executar comandos no contexto do aplicativo.

Para obter mais informações sobre o CBA, consulte autenticação somente de aplicativo para scripts autônomos no módulo EXO V2.

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

O parâmetro PageSize especifica o número máximo de entradas por página. A entrada válida para este parâmetro é um número inteiro entre 1 e 1000. O valor padrão é 1000.

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

O parâmetro Prefix especifica um alias a ser adicionado aos substantivos nos nomes de cmdlets remotos mais antigos do PowerShell (cmdlet com substantivos que ainda não começam com EXO). Um valor válido é uma cadeia de caracteres de texto sem espaços ou caracteres especiais, como underscrores, asteriscos etc., e você não pode usar o valor EXO (esse prefixo é reservado para cmdlets de módulo do PowerShell V2).

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

O parâmetro PSSessionOption especifica as opções de sessão do PowerShell a serem usadas em sua conexão com Exchange Online. Você armazena a saída do comando New-PSSessionOption em uma variável, por exemplo:

$Options = New-PSSessionOption <Settings>

E você usa o nome da variável como o valor para esse parâmetro (por exemplo, $Options).

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

A opção ShowBanner mostra ou oculta a mensagem de faixa exibida quando você executa Connect-ExchangeOnline. Não é preciso especificar um valor com essa opção.

  • Para mostrar a faixa, você não precisa usar essa opção (a faixa é exibida por padrão).
  • Para ocultar a faixa, use esta sintaxe exata: -ShowBanner:$false.
Type:SwitchParameter
Position:Named
Default value:$true
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-ShowProgress

O parâmetro ShowProgress especifica se a barra de progresso dos cmdlets importados deve ser exibida ou ocultada quando você se conecta. Os valores válidos são:

  • $true: a barra de progresso é exibida. Esse é o valor padrão.
  • $false: Atualmente, esse valor não tem efeito.
Type:Boolean
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-TrackPerformance

O parâmetro TrackPerformance mede eventos adicionais (por exemplo, carga de CPU e memória consumida). Os valores válidos são:

  • $true: o controle de desempenho está habilitado.
  • $false: o controle de desempenho está desabilitado. Esse é o valor padrão.

Esse parâmetro só funciona quando o registro em log está habilitado.

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

O parâmetro UseMultithreading especifica se é necessário desabilitar ou habilitar o multithreading no módulo EXO V2. Os valores válidos são:

  • $true: habilitar multithreading. Esse é o valor padrão.
  • $false: desabilite o multithreading. Observe que esse valor prejudicará o desempenho dos cmdlets V2.
Type:Boolean
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-UserPrincipalName

O parâmetro UserPrincipalName especifica a conta que você deseja usar para se conectar (por exemplo, navin@contoso.onmicrosoft.com). O uso desse parâmetro permite ignorar a caixa de diálogo de nome de usuário no prompt de autenticação moderna para credenciais (você só precisa inserir sua senha).

Se você usar o parâmetro UserPrincipalName, não precisará usar o parâmetro AzureADAuthorizationEndpointUri para MFA ou usuários federados em ambientes que normalmente exigem (UserPrincipalName ou AzureADAuthorizationEndpointUri é necessário; OK para usar ambos).

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

Esse parâmetro está disponível na versão 2.0.6-Preview3 ou posterior do módulo Exchange Online V2.

A opção UseRPSSession permite que você se conecte Exchange Online PowerShell usando o acesso remoto tradicional do PowerShell a todos os cmdlets. Não é preciso especificar um valor com essa opção.

Essa opção requer que a autenticação básica esteja habilitada no WinRM no computador local. Para obter mais informações, consulte Pré-requisitos no módulo EXO V2.

Se você não usar essa opção, a autenticação básica no WinRM não será necessária, mas apenas o subconjunto de cmdlets da API REST usados com frequência estará disponível.

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