From 85dc2171c85b4e9904cf76db092e9cec200c9beb Mon Sep 17 00:00:00 2001 From: Chris Davis Date: Thu, 16 Apr 2026 17:56:34 -0700 Subject: [PATCH 1/2] Billing --- .../ExchangePowerShell/ExchangePowerShell.md | 6 + .../ExchangePowerShell/Get-BillingPolicy.md | 70 +++++++++ .../Get-HVEAccountBillingPolicy.md | 79 ++++++++++ .../Set-HVEAccountBillingPolicy.md | 136 ++++++++++++++++++ exchange/mapping/serviceMapping.json | 3 + 5 files changed, 294 insertions(+) create mode 100644 exchange/exchange-ps/ExchangePowerShell/Get-BillingPolicy.md create mode 100644 exchange/exchange-ps/ExchangePowerShell/Get-HVEAccountBillingPolicy.md create mode 100644 exchange/exchange-ps/ExchangePowerShell/Set-HVEAccountBillingPolicy.md diff --git a/exchange/exchange-ps/ExchangePowerShell/ExchangePowerShell.md b/exchange/exchange-ps/ExchangePowerShell/ExchangePowerShell.md index 6d41b3e345..932e88cf17 100644 --- a/exchange/exchange-ps/ExchangePowerShell/ExchangePowerShell.md +++ b/exchange/exchange-ps/ExchangePowerShell/ExchangePowerShell.md @@ -1637,6 +1637,8 @@ Exchange PowerShell is built on PowerShell technology to a powerful command-line ### [Get-AuthServer](Get-AuthServer.md) +### [Get-BillingPolicy](Get-BillingPolicy.md) + ### [Get-CmdletExtensionAgent](Get-CmdletExtensionAgent.md) ### [Get-ExchangeAssistanceConfig](Get-ExchangeAssistanceConfig.md) @@ -1655,6 +1657,8 @@ Exchange PowerShell is built on PowerShell technology to a powerful command-line ### [Get-FeatureConfiguration](Get-FeatureConfiguration.md) +### [Get-HVEAccountBillingPolicy](Get-HVEAccountBillingPolicy.md) + ### [Get-HVEAccountSettings](Get-HVEAccountSettings.md) ### [Get-Notification](Get-Notification.md) @@ -1731,6 +1735,8 @@ Exchange PowerShell is built on PowerShell technology to a powerful command-line ### [Set-FeatureConfiguration](Set-FeatureConfiguration.md) +### [Set-HVEAccountBillingPolicy](Set-HVEAccountBillingPolicy.md) + ### [Set-HVEAccountSettings](Set-HVEAccountSettings.md) ### [Set-Notification](Set-Notification.md) diff --git a/exchange/exchange-ps/ExchangePowerShell/Get-BillingPolicy.md b/exchange/exchange-ps/ExchangePowerShell/Get-BillingPolicy.md new file mode 100644 index 0000000000..e4a40c0a3c --- /dev/null +++ b/exchange/exchange-ps/ExchangePowerShell/Get-BillingPolicy.md @@ -0,0 +1,70 @@ +--- +applicable: Exchange Online, Built-in security add-on for on-premises mailboxes +external help file: +Locale: en-US +Module Name: ExchangePowerShell +online version: https://learn.microsoft.com/powershell/module/exchangepowershell/get-billingpolicy +schema: 2.0.0 +title: Get-BillingPolicy +--- + +# Get-BillingPolicy + +## SYNOPSIS +This cmdlet is available only in the cloud-based service. + +The Get-BillingPolicy cmdlet to return detailed information about Microsoft 365 pay-as-you-go billing policies for High Volume Email configured for your organization. + +For information about the parameter sets in the Syntax section below, see [Exchange cmdlet syntax](https://learn.microsoft.com/powershell/exchange/exchange-cmdlet-syntax). + +## SYNTAX + +``` +Get-BillingPolicy [-ResourceType] [] +``` + +## DESCRIPTION +Billing policies define the Microsoft Azure subscription and related billing metadata used by Microsoft services. For more information, see [Microsoft 365 pay-as-you-go services](https://learn.microsoft.com/microsoft-365/commerce/services/pay-as-you-go-overview). + +You need to be assigned permissions before you can run this cmdlet. Although this article lists all parameters for the cmdlet, you might not have access to some parameters if they aren't included in the permissions assigned to you. To find the permissions required to run any cmdlet or parameter in your organization, see [Find the permissions required to run any Exchange cmdlet](https://learn.microsoft.com/powershell/exchange/find-exchange-cmdlet-permissions). + +## EXAMPLES + +### Example 1 +```powershell +Get-BillingPolicy -ResourceType HVE +``` + +This example returns all billing policies in the organization that can be used with High Volume Email. + +## PARAMETERS + +### -ResourceType + +> Applicable: Exchange Online, Built-in security add-on for on-premises mailboxes + +The ResourceType parameter specifies the type of billing policies to retrieve. Currently, the only supported value is HVE. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: +Accepted values: HVE + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/p/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/exchange/exchange-ps/ExchangePowerShell/Get-HVEAccountBillingPolicy.md b/exchange/exchange-ps/ExchangePowerShell/Get-HVEAccountBillingPolicy.md new file mode 100644 index 0000000000..135b2633c1 --- /dev/null +++ b/exchange/exchange-ps/ExchangePowerShell/Get-HVEAccountBillingPolicy.md @@ -0,0 +1,79 @@ +--- +applicable: Exchange Online, Built-in security add-on for on-premises mailboxes +external help file: +Locale: en-US +Module Name: ExchangePowerShell +online version: https://learn.microsoft.com/powershell/module/exchangepowershell/get-hveaccountbillingpolicy +schema: 2.0.0 +title: Get-HVEAccountBillingPolicy +--- + +# Get-HVEAccountBillingPolicy + +## SYNOPSIS +This cmdlet is available only in the cloud-based service. + +Use the Get-HVEAccountBillingPolicy cmdlet to view the billing policy mapping for a specified High Volume Email (HVE) account. + +For information about the parameter sets in the Syntax section below, see [Exchange cmdlet syntax](https://learn.microsoft.com/powershell/exchange/exchange-cmdlet-syntax). + +## SYNTAX + +``` +Get-HVEAccountBillingPolicy [-Identity] [] +``` + +## DESCRIPTION +An HVE account is a special type of mail user (also known as a mail-enabled user) used to send large amounts of email. For more information, see [High Volume Email](https://learn.microsoft.com/exchange/mail-flow-best-practices/high-volume-mails-m365). + +In the output of this cmdlet, the BillingPolicyStatus property indicates whether the billing configuration allows the HVE account to send email. Common values include: + +- BillingPolicyValid: A valid billing policy is assigned and the subscription is active. +- NoProperBillingPolicyStored: No billing policy is assigned to the account. +- BillingPolicyNotFound: The assigned billing policy no longer exists. +- BillingPolicyMismatched: The billing policy retrieved doesn't match the expected tenant or policy identity. This scenario is uncommon. +- NoConnectedBillingPolicyFound: The billing policy isn't connected to High Volume Email. +- SubscriptionIsNotActive: The subscription linked to the billing policy isn't active. +- NoSPOLicenseFound: No SharePoint Online license is available for the tenant, preventing billing policy validation. + +You need to be assigned permissions before you can run this cmdlet. Although this article lists all parameters for the cmdlet, you might not have access to some parameters if they aren't included in the permissions assigned to you. To find the permissions required to run any cmdlet or parameter in your organization, see [Find the permissions required to run any Exchange cmdlet](https://learn.microsoft.com/powershell/exchange/find-exchange-cmdlet-permissions). + +## EXAMPLES + +### Example 1 +```powershell +Get-HVEAccountBillingPolicy -Identity HVEAccount01@tailspintoys.com +``` + +This example retrieves the billing policy and subscription details associated with the specified HVE account. + +## PARAMETERS + +### -Identity + +> Applicable: Exchange Online, Built-in security add-on for on-premises mailboxes + +The Identity parameter specifies the email address of the HVE account you want to view. + +```yaml +Type: MailUserIdParameter +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: True (ByPropertyName, ByValue) +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/p/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/exchange/exchange-ps/ExchangePowerShell/Set-HVEAccountBillingPolicy.md b/exchange/exchange-ps/ExchangePowerShell/Set-HVEAccountBillingPolicy.md new file mode 100644 index 0000000000..b85b41e049 --- /dev/null +++ b/exchange/exchange-ps/ExchangePowerShell/Set-HVEAccountBillingPolicy.md @@ -0,0 +1,136 @@ +--- +applicable: Exchange Online, Built-in security add-on for on-premises mailboxes +external help file: +Locale: en-US +Module Name: ExchangePowerShell +online version: https://learn.microsoft.com/powershell/module/exchangepowershell/set-hveaccountbillingpolicy +schema: 2.0.0 +title: Set-HVEAccountBillingPolicy +--- + +# Set-HVEAccountBillingPolicy + +## SYNOPSIS +This cmdlet is available only in the cloud-based service. + +Use the Set-HVEAccountBillingPolicy cmdlet to modify the billing policy mapping for a specified High Volume Email (HVE) account. + +For information about the parameter sets in the Syntax section below, see [Exchange cmdlet syntax](https://learn.microsoft.com/powershell/exchange/exchange-cmdlet-syntax). +## SYNTAX + +``` +Set-HVEAccountBillingPolicy [-Identity] -BillingPolicyId + [-Confirm] + [-WhatIf] + [] +``` + +## DESCRIPTION +An HVE account is a special type of mail user (also known as a mail-enabled user) used to send large amounts of email. For more information, see [High Volume Email](https://learn.microsoft.com/exchange/mail-flow-best-practices/high-volume-mails-m365). + +You need to be assigned permissions before you can run this cmdlet. Although this article lists all parameters for the cmdlet, you might not have access to some parameters if they aren't included in the permissions assigned to you. To find the permissions required to run any cmdlet or parameter in your organization, see [Find the permissions required to run any Exchange cmdlet](https://learn.microsoft.com/powershell/exchange/find-exchange-cmdlet-permissions). + +## EXAMPLES + +### Example 1 +```powershell +Set-HVEAccountBillingPolicy -Identity " HVEAccount01@tailspintoys.com" -BillingPolicyId "11111111-1111-1111-1111-111111111111" +``` + +This example assigns the specified billing policy to the specified HVE account. + +### Example 2 +```powershell +Set-HVEAccountBillingPolicy -Identity " HVEAccount01@tailspintoys.com" -BillingPolicyId "" +``` + +This example removes the billing policy mapping from the specified HVE account. + +## PARAMETERS + +### -Identity + +> Applicable: Exchange Online, Built-in security add-on for on-premises mailboxes + +The Identity parameter specifies the email address of the HVE account you want to modify. + +```yaml +Type: MailUserIdParameter +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: True (ByPropertyName, ByValue) +Accept wildcard characters: False +``` + +### -BillingPolicyId + +> Applicable: Exchange Online, Built-in security add-on for on-premises mailboxes + +The BillingPolicyId parameter specified the GUID of the billing policy to assign to the HVE account. + +To view the available billing policies, run the following command: `Get-BillingPolicy -ResourceType HVE`. + +To remove a previously assigned billing policy, use the value `""`. + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm + +> Applicable: Exchange Online, Built-in security add-on for on-premises mailboxes + +This parameter is reserved for internal Microsoft use. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf + +> Applicable: Exchange Online, Built-in security add-on for on-premises mailboxes + +This parameter is reserved for internal Microsoft use. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/p/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/exchange/mapping/serviceMapping.json b/exchange/mapping/serviceMapping.json index dee1d7d6ad..e06d05e4f0 100644 --- a/exchange/mapping/serviceMapping.json +++ b/exchange/mapping/serviceMapping.json @@ -797,6 +797,7 @@ "Get-AuthConfig": "organization", "Get-AuthenticationPolicy": "organization", "Get-AuthServer": "organization", + "Get-BillingPolicy": "organization", "Get-CmdletExtensionAgent": "organization", "Get-ExchangeAssistanceConfig": "organization", "Get-ExchangeDiagnosticInfo": "organization", @@ -806,6 +807,7 @@ "Get-ExchangeServerAccessLicenseUser": "organization", "Get-ExchangeSettings": "organization", "Get-FeatureConfiguration": "organization", + "Get-HVEAccountBillingPolicy": "organization", "Get-HVEAccountSettings": "organization", "Get-Notification": "organization", "Get-OrganizationConfig": "organization", @@ -845,6 +847,7 @@ "Set-ExchangeSettings": "organization", "Set-FeatureConfiguration": "organization", "Set-HVEAccountSettings": "organization", + "Set-HVEAccountBillingPolicy": "organization", "Set-Notification": "organization", "Set-OrganizationConfig": "organization", "Set-PartnerApplication": "organization", From 4d7b3132848b7d904b4df8747239382f5a4aaa88 Mon Sep 17 00:00:00 2001 From: Simone Liebal <235106712+siliebal-ms@users.noreply.github.com> Date: Fri, 17 Apr 2026 13:51:38 +0200 Subject: [PATCH 2/2] Fix typo in Get-BillingPolicy documentation Fixed minor typo in Synopsis section --- exchange/exchange-ps/ExchangePowerShell/Get-BillingPolicy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exchange/exchange-ps/ExchangePowerShell/Get-BillingPolicy.md b/exchange/exchange-ps/ExchangePowerShell/Get-BillingPolicy.md index e4a40c0a3c..e9752ada6c 100644 --- a/exchange/exchange-ps/ExchangePowerShell/Get-BillingPolicy.md +++ b/exchange/exchange-ps/ExchangePowerShell/Get-BillingPolicy.md @@ -13,7 +13,7 @@ title: Get-BillingPolicy ## SYNOPSIS This cmdlet is available only in the cloud-based service. -The Get-BillingPolicy cmdlet to return detailed information about Microsoft 365 pay-as-you-go billing policies for High Volume Email configured for your organization. +Use the Get-BillingPolicy cmdlet to return detailed information about Microsoft 365 pay-as-you-go billing policies for High Volume Email configured for your organization. For information about the parameter sets in the Syntax section below, see [Exchange cmdlet syntax](https://learn.microsoft.com/powershell/exchange/exchange-cmdlet-syntax).