netFramework/ExchangeOnlineManagement-help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Connect-ExchangeOnline</command:name>
      <command:verb>Connect</command:verb>
      <command:noun>ExchangeOnline</command:noun>
      <maml:description>
        <maml:para>This cmdlet is available only in the Exchange Online PowerShell V2 module. For more information, see Connect to Exchange Online PowerShell (https://docs.microsoft.com/powershell/exchange/connect-to-exchange-online-powershell).</maml:para>
        <maml:para>Use the Connect-ExchangeOnline cmdlet in the Exchange Online PowerShell V2 module to connect to Exchange Online PowerShell. To connect to other PowerShell environments (for example, Security &amp; Compliance Center PowerShell or standalone Exchange Online Protection PowerShell), use the Connect-IPPSSession (https://docs.microsoft.com/powershell/module/exchange/connect-ippssession)cmdlet.</maml:para>
        <maml:para>For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax (https://docs.microsoft.com/powershell/exchange/exchange-cmdlet-syntax).</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This cmdlet allows you to create a remote PowerShell connection to your Exchange Online organization. You can use this cmdlet to authenticate for the new REST API-backed cmdlets in the Exchange Online PowerShell V2 module, and also for all existing Exchange Online PowerShell cmdlets (remote PowerShell cmdlets).</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Connect-ExchangeOnline</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>ConnectionUri</maml:name>
          <maml:Description>
            <maml:para>Note : If you use the ExchangeEnvironmentName parameter, you don't need to use the AzureADAuthorizationEndpointUri or ConnectionUri parameters.</maml:para>
            <maml:para>The ConnectionUri parameter specifies the connection endpoint for the remote Exchange Online PowerShell session. The following Exchange Online PowerShell environments and related values are supported:</maml:para>
            <maml:para>- Microsoft 365 or Microsoft 365 GCC: Don't use this parameter. The required value is `https://outlook.office365.com/powershell-liveid/`, but that's also the default value, so you don't need to use this parameter for these environments.</maml:para>
            <maml:para>- Office 365 Germany: `https://outlook.office.de/PowerShell-LiveID`</maml:para>
            <maml:para>- Office 365 operated by 21Vianet: `https://partner.outlook.cn/PowerShell`</maml:para>
            <maml:para>- Microsoft 365 GCC High: `https://outlook.office365.us/powershell-liveid`</maml:para>
            <maml:para>- Microsoft 365 DoD: `https://webmail.apps.mil/powershell-liveid` Note : If your organization is on-premises Exchange, and you have Exchange Enterprise CAL with Services licenses for Exchange Online Protection, use the this cmdlet without the ConnectionUri parameter to connect to EOP PowerShell (the same connection instructions as Exchange Online PowerShell in Microsoft 365 or Microsoft GCC).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>AzureADAuthorizationEndpointUri</maml:name>
          <maml:Description>
            <maml:para>Note : If you use the ExchangeEnvironmentName parameter, you don't need to use the AzureADAuthorizationEndpointUri or ConnectionUri parameters.</maml:para>
            <maml:para>The AzureADAuthorizationEndpointUri parameter specifies the Azure AD Authorization endpoint Uri that can issue OAuth2 access tokens. You use this parameter with multi-factor authentication (MFA) and federated authentication. The following Exchange Online PowerShell environments and related values are supported:</maml:para>
            <maml:para>- Microsoft 365 or Microsoft 365 GCC: Don't use this parameter.</maml:para>
            <maml:para>- Office 365 Germany: `https://login.microsoftonline.de/common`</maml:para>
            <maml:para>- Microsoft 365 GCC High or Microsoft 365 DoD: `https://login.microsoftonline.us/common`. Note : MFA authentication or federated authentication isn't available in Office 365 operated by 21Vianet.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>ExchangeEnvironmentName</maml:name>
          <maml:Description>
            <maml:para>The ExchangeEnvironmentName specifies the Exchange Online environment and replaces the need to use the AzureADAuthorizationEndpointUri or ConnectionUri parameters. The following Exchange Online PowerShell environments are supported:</maml:para>
            <maml:para>- Microsoft 365 or Microsoft 365 GCC: Don't use this parameter. The required value is `O365Default`, but that's also the default value, so you don't need to use this parameter for these environments.</maml:para>
            <maml:para>- Office 365 Germany: `O365GermanyCloud`</maml:para>
            <maml:para>- Office 365 operated by 21Vianet: `O365China`</maml:para>
            <maml:para>- Microsoft 365 GCC High: `O365USGovGCCHigh`</maml:para>
            <maml:para>- Microsoft 365 DoD: `O365USGovDoD`</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">ExchangeEnvironment</command:parameterValue>
          <dev:type>
            <maml:name>ExchangeEnvironment</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>O365Default</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>PSSessionOption</maml:name>
          <maml:Description>
            <maml:para>The PSSessionOption parameter specifies the PowerShell session options to use in your connection to Exchange Online. You store the output of the New-PSSessionOption (https://docs.microsoft.com/powershell/module/microsoft.powershell.core/new-pssessionoption)command in a variable, for example:</maml:para>
            <maml:para>`$Options = New-PSSessionOption &lt;Settings&gt;`</maml:para>
            <maml:para>And you use the variable name as the value for this parameter (for example, `$Options`).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue>
          <dev:type>
            <maml:name>PSSessionOption</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>DelegatedOrganization</maml:name>
          <maml:Description>
            <maml:para>The DelegatedOrganization parameter specifies the customer organization that you want to manage (for example, contosoelectronics.onmicrosoft.com). This parameter only works if the customer organization has agreed to your delegated management via the CSP program.</maml:para>
            <maml:para>After you successfully authenticate, the cmdlets in this session are mapped to the customer organization, and all operations in this session are done on the customer organization.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AppId</maml:name>
          <maml:Description>
            <maml:para>Note : This parameter is available in version 2.0.3 or later.</maml:para>
            <maml:para>The AppId parameter specifies the application ID of the service principal that's used in certificate based authentication (CBA). A valid value is the GUID of the application ID (service principal). For example, `36ee4c6c-0812-40a2-b820-b22ebd02bce3`.</maml:para>
            <maml:para>For more information, see App-only authentication for unattended scripts in the EXO V2 module (https://aka.ms/exov2-cba).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BypassMailboxAnchoring</maml:name>
          <maml:Description>
            <maml:para>The BypassMailboxAnchoring switch bypasses the use of the mailbox anchoring hint. You don't need to specify a value with this switch.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Certificate</maml:name>
          <maml:Description>
            <maml:para>Note : This parameter is available in version 2.0.3 or later.</maml:para>
            <maml:para>The Certificate parameter specifies the certificate that's used for CBA. A valid value is the X509Certificate2 object value of the certificate.</maml:para>
            <maml:para>Don't use this parameter with the CertificateFilePath or CertificateThumbprint parameters.</maml:para>
            <maml:para>For more information about CBA, see App-only authentication for unattended scripts in the EXO V2 module (https://aka.ms/exov2-cba).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">X509Certificate2</command:parameterValue>
          <dev:type>
            <maml:name>X509Certificate2</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CertificateFilePath</maml:name>
          <maml:Description>
            <maml:para>Note : This parameter is available in version 2.0.3 or later.</maml:para>
            <maml:para>The CertificateFilePath parameter specifies the certificate that's used for CBA. A valid value is the complete public path to the certificate file.</maml:para>
            <maml:para>Don't use this parameter with the Certificate or CertificateThumbprint parameters.</maml:para>
            <maml:para>For more information about CBA, see App-only authentication for unattended scripts in the EXO V2 module (https://aka.ms/exov2-cba).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CertificatePassword</maml:name>
          <maml:Description>
            <maml:para>Note : This parameter is available in version 2.0.3 or later.</maml:para>
            <maml:para>The CertificatePassword parameter specifies the password that's required to open the certificate file when you use the CertificateFilePath parameter to identify the certificate that's used for CBA.</maml:para>
            <maml:para>This parameter uses the syntax `(ConvertTo-SecureString -String '&lt;password&gt;' -AsPlainText -Force)`. Or, before you run this command, store the password as a variable (for example, `$password = Read-Host "Enter password" -AsSecureString`), and then use the variable name (`$password`) for this parameter.</maml:para>
            <maml:para>For more information about CBA, see App-only authentication for unattended scripts in the EXO V2 module (https://aka.ms/exov2-cba).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
          <dev:type>
            <maml:name>SecureString</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CertificateThumbprint</maml:name>
          <maml:Description>
            <maml:para>Note : This parameter is available in version 2.0.3 or later.</maml:para>
            <maml:para>The CertificateThumbprint parameter specifies the certificate that's used for CBA. A valid value is the thumbprint value of the certificate. For example, `83213AEAC56D61C97AEE5C1528F4AC5EBA7321C1`.</maml:para>
            <maml:para>Don't use this parameter with the Certificate or CertificateFilePath parameters.</maml:para>
            <maml:para>For more information about CBA, see App-only authentication for unattended scripts in the EXO V2 module (https://aka.ms/exov2-cba).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CommandName</maml:name>
          <maml:Description>
            <maml:para>Note : This parameter is available in version 2.0.3 or later.</maml:para>
            <maml:para>The CommandName parameter specifies the comma separated list of commands to import into the session. Use this parameter for applications or scripts that use a specific set of cmdlets. Reducing the number of cmdlets in the session helps improve performance and reduces the memory footprint of the application or script.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:Description>
            <maml:para>The Credential parameter specifies the username and password that's used to run this command. Typically, you use this parameter in scripts or when you need to provide different credentials that have the required permissions. You don't use this parameter for accounts with multi-factor authentication (MFA).</maml:para>
            <maml:para>A value for this parameter requires the Get-Credential cmdlet. To pause this command and receive a prompt for credentials, use the value `(Get-Credential)`. Or, before you run this command, store the credentials in a variable (for example, `$cred = Get-Credential`) and then use the variable name (`$cred`) for this parameter. For more information, see Get-Credential (https://docs.microsoft.com/powershell/module/microsoft.powershell.security/get-credential).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>PSCredential</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Device</maml:name>
          <maml:Description>
            <maml:para>Note : This parameter is available only in version 2.0.4-Preview1 or later.</maml:para>
            <maml:para>The Device switch specifies whether to authenticate interactively computers that don't have web browsers to support single sign-on (SSO). You don't need to specify a value with this switch.</maml:para>
            <maml:para>This switch works only in Windows PowerShell 7.0 or later for connections to Exchange Online in Linux. The command prints a URL along with a unique code that's tied to the session. You need to open the printed URL in a browser on any computer, and you need to enter the unique code. After you complete the login in the web browser, the session in the Windows Powershell window is authenticated via the regular Azure AD authentication flow, and the Exchange Online cmdlets are imported after few seconds.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableErrorReporting</maml:name>
          <maml:Description>
            <maml:para>The EnableErrorReporting switch enables logging errors to a local file. You don't need to specify a value with this switch.</maml:para>
            <maml:para>By default, it creates 2 files in the %TMP% folder. You can use the LogDirectoryPath parameter to specify the location of the log files.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>FormatTypeName</maml:name>
          <maml:Description>
            <maml:para>The FormatTypeName parameter specifies the output format of the cmdlet.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>InlineCredential</maml:name>
          <maml:Description>
            <maml:para>Note : This parameter is available only in version 2.0.4-Preview1 or later.</maml:para>
            <maml:para>The InlineCredential switch specifies whether to pass credentials directly in the Windows PowerShell window. You don't need to specify a value with this switch.</maml:para>
            <maml:para>This switch works only in Windows PowerShell 7.0 or later for connections to Exchange Online in Linux. This switch is similar to the Credential parameter, but with added security. The InlineCredential switch doesn't require you to store the credentials locally in the script, and you can enter credentials directly in an interactive PowerShell session.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>LogDirectoryPath</maml:name>
          <maml:Description>
            <maml:para>The LogDirectoryPath parameter specifies the location of the log files. The default location is `%TMP%\EXOCmdletTelemetry\EXOCmdletTelemetry-yyyymmdd-hhmmss.csv`.</maml:para>
            <maml:para>If you specify a custom location and filename that contains spaces, enclose the value in quotation marks (").</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>LogLevel</maml:name>
          <maml:Description>
            <maml:para>The LogLevel parameter specifies the logging level. Valid values are Default and All.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PageSize</maml:name>
          <maml:Description>
            <maml:para>The PageSize parameter specifies the maximum number of entries per page. Valid input for this parameter is an integer between 1 and 5000. The default value is 1000.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">UInt32</command:parameterValue>
          <dev:type>
            <maml:name>UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Prefix</maml:name>
          <maml:Description>
            <maml:para>The Prefix parameter specifies an alias to add to nouns in the names of older remote PowerShell cmdlets (cmdlet with nouns that don't already start with EXO). A valid value is a text string without spaces, and you can't use the value EXO (this prefix is reserved for PowerShell V2 module cmdlets).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ShowBanner</maml:name>
          <maml:Description>
            <maml:para>The ShowBanner switch shows or hides the banner message that's displayed when you run Connect-ExchangeOnline. You don't need to specify a value with this switch.</maml:para>
            <maml:para>- To show the banner, you don't need to use this switch (the banner is displayed by default).</maml:para>
            <maml:para>- To hide the banner, use this exact syntax: `-ShowBanner:$false`.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>$true</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ShowProgress</maml:name>
          <maml:Description>
            <maml:para>The ShowProgress parameter shows a visual progress bar in the PowerShell client module. The progress bar shows number of objects received and total number of objects requested. Valid values are:</maml:para>
            <maml:para>- $true: The progress bar is displayed.</maml:para>
            <maml:para>- $false: The progress bar isn't displayed.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TrackPerformance</maml:name>
          <maml:Description>
            <maml:para>The TrackPerformance parameter measures additional events (for example, CPU load and memory consumed). Valid values are:</maml:para>
            <maml:para>- $true: Performance tracking is enabled.</maml:para>
            <maml:para>- $false: Performance tracking is disabled. This is the default value.</maml:para>
            <maml:para>This parameter only when works when logging is enabled.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UseMultithreading</maml:name>
          <maml:Description>
            <maml:para>The UseMultithreading parameter specifies whether to disable or enable multi-threading in the EXO V2 module. Valid values are:</maml:para>
            <maml:para>- $true: Enable multi-threading. This is the default value.</maml:para>
            <maml:para>- $false: Disable multi-threading. Note this value will degrade performance of V2 cmdlets.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UserPrincipalName</maml:name>
          <maml:Description>
            <maml:para>The UserPrincipalName parameter specifies the account that you want to use to connect (for example, navin@contoso.onmicrosoft.com). This parameter allows you to skip the first screen in authentication prompt, and is used for accounts with MFA.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>ConnectionUri</maml:name>
        <maml:Description>
          <maml:para>Note : If you use the ExchangeEnvironmentName parameter, you don't need to use the AzureADAuthorizationEndpointUri or ConnectionUri parameters.</maml:para>
          <maml:para>The ConnectionUri parameter specifies the connection endpoint for the remote Exchange Online PowerShell session. The following Exchange Online PowerShell environments and related values are supported:</maml:para>
          <maml:para>- Microsoft 365 or Microsoft 365 GCC: Don't use this parameter. The required value is `https://outlook.office365.com/powershell-liveid/`, but that's also the default value, so you don't need to use this parameter for these environments.</maml:para>
          <maml:para>- Office 365 Germany: `https://outlook.office.de/PowerShell-LiveID`</maml:para>
          <maml:para>- Office 365 operated by 21Vianet: `https://partner.outlook.cn/PowerShell`</maml:para>
          <maml:para>- Microsoft 365 GCC High: `https://outlook.office365.us/powershell-liveid`</maml:para>
          <maml:para>- Microsoft 365 DoD: `https://webmail.apps.mil/powershell-liveid` Note : If your organization is on-premises Exchange, and you have Exchange Enterprise CAL with Services licenses for Exchange Online Protection, use the this cmdlet without the ConnectionUri parameter to connect to EOP PowerShell (the same connection instructions as Exchange Online PowerShell in Microsoft 365 or Microsoft GCC).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>AzureADAuthorizationEndpointUri</maml:name>
        <maml:Description>
          <maml:para>Note : If you use the ExchangeEnvironmentName parameter, you don't need to use the AzureADAuthorizationEndpointUri or ConnectionUri parameters.</maml:para>
          <maml:para>The AzureADAuthorizationEndpointUri parameter specifies the Azure AD Authorization endpoint Uri that can issue OAuth2 access tokens. You use this parameter with multi-factor authentication (MFA) and federated authentication. The following Exchange Online PowerShell environments and related values are supported:</maml:para>
          <maml:para>- Microsoft 365 or Microsoft 365 GCC: Don't use this parameter.</maml:para>
          <maml:para>- Office 365 Germany: `https://login.microsoftonline.de/common`</maml:para>
          <maml:para>- Microsoft 365 GCC High or Microsoft 365 DoD: `https://login.microsoftonline.us/common`. Note : MFA authentication or federated authentication isn't available in Office 365 operated by 21Vianet.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>ExchangeEnvironmentName</maml:name>
        <maml:Description>
          <maml:para>The ExchangeEnvironmentName specifies the Exchange Online environment and replaces the need to use the AzureADAuthorizationEndpointUri or ConnectionUri parameters. The following Exchange Online PowerShell environments are supported:</maml:para>
          <maml:para>- Microsoft 365 or Microsoft 365 GCC: Don't use this parameter. The required value is `O365Default`, but that's also the default value, so you don't need to use this parameter for these environments.</maml:para>
          <maml:para>- Office 365 Germany: `O365GermanyCloud`</maml:para>
          <maml:para>- Office 365 operated by 21Vianet: `O365China`</maml:para>
          <maml:para>- Microsoft 365 GCC High: `O365USGovGCCHigh`</maml:para>
          <maml:para>- Microsoft 365 DoD: `O365USGovDoD`</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">ExchangeEnvironment</command:parameterValue>
        <dev:type>
          <maml:name>ExchangeEnvironment</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>O365Default</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>PSSessionOption</maml:name>
        <maml:Description>
          <maml:para>The PSSessionOption parameter specifies the PowerShell session options to use in your connection to Exchange Online. You store the output of the New-PSSessionOption (https://docs.microsoft.com/powershell/module/microsoft.powershell.core/new-pssessionoption)command in a variable, for example:</maml:para>
          <maml:para>`$Options = New-PSSessionOption &lt;Settings&gt;`</maml:para>
          <maml:para>And you use the variable name as the value for this parameter (for example, `$Options`).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue>
        <dev:type>
          <maml:name>PSSessionOption</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>DelegatedOrganization</maml:name>
        <maml:Description>
          <maml:para>The DelegatedOrganization parameter specifies the customer organization that you want to manage (for example, contosoelectronics.onmicrosoft.com). This parameter only works if the customer organization has agreed to your delegated management via the CSP program.</maml:para>
          <maml:para>After you successfully authenticate, the cmdlets in this session are mapped to the customer organization, and all operations in this session are done on the customer organization.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AppId</maml:name>
        <maml:Description>
          <maml:para>Note : This parameter is available in version 2.0.3 or later.</maml:para>
          <maml:para>The AppId parameter specifies the application ID of the service principal that's used in certificate based authentication (CBA). A valid value is the GUID of the application ID (service principal). For example, `36ee4c6c-0812-40a2-b820-b22ebd02bce3`.</maml:para>
          <maml:para>For more information, see App-only authentication for unattended scripts in the EXO V2 module (https://aka.ms/exov2-cba).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BypassMailboxAnchoring</maml:name>
        <maml:Description>
          <maml:para>The BypassMailboxAnchoring switch bypasses the use of the mailbox anchoring hint. You don't need to specify a value with this switch.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Certificate</maml:name>
        <maml:Description>
          <maml:para>Note : This parameter is available in version 2.0.3 or later.</maml:para>
          <maml:para>The Certificate parameter specifies the certificate that's used for CBA. A valid value is the X509Certificate2 object value of the certificate.</maml:para>
          <maml:para>Don't use this parameter with the CertificateFilePath or CertificateThumbprint parameters.</maml:para>
          <maml:para>For more information about CBA, see App-only authentication for unattended scripts in the EXO V2 module (https://aka.ms/exov2-cba).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">X509Certificate2</command:parameterValue>
        <dev:type>
          <maml:name>X509Certificate2</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CertificateFilePath</maml:name>
        <maml:Description>
          <maml:para>Note : This parameter is available in version 2.0.3 or later.</maml:para>
          <maml:para>The CertificateFilePath parameter specifies the certificate that's used for CBA. A valid value is the complete public path to the certificate file.</maml:para>
          <maml:para>Don't use this parameter with the Certificate or CertificateThumbprint parameters.</maml:para>
          <maml:para>For more information about CBA, see App-only authentication for unattended scripts in the EXO V2 module (https://aka.ms/exov2-cba).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CertificatePassword</maml:name>
        <maml:Description>
          <maml:para>Note : This parameter is available in version 2.0.3 or later.</maml:para>
          <maml:para>The CertificatePassword parameter specifies the password that's required to open the certificate file when you use the CertificateFilePath parameter to identify the certificate that's used for CBA.</maml:para>
          <maml:para>This parameter uses the syntax `(ConvertTo-SecureString -String '&lt;password&gt;' -AsPlainText -Force)`. Or, before you run this command, store the password as a variable (for example, `$password = Read-Host "Enter password" -AsSecureString`), and then use the variable name (`$password`) for this parameter.</maml:para>
          <maml:para>For more information about CBA, see App-only authentication for unattended scripts in the EXO V2 module (https://aka.ms/exov2-cba).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
        <dev:type>
          <maml:name>SecureString</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CertificateThumbprint</maml:name>
        <maml:Description>
          <maml:para>Note : This parameter is available in version 2.0.3 or later.</maml:para>
          <maml:para>The CertificateThumbprint parameter specifies the certificate that's used for CBA. A valid value is the thumbprint value of the certificate. For example, `83213AEAC56D61C97AEE5C1528F4AC5EBA7321C1`.</maml:para>
          <maml:para>Don't use this parameter with the Certificate or CertificateFilePath parameters.</maml:para>
          <maml:para>For more information about CBA, see App-only authentication for unattended scripts in the EXO V2 module (https://aka.ms/exov2-cba).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CommandName</maml:name>
        <maml:Description>
          <maml:para>Note : This parameter is available in version 2.0.3 or later.</maml:para>
          <maml:para>The CommandName parameter specifies the comma separated list of commands to import into the session. Use this parameter for applications or scripts that use a specific set of cmdlets. Reducing the number of cmdlets in the session helps improve performance and reduces the memory footprint of the application or script.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Credential</maml:name>
        <maml:Description>
          <maml:para>The Credential parameter specifies the username and password that's used to run this command. Typically, you use this parameter in scripts or when you need to provide different credentials that have the required permissions. You don't use this parameter for accounts with multi-factor authentication (MFA).</maml:para>
          <maml:para>A value for this parameter requires the Get-Credential cmdlet. To pause this command and receive a prompt for credentials, use the value `(Get-Credential)`. Or, before you run this command, store the credentials in a variable (for example, `$cred = Get-Credential`) and then use the variable name (`$cred`) for this parameter. For more information, see Get-Credential (https://docs.microsoft.com/powershell/module/microsoft.powershell.security/get-credential).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>PSCredential</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Device</maml:name>
        <maml:Description>
          <maml:para>Note : This parameter is available only in version 2.0.4-Preview1 or later.</maml:para>
          <maml:para>The Device switch specifies whether to authenticate interactively computers that don't have web browsers to support single sign-on (SSO). You don't need to specify a value with this switch.</maml:para>
          <maml:para>This switch works only in Windows PowerShell 7.0 or later for connections to Exchange Online in Linux. The command prints a URL along with a unique code that's tied to the session. You need to open the printed URL in a browser on any computer, and you need to enter the unique code. After you complete the login in the web browser, the session in the Windows Powershell window is authenticated via the regular Azure AD authentication flow, and the Exchange Online cmdlets are imported after few seconds.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>EnableErrorReporting</maml:name>
        <maml:Description>
          <maml:para>The EnableErrorReporting switch enables logging errors to a local file. You don't need to specify a value with this switch.</maml:para>
          <maml:para>By default, it creates 2 files in the %TMP% folder. You can use the LogDirectoryPath parameter to specify the location of the log files.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>FormatTypeName</maml:name>
        <maml:Description>
          <maml:para>The FormatTypeName parameter specifies the output format of the cmdlet.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>InlineCredential</maml:name>
        <maml:Description>
          <maml:para>Note : This parameter is available only in version 2.0.4-Preview1 or later.</maml:para>
          <maml:para>The InlineCredential switch specifies whether to pass credentials directly in the Windows PowerShell window. You don't need to specify a value with this switch.</maml:para>
          <maml:para>This switch works only in Windows PowerShell 7.0 or later for connections to Exchange Online in Linux. This switch is similar to the Credential parameter, but with added security. The InlineCredential switch doesn't require you to store the credentials locally in the script, and you can enter credentials directly in an interactive PowerShell session.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>LogDirectoryPath</maml:name>
        <maml:Description>
          <maml:para>The LogDirectoryPath parameter specifies the location of the log files. The default location is `%TMP%\EXOCmdletTelemetry\EXOCmdletTelemetry-yyyymmdd-hhmmss.csv`.</maml:para>
          <maml:para>If you specify a custom location and filename that contains spaces, enclose the value in quotation marks (").</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>LogLevel</maml:name>
        <maml:Description>
          <maml:para>The LogLevel parameter specifies the logging level. Valid values are Default and All.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PageSize</maml:name>
        <maml:Description>
          <maml:para>The PageSize parameter specifies the maximum number of entries per page. Valid input for this parameter is an integer between 1 and 5000. The default value is 1000.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">UInt32</command:parameterValue>
        <dev:type>
          <maml:name>UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Prefix</maml:name>
        <maml:Description>
          <maml:para>The Prefix parameter specifies an alias to add to nouns in the names of older remote PowerShell cmdlets (cmdlet with nouns that don't already start with EXO). A valid value is a text string without spaces, and you can't use the value EXO (this prefix is reserved for PowerShell V2 module cmdlets).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ShowBanner</maml:name>
        <maml:Description>
          <maml:para>The ShowBanner switch shows or hides the banner message that's displayed when you run Connect-ExchangeOnline. You don't need to specify a value with this switch.</maml:para>
          <maml:para>- To show the banner, you don't need to use this switch (the banner is displayed by default).</maml:para>
          <maml:para>- To hide the banner, use this exact syntax: `-ShowBanner:$false`.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>$true</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ShowProgress</maml:name>
        <maml:Description>
          <maml:para>The ShowProgress parameter shows a visual progress bar in the PowerShell client module. The progress bar shows number of objects received and total number of objects requested. Valid values are:</maml:para>
          <maml:para>- $true: The progress bar is displayed.</maml:para>
          <maml:para>- $false: The progress bar isn't displayed.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TrackPerformance</maml:name>
        <maml:Description>
          <maml:para>The TrackPerformance parameter measures additional events (for example, CPU load and memory consumed). Valid values are:</maml:para>
          <maml:para>- $true: Performance tracking is enabled.</maml:para>
          <maml:para>- $false: Performance tracking is disabled. This is the default value.</maml:para>
          <maml:para>This parameter only when works when logging is enabled.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>UseMultithreading</maml:name>
        <maml:Description>
          <maml:para>The UseMultithreading parameter specifies whether to disable or enable multi-threading in the EXO V2 module. Valid values are:</maml:para>
          <maml:para>- $true: Enable multi-threading. This is the default value.</maml:para>
          <maml:para>- $false: Disable multi-threading. Note this value will degrade performance of V2 cmdlets.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>UserPrincipalName</maml:name>
        <maml:Description>
          <maml:para>The UserPrincipalName parameter specifies the account that you want to use to connect (for example, navin@contoso.onmicrosoft.com). This parameter allows you to skip the first screen in authentication prompt, and is used for accounts with MFA.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name> </maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name> </maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>$UserCredential = Get-Credential
Connect-ExchangeOnline -Credential $UserCredential</dev:code>
        <dev:remarks>
          <maml:para>The first command gets the user credentials and stores them in the $UserCredential variable.</maml:para>
          <maml:para>The second command connects the current PowerShell session using the credentials in the $UserCredential, which isn't MFA enabled.</maml:para>
          <maml:para>After the Connect-ExchangeOnline command is successful, you can run ExO V2 module cmdlets and older remote PowerShell cmdlets.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 2 --------------------------</maml:title>
        <dev:code>Connect-ExchangeOnline -UserPrincipalName chris@contoso.com -ShowProgress $true</dev:code>
        <dev:remarks>
          <maml:para>This command connects the current PowerShell session using chris@contoso.com account, which is MFA enabled.</maml:para>
          <maml:para>After the command is successful, you can run ExO V2 module cmdlets and older remote PowerShell cmdlets.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 3 --------------------------</maml:title>
        <dev:code>Connect-ExchangeOnline -AppId &lt;%App_id%&gt; -CertificateFilePath "C:\users\navin\Documents\TestCert.pfx" -Organization "contoso.onmicrosoft.com"</dev:code>
        <dev:remarks>
          <maml:para>Use this syntax to connect to Exchange Online in unattended scripting scenarios using the public key of a certificate.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 4 --------------------------</maml:title>
        <dev:code>Connect-ExchangeOnline -AppId &lt;%App_id%&gt; -CertificateThumbprint &lt;%Thumbprint string of certificate%&gt; -Organization "contoso.onmicrosoft.com"</dev:code>
        <dev:remarks>
          <maml:para>In version 2.0.3 or later, use this syntax to connect to Exchange Online in unattended scripting scenarios using a certificate thumbprint.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 5 --------------------------</maml:title>
        <dev:code>Connect-ExchangeOnline -AppId &lt;%App_id%&gt; -Certificate &lt;%X509Certificate object%&gt; -Organization "contoso.onmicrosoft.com"</dev:code>
        <dev:remarks>
          <maml:para>In version 2.0.3 or later, use this syntax to connect to Exchange Online in unattended scripting scenarios using a certificate file. This method is best suited for scenarios where the certificate is stored in remote machines and fetched at runtime. For example, the certificate is stored in the Azure Key Vault.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 6 --------------------------</maml:title>
        <dev:code>Connect-ExchangeOnline -Device</dev:code>
        <dev:remarks>
          <maml:para>In Windows PowerShell 7.0 or later using version 2.0.4-Preview1 or later in Linux, this command connects to Exchange Online using single sign-on (SSO) in interactive scripting scenarios on computers that don't have web browsers.</maml:para>
          <maml:para>The command prints a URL along with a unique code that's tied to the session. You need to open the printed URL in a browser on any computer, and you need to enter the unique code. After you complete the login in the web browser, the session in the Windows Powershell window is authenticated via the regular Azure AD authentication flow, and the Exchange Online cmdlets are imported after few seconds.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 7 --------------------------</maml:title>
        <dev:code>Connect-ExchangeOnline -InlineCredential</dev:code>
        <dev:remarks>
          <maml:para>In Windows PowerShell 7.0 or later using version 2.0.4-Preview1 or later in Linux, this command connects to Exchange Online in interactive scripting scenarios by passing credentials directly in the Windows PowerShell window.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://docs.microsoft.com/powershell/module/exchange/connect-exchangeonline</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Connect-IPPSSession</command:name>
      <command:verb>Connect</command:verb>
      <command:noun>IPPSSession</command:noun>
      <maml:description>
        <maml:para>This cmdlet is available only in the Exchange Online PowerShell V2 module. For more information, see Connect to Exchange Online PowerShell (https://docs.microsoft.com/powershell/exchange/connect-to-exchange-online-powershell).</maml:para>
        <maml:para>Use the Connect-IPPSSession cmdlet in the Exchange Online PowerShell V2 module to connect to Security &amp; Compliance Center PowerShell or standalone Exchange Online Protection PowerShell. Note : If your organization is on-premises Exchange, and you have Exchange Enterprise CAL with Services licenses for Exchange Online Protection (EOP), use the Connect-ExchangeOnline (https://docs.microsoft.com/powershell/module/exchange/connect-exchangeonline)cmdlet the Exchange Online PowerShell instructions to connect to your EOP PowerShell environment.</maml:para>
        <maml:para>For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax (https://docs.microsoft.com/powershell/exchange/exchange-cmdlet-syntax).</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This cmdlet allows you to create a remote PowerShell session to Exchange-related PowerShell environments other than Exchange Online PowerShell. For example, Security &amp; Compliance Center PowerShell or standalone Exchange Online Protection PowerShell (for organizations without Exchange Online mailboxes).</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Connect-IPPSSession</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>ConnectionUri</maml:name>
          <maml:Description>
            <maml:para>The ConnectionUri parameter specifies the connection endpoint for the remote PowerShell session. The following PowerShell environments and related values are supported:</maml:para>
            <maml:para>- Security &amp; Compliance Center PowerShell in Microsoft 365 or Microsoft 365 GCC: Don't use this parameter. The required value is `https://ps.compliance.protection.outlook.com/powershell-liveid/`, but that's also the default value, so you don't need to use this parameter for these environments.</maml:para>
            <maml:para>- Security &amp; Compliance Center PowerShell in Office 365 Germany: `https://ps.compliance.protection.outlook.de/PowerShell-LiveID`</maml:para>
            <maml:para>- Security &amp; Compliance Center PowerShell in Microsoft 365 GCC High: `https://ps.compliance.protection.office365.us/powershell-liveid/`</maml:para>
            <maml:para>- Security &amp; Compliance Center PowerShell in Microsoft 365 DoD: `https://l5.ps.compliance.protection.office365.us/powershell-liveid/`</maml:para>
            <maml:para>- Exchange Online Protection PowerShell in standalone EOP organizations without Exchange Online mailboxes: `https://ps.protection.outlook.com/powershell-liveid/`</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>AzureADAuthorizationEndpointUri</maml:name>
          <maml:Description>
            <maml:para>The AzureADAuthorizationEndpointUri parameter specifies the Azure AD Authorization endpoint Uri that can issue OAuth2 access tokens. You use this parameter with multi-factor authentication (MFA) and federated authentication. The following PowerShell environments and related values are supported:</maml:para>
            <maml:para>- Security &amp; Compliance Center PowerShell in Microsoft 365 or Microsoft 365 GCC: Don't use this parameter.</maml:para>
            <maml:para>- Security &amp; Compliance Center PowerShell in Office 365 Germany: `https://login.microsoftonline.de/common`</maml:para>
            <maml:para>- Security &amp; Compliance Center PowerShell in Microsoft 365 GCC High or Microsoft 365 DoD: `https://login.microsoftonline.us/common`</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>DelegatedOrganization</maml:name>
          <maml:Description>
            <maml:para>The DelegatedOrganization parameter specifies the customer organization that you want to manage (for example, contosoelectronics.onmicrosoft.com). This parameter only works if the customer organization has agreed to your delegated management via the CSP program.</maml:para>
            <maml:para>After you successfully authenticate, the cmdlets in this session are mapped to the customer organization, and all operations in this session are done on the customer organization.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>PSSessionOption</maml:name>
          <maml:Description>
            <maml:para>The PSSessionOption parameter specifies the PowerShell session options to use in your connection to Exchange Online. You store the output of the New-PSSessionOption (https://docs.microsoft.com/powershell/module/microsoft.powershell.core/new-pssessionoption)command in a variable, for example:</maml:para>
            <maml:para>`$Options = New-PSSessionOption &lt;Settings&gt;`</maml:para>
            <maml:para>And you use the variable name as the value for this parameter (for example, `$Options`).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue>
          <dev:type>
            <maml:name>PSSessionOption</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BypassMailboxAnchoring</maml:name>
          <maml:Description>
            <maml:para>The BypassMailboxAnchoring switch bypasses the use of the mailbox anchoring hint. You don't need to specify a value with this switch.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:Description>
            <maml:para>The Credential parameter specifies the username and password that's used to run this command. Typically, you use this parameter in scripts or when you need to provide different credentials that have the required permissions. You don't use this parameter for accounts with multi-factor authentication (MFA).</maml:para>
            <maml:para>A value for this parameter requires the Get-Credential cmdlet. To pause this command and receive a prompt for credentials, use the value `(Get-Credential)`. Or, before you run this command, store the credentials in a variable (for example, `$cred = Get-Credential`) and then use the variable name (`$cred`) for this parameter. For more information, see Get-Credential (https://docs.microsoft.com/powershell/module/microsoft.powershell.security/get-credential).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>PSCredential</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UserPrincipalName</maml:name>
          <maml:Description>
            <maml:para>The UserPrincipalName parameter specifies the account that you want to use to connect (for example, navin@contoso.onmicrosoft.com). Using this parameter allows you to skip the first screen in authentication prompt, and is used for accounts with MFA.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>AzureADAuthorizationEndpointUri</maml:name>
        <maml:Description>
          <maml:para>The AzureADAuthorizationEndpointUri parameter specifies the Azure AD Authorization endpoint Uri that can issue OAuth2 access tokens. You use this parameter with multi-factor authentication (MFA) and federated authentication. The following PowerShell environments and related values are supported:</maml:para>
          <maml:para>- Security &amp; Compliance Center PowerShell in Microsoft 365 or Microsoft 365 GCC: Don't use this parameter.</maml:para>
          <maml:para>- Security &amp; Compliance Center PowerShell in Office 365 Germany: `https://login.microsoftonline.de/common`</maml:para>
          <maml:para>- Security &amp; Compliance Center PowerShell in Microsoft 365 GCC High or Microsoft 365 DoD: `https://login.microsoftonline.us/common`</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BypassMailboxAnchoring</maml:name>
        <maml:Description>
          <maml:para>The BypassMailboxAnchoring switch bypasses the use of the mailbox anchoring hint. You don't need to specify a value with this switch.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>ConnectionUri</maml:name>
        <maml:Description>
          <maml:para>The ConnectionUri parameter specifies the connection endpoint for the remote PowerShell session. The following PowerShell environments and related values are supported:</maml:para>
          <maml:para>- Security &amp; Compliance Center PowerShell in Microsoft 365 or Microsoft 365 GCC: Don't use this parameter. The required value is `https://ps.compliance.protection.outlook.com/powershell-liveid/`, but that's also the default value, so you don't need to use this parameter for these environments.</maml:para>
          <maml:para>- Security &amp; Compliance Center PowerShell in Office 365 Germany: `https://ps.compliance.protection.outlook.de/PowerShell-LiveID`</maml:para>
          <maml:para>- Security &amp; Compliance Center PowerShell in Microsoft 365 GCC High: `https://ps.compliance.protection.office365.us/powershell-liveid/`</maml:para>
          <maml:para>- Security &amp; Compliance Center PowerShell in Microsoft 365 DoD: `https://l5.ps.compliance.protection.office365.us/powershell-liveid/`</maml:para>
          <maml:para>- Exchange Online Protection PowerShell in standalone EOP organizations without Exchange Online mailboxes: `https://ps.protection.outlook.com/powershell-liveid/`</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Credential</maml:name>
        <maml:Description>
          <maml:para>The Credential parameter specifies the username and password that's used to run this command. Typically, you use this parameter in scripts or when you need to provide different credentials that have the required permissions. You don't use this parameter for accounts with multi-factor authentication (MFA).</maml:para>
          <maml:para>A value for this parameter requires the Get-Credential cmdlet. To pause this command and receive a prompt for credentials, use the value `(Get-Credential)`. Or, before you run this command, store the credentials in a variable (for example, `$cred = Get-Credential`) and then use the variable name (`$cred`) for this parameter. For more information, see Get-Credential (https://docs.microsoft.com/powershell/module/microsoft.powershell.security/get-credential).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>PSCredential</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>DelegatedOrganization</maml:name>
        <maml:Description>
          <maml:para>The DelegatedOrganization parameter specifies the customer organization that you want to manage (for example, contosoelectronics.onmicrosoft.com). This parameter only works if the customer organization has agreed to your delegated management via the CSP program.</maml:para>
          <maml:para>After you successfully authenticate, the cmdlets in this session are mapped to the customer organization, and all operations in this session are done on the customer organization.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>PSSessionOption</maml:name>
        <maml:Description>
          <maml:para>The PSSessionOption parameter specifies the PowerShell session options to use in your connection to Exchange Online. You store the output of the New-PSSessionOption (https://docs.microsoft.com/powershell/module/microsoft.powershell.core/new-pssessionoption)command in a variable, for example:</maml:para>
          <maml:para>`$Options = New-PSSessionOption &lt;Settings&gt;`</maml:para>
          <maml:para>And you use the variable name as the value for this parameter (for example, `$Options`).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">PSSessionOption</command:parameterValue>
        <dev:type>
          <maml:name>PSSessionOption</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>UserPrincipalName</maml:name>
        <maml:Description>
          <maml:para>The UserPrincipalName parameter specifies the account that you want to use to connect (for example, navin@contoso.onmicrosoft.com). Using this parameter allows you to skip the first screen in authentication prompt, and is used for accounts with MFA.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name> </maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name> </maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>$UserCredential = Get-Credential
Connect-IPPSSession -Credential $UserCredential</dev:code>
        <dev:remarks>
          <maml:para>This example connects to Security &amp; Compliance Center PowerShell in a Microsoft 365 organization.</maml:para>
          <maml:para>The first command gets the user credentials and stores them in the $UserCredential variable.</maml:para>
          <maml:para>The second command connects the current PowerShell session using the credentials in the $UserCredential, which isn't MFA enabled. Note that after the second command is complete, the password key in the $UserCredential variable becomes empty.</maml:para>
          <maml:para>After the Connect-IPPSSession command is successful, you can run Security &amp; Compliance Center cmdlets.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 2 --------------------------</maml:title>
        <dev:code>Connect-IPPSSession -Credential (Get-Credential) -ConnectionUri https://ps.protection.outlook.com/powershell-liveid/</dev:code>
        <dev:remarks>
          <maml:para>This example connects to standalone Exchange Online Protection PowerShell in an organization that doesn't have Exchange Online mailboxes.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://docs.microsoft.com/powershell/module/exchange/connect-ippssession</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Disconnect-ExchangeOnline</command:name>
      <command:verb>Disconnect</command:verb>
      <command:noun>ExchangeOnline</command:noun>
      <maml:description>
        <maml:para>This cmdlet is available only in the Exchange Online PowerShell V2 module. For more information, see Connect to Exchange Online PowerShell (https://docs.microsoft.com/powershell/exchange/connect-to-exchange-online-powershell).</maml:para>
        <maml:para>Use the Disconnect-ExchangeOnline cmdlet in the Exchange Online PowerShell V2 module to disconnect from remote PowerShell sessions that you opened using the Connect-ExchangeOnline or Connect-IPPSSession cmdlets.</maml:para>
        <maml:para>For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax (https://docs.microsoft.com/powershell/exchange/exchange-cmdlet-syntax).</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The Connect-ExchangeOnline cmdlet establishes a connection to the Exchange Online organization of the logged-in admin user. This cmdlet is the counterpart to Connect-ExchangeOnline.</maml:para>
      <maml:para>Disconnect-ExchangeOnline closes any active session and clears the cache. After a successful disconnect, you can't run any of the V2 cmdlets or older remote PowerShell cmdlets.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Disconnect-ExchangeOnline</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:Description>
            <maml:para>The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on if the cmdlet requires confirmation before proceeding.</maml:para>
            <maml:para>- Destructive cmdlets (for example, Remove-* cmdlets) have a built-in pause that forces you to acknowledge the command before proceeding. For these cmdlets, you can skip the confirmation prompt by using this exact syntax: -Confirm:$false.</maml:para>
            <maml:para>- Most other cmdlets (for example, New-\ and Set-\ cmdlets) don't have a built-in pause. For these cmdlets, specifying the Confirm switch without a value introduces a pause that forces you acknowledge the command before proceeding.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:Description>
            <maml:para>The WhatIf switch simulates the actions of the command. You can use this switch to view the changes that would occur without actually applying those changes. You don't need to specify a value with this switch.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:Description>
          <maml:para>The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on if the cmdlet requires confirmation before proceeding.</maml:para>
          <maml:para>- Destructive cmdlets (for example, Remove-* cmdlets) have a built-in pause that forces you to acknowledge the command before proceeding. For these cmdlets, you can skip the confirmation prompt by using this exact syntax: -Confirm:$false.</maml:para>
          <maml:para>- Most other cmdlets (for example, New-\ and Set-\ cmdlets) don't have a built-in pause. For these cmdlets, specifying the Confirm switch without a value introduces a pause that forces you acknowledge the command before proceeding.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:Description>
          <maml:para>The WhatIf switch simulates the actions of the command. You can use this switch to view the changes that would occur without actually applying those changes. You don't need to specify a value with this switch.</maml:para>
        </maml:Description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name> </maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name> </maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>Disconnect-ExchangeOnline</dev:code>
        <dev:remarks>
          <maml:para>This example asks for confirmation before disconnecting the current PowerShell session with Exchange Online.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 2 --------------------------</maml:title>
        <dev:code>Disconnect-ExchangeOnline -Confirm:$false</dev:code>
        <dev:remarks>
          <maml:para>This example disconnects the current PowerShell session with Exchange Online silently and without a confirmation prompt.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://docs.microsoft.com/powershell/module/exchange/disconnect-exchangeonline</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
</helpItems>