将 AllowSelfServicePurchase 用于 MSCommerce PowerShell 模块

PowerShell 库中提供了 MSCommerce PowerShell 模块。 该模块包括 AllowSelfServicePurchasePolicyID 参数值,该参数值可用于控制组织中的用户是否可以自助购买 Microsoft 或选择第三方产品/服务。

还可以在 Microsoft 365 管理中心管理 AllowSelfServicePurchase 设置。 有关详细信息,请参阅 管理管理员的自助购买和试用版 ()

可以使用 MSCommerce PowerShell 模块:

  • 查看 AllowSelfServicePurchase 参数值的默认状态
  • 查看适用产品及其 AllowSelfServicePurchase 参数值的列表
  • 查看或修改特定产品的当前设置以启用或禁用它
  • 仅适用于 Microsoft 产品:查看或修改没有付款方式的试用版设置

重要

无法使用单个命令在租户级别完全关闭自助购买和试用。 AllowSelfServicePurchase 策略按产品进行管理。 只能通过单独关闭每个产品来关闭整个租户的自助购买和试用。 默认情况下,所有新产品都设置为允许用户进行自助购买。

要求

要使用 MSCommerce PowerShell 模块,需要:

  • Windows 10 或更高版本的操作系统。
  • 租户的全局管理员或计费管理员角色,以更改 MSCommerce 产品策略。

    警告

    全局管理员几乎可以无限制地访问组织的设置及其大部分数据。 为了帮助保护组织的安全,我们建议您尽可能限制全局管理员的数量。

  • 租户的全局读取者角色,以查看 MSCommerce 产品策略的只读列表。
  • 作为代表 AOBO) 客户 (管理员的合作伙伴必须具有设置为全局管理员的角色,才能在Microsoft 365 管理中心中和通过 PowerShell 管理和禁用自助购买。

MSCommerce PowerShell 模块入门

若要开始使用 MSCommerce PowerShell 模块,必须安装该模块,将其导入 PowerShell 会话,然后使用凭据连接到该模块。

安装 MSCommerce PowerShell 模块

在 Windows 10 设备上安装 MSCommerce PowerShell 模块一次,然后将其导入启动的每个 PowerShell 会话中。 从 PowerShell 库下载 MSCommerce PowerShell 模块。

若要使用 PowerShellGet 安装 MSCommerce PowerShell 模块,请运行以下命令:

Install-Module -Name MSCommerce

将 MSCommerce 导入 PowerShell 会话

在 Windows 10 设备上安装该模块后,将其导入启动的每个 PowerShell 会话中。 若要将其导入 PowerShell 会话,请运行以下命令:

Import-Module -Name MSCommerce

使用凭据连接到 MSCommerce

若要使用凭据连接到 PowerShell 模块,请运行以下命令。

Connect-MSCommerce

此命令会将当前 PowerShell 会话连接到 Microsoft Entra 租户。 该命令将提示您输入要连接到的租户的用户名和密码。 如果对凭据启用了多重身份验证,则使用交互式选项登录。

查看 AllowSelfServicePurchase 的详细信息

要查看 AllowSelfServicePurchase 参数值的说明和根据组织的默认状态,请运行以下命令:

Get-MSCommercePolicy -PolicyId AllowSelfServicePurchase

将 AllowSelfServicePurchase 与 Microsoft 产品配合使用

本部分包含有关如何查看自助购买的 Microsoft 产品列表、其当前状态以及如何设置状态的信息。 有关第三方产品/服务类型的信息,请参阅 将 AllowSelfServicePurchase 与第三方产品/服务类型配合使用

查看自助购买 Microsoft 产品及其状态的列表

若要查看可用自助购买 Microsoft 产品的列表以及每个产品的状态,请运行以下命令:

Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase

下表列出了可用的产品及其 ProductId。 它还指示哪些产品提供试用,并且不需要付款方式。 如果适用,所有其他试用版都需要付款方式。 对于未启用付款方式的试用版产品,您可以启用试用版,同时禁用购买产品的功能。 有关示例命令,请参阅查看 或设置 Microsoft 产品的 AllowSelfServicePurchase 状态

产品 ProductId 是否启用了无付款方式试用版?
Clipchamp Premium CFQ7TTC0N8SS
Dynamics 365 BC DYNAMICSBC
Dynamics 365 CE DYNAMICSCE
Dynamics 365 Marketing 其他应用程序 CFQ7TTC0LHVK
Dynamics 365 Marketing CFQ7TTC0LH3N
Dynamics 365 Marketing 附加 CFQ7TTC0LHWP
Clipchamp Premium CFQ7TTC0N8SS
Microsoft Copilot CFQ7TTC0MM8R
Microsoft 365 F3 CFQ7TTC0LH05
Microsoft Purview 发现 CFQ7TTC0N8SL
每个用户的 Power Apps* CFQ7TTC0LH2H
每个用户的 Power Automate* CFQ7TTC0LH3L
Power Automate RPA* CFQ7TTC0LSGZ
Power BI Premium (独立) * CFQ7TTC0H6RP
Power BI Pro* CFQ7TTC0H9MP
Planner 计划 1* CFQ7TTC0HDB1
Project 计划 3* CFQ7TTC0HDB0
Excel 中的 Python CFQ7TTC0S3X1
Teams Essential CFQ7TTC0JN4R
Teams 探索 CFQ7TTC0J1FV
Teams 高级版简介定价 CFQ7TTC0RM8K
具有 Windows 混合权益的 Windows 365 商业版 CFQ7TTC0HX99
Windows 365 商业版 CFQ7TTC0J203
Windows 365 企业版 CFQ7TTC0HHS9
Visio 计划 1* CFQ7TTC0HD33
Visio 计划 2* CFQ7TTC0HD32
仅) Viva Goals (自助试用版 CFQ7TTC0PW0V

*这些项目是更新的 ID。 如果以前使用旧 ID 阻止了产品,则系统会使用新 ID 自动阻止这些产品。 无需其他工作。

查看或设置 Microsoft 产品的 AllowSelfServicePurchase 状态

可以为 AllowSelfServicePurchase 设置 Value 参数以允许或阻止用户自助购买 Microsoft 产品。 还可以使用 OnlyTrialsWithoutPaymentMethod 值来允许用户试用无需付费试用的产品。 若要查看哪些产品启用了这些试用版,请参阅查看 自助购买 Microsoft 产品及其状态列表中的产品列表。 如果启用了 AllowSelfServicePurchase ,则用户只能在试用期结束后购买产品。

注意

更改 AllowSelfServicePurchaseOnlyTrialsWithoutPaymentMethod 的值仅影响从该时间点开始对指定产品进行的试用或购买。 指定产品的现有试用或购买不受影响。

下表描述了 Value 参数的设置。

Setting 结果
已启用 用户可以进行自助购买并获取产品的试用版。
OnlyTrialsWithoutPaymentMethod 用户无法进行自助购买,但可以获取不需要添加付款方式的产品的免费试用。 试用期满后,用户无法购买产品的付费版本。
Disabled 用户无法进行自助购买或获取产品的试用版。

使用以下命令获取或设置策略设置,其中 <ProductID> 是与产品名称关联的字符串。

若要获取特定产品的策略设置,请运行以下命令:

Get-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId ```<ProductID>```

若要启用特定产品的策略设置,请运行以下命令:

Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId <ProductID> -Value "Enabled"

要禁用特定产品的策略设置,请运行以下命令:

Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId <ProductID> -Value "Disabled"

若要允许用户在没有付款方式的情况下试用特定产品,请运行以下命令:

Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId <ProductID> -Value "OnlyTrialsWithoutPaymentMethod" 

将 AllowSelfServicePurchase 与第三方产品/服务类型配合使用

本部分包含有关如何查看第三方产品/服务类型及其状态的自助购买列表,以及如何设置状态的信息。

注意

AllowSelfServicePurchase 策略不会阻止软件即订阅 (Azure 门户中订阅的 SaaS) 产品和服务。

查看自助购买第三方产品/服务类型及其状态的列表

若要查看所有可用自助购买第三方产品/服务类型的列表以及每种产品/服务类型的状态,请运行以下命令:

Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase -Scope OfferType

下表列出了可用的第三方产品/服务类型。 对于自助购买,可以启用或禁用这些产品/服务类型。

产品/服务类型 ID
软件即服务 SaaS
Power BI 视觉对象 POWERBIVISUALS
Dynamics 365 Dataverse 应用 DYNAMICSCE
Dynamics 365 业务中心 DYNAMICSBC

查看或设置第三方产品/服务类型的 AllowSelfServicePurchase 状态

可以为 AllowSelfServicePurchase 设置 Value 参数,以允许或阻止用户进行第三方产品/服务类型的自助购买。

下表描述了 Value 参数的设置。

Setting 结果
已启用 用户可以进行自助购买并获取产品的试用版。
Disabled 用户无法进行自助购买或获取产品的试用版。

使用以下命令获取或设置策略设置,其中 <ID> 是与产品/服务类型关联的字符串。

若要获取特定第三方产品/服务类型的策略设置,请运行以下命令:

Get-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -OfferType <ID>

若要为特定的第三方产品/服务类型启用策略设置,请运行以下命令:

Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -OfferType <ID> -Value "Enabled"

若要禁用特定第三方产品/服务类型的策略设置,请运行以下命令:

Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -OfferType <ID> -Value "Disabled"

禁用 AllowSelfServicePurchase 的示例脚本

以下示例将引导你完成如何导入 MSCommerce 模块、使用帐户登录、获取每个用户的 Power Automate 的产品 ID ,然后为该产品禁用 AllowSelfServicePurchase

Import-Module -Name MSCommerce
Connect-MSCommerce #sign-in with your global or billing administrator account when prompted
$product = Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase | where {$_.ProductName -match 'Power Automate per user'}
Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId $product.ProductID -Value "Disabled"

如果产品有多个值,您可以为每个值单独运行命令,如以下示例所示:

foreach ($id in $product.ProductID) {UpdateUpdate-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId $product[0].ProductID -Value "Disabled"
Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId $product[1].ProductID -Value "Disabled"
Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -OfferType SaaS -Value "Disabled"}

排除 HandleError:无法检索 PolicyId 为“AllowSelfServicePurchase”的策略

在某些情况下,你可能会看到以下错误消息:

HandleError:无法检索策略,PolicyId为“AllowSelfServicePurchase”,ErrorMessage - 基础连接已关闭:发送时发生意外错误。

此错误可能是由于旧版本的传输层安全性 (TLS) 导致的。 连接到此服务时,必须使用 TLS 1.2 或更高版本。

若要解决此错误,请升级到 TLS 1.2。 以下语法更新 ServicePointManager 安全协议以允许 TLS1.2:

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

要了解详细信息,请参阅 如何启用 TLS 1.2

管理自助购买 (管理员) (文章)
自助购买常见问题解答 (文章)