将 AllowSelfServicePurchase 用于 MSCommerce PowerShell 模块

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

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

可以使用 MSCommerce PowerShell 模块来:

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

要求

若要使用 MSCommerce PowerShell 模块,需要:

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

    警告

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

  • 租户的全局读取者角色,用于查看 MSCommerce 产品策略的只读列表。

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
Microsoft 365 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 探索 CFQ7TTC0J1FV
Teams 高级版介绍性定价 CFQ7TTC0RM8K
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 与第三方产品/服务类型配合使用

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

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

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

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 的 ProductId ,然后为该产品禁用 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

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