Applies to: Exchange Online

This cmdlet is available only in the cloud-based service.

The New-HotmailSubscription cmdlet allows a user to create Hotmail account subscriptions in their own cloud-based mailbox. An administrator can't use this cmdlet to create subscriptions in another user's mailbox.

For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax.

New-HotmailSubscription -EmailAddress <SmtpAddress> -Name <String> -Password <SecureString> [-Confirm [<SwitchParameter>]] [-DisplayName <String>] [-Mailbox <MailboxIdParameter>] [-WhatIf [<SwitchParameter>]]

This example creates the Hotmail subscription Ayla's Hotmail in the mailbox of the user Ayla Kol. The Hotmail account has the following details:

  • Email address:

  • Password: Pa$$word1

New-HotmailSubscription -Name "Ayla's Hotmail" -EmailAddress -Password (ConvertTo-SecureString -String 'Pa$$word1' -AsPlainText -Force)

The New-HotmailSubscription cmdlet creates a connection between a user's mailbox in the cloud-based service and a remote Hotmail mailbox. The cloud-based mailbox periodically polls the Hotmail mailbox for new messages.

You need to be assigned permissions before you can run this cmdlet. Although all parameters for this cmdlet are listed in this topic, you may not have access to some parameters if they're not included in the permissions assigned to you. To see what permissions you need, see the "Subscriptions" entry in the Feature permissions in Exchange Online topic.


Parameter Required Type Description




The EmailAddress parameter specifies the email address of the Hotmail mailbox.




The Name parameter specifies the name of the Hotmail subscription. The name of the subscription doesn't have to be globally unique. The name must be unique compared to other subscriptions that exist in the same mailbox.




The Password parameter specifies the password used to sign in to the Hotmail mailbox. You must specify the value for this parameter in a secure format, for example, (ConvertTo-SecureString -String '<password>' -AsPlainText -Force).




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.

  • 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.

  • 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.




The DisplayName parameter specifies the friendly name of the Hotmail subscription. If you don't specify a value for the DisplayName parameter, the value of the EmailAddress parameter is used.




The Mailbox parameter specifies the cloud-based mailbox that will contain the Hotmail subscription. You can use any value that uniquely identifies the mailbox.

For example:

  • Name

  • Display name

  • Alias

  • Distinguished name (DN)

  • Canonical DN

  • <domain name>\<account name>

  • Email address

  • GUID

  • LegacyExchangeDN

  • SamAccountName

  • User ID or user principal name (UPN)




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.

To see the input types that this cmdlet accepts, see Cmdlet Input and Output Types. If the Input Type field for a cmdlet is blank, the cmdlet doesn’t accept input data.

To see the return types, which are also known as output types, that this cmdlet accepts, see Cmdlet Input and Output Types. If the Output Type field is blank, the cmdlet doesn’t return data.