将 AllowSelfServicePurchase 用于 MSCommerce PowerShell 模块

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

可以使用 MSCommerce PowerShell 模块来:

  • 查看 AllowSelfServicePurchase 参数值的默认状态 - 无论是启用、禁用还是允许在没有付款方式的情况下试用
  • 查看适用产品的列表,以及自助购买是否已启用、禁用或允许在没有付款方式的情况下试用
  • 查看或修改特定产品的当前设置,以启用或禁用它
  • 查看或修改在没有付款方式的情况下试用的设置

要求

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

  • Windows 10或更高版本的操作系统。
  • PowerShell 5 或更低版本。 目前,此模块不支持 PowerShell 6.x/7.x。
  • 租户的全局或计费管理员角色,用于更改 MSCommerce 产品策略。
  • 租户的全局读取者角色,用于查看 MSCommerce 产品策略的只读列表。

安装 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

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

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

Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase

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

产品 ProductId 是否启用了无付款方式的试用版?
Clipchamp Premium CFQ7TTC0N8SS
每个用户的 Power Apps* CFQ7TTC0LH2H
每个用户的 Power Automate* CFQ7TTC0LH3L
Power Automate RPA* CFQ7TTC0LSGZ
Power BI Premium (独立) * CFQ7TTC0H6RP
Power BI Pro* CFQ7TTC0H9MP
Project 计划 1* CFQ7TTC0HDB1
Project 计划 3* CFQ7TTC0HDB0
Teams 探索 CFQ7TTC0J1FV
Teams 高级版介绍性定价 CFQ7TTC0RM8K
Visio 计划 1* CFQ7TTC0HD33
Visio 计划 2* CFQ7TTC0HD32
仅) Viva Goals (自助服务试用版 CFQ7TTC0PW0V
Microsoft 365 F3 CFQ7TTC0LH05
Microsoft Purview Discovery CFQ7TTC0N8SL

*这些 ID 已更改。 如果以前使用旧 ID 阻止了产品,则会自动使用新 ID 阻止它们。 无需执行其他工作。

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

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

Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase -Scope OfferType

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

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

查看或设置 AllowSelfServicePurchase 的状态

可以设置 AllowSelfServicePurchase的 Value 参数,以允许或阻止用户进行自助购买。 还可以使用 OnlyTrialsWithoutPaymentMethod 值允许用户试用没有需要付款的试用版产品。 请参阅上面的产品列表,了解哪些产品启用了这些试用版。 如果启用了 AllowSelfServicePurchase ,则用户只能在试用期结束后购买产品。

注意

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

下表介绍了 Value 参数的设置。

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

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

Get-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId CFQ7TTC0KP0N

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

Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId CFQ7TTC0KP0N -Value "Enabled"

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

Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId CFQ7TTC0KP0N -Value "Disabled"

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

Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId CFQ7TTC0KP0N -Value "OnlyTrialsWithoutPaymentMethod" 

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

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"

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

Update-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”的策略,ErrorMessage - 基础连接已关闭:发送时发生意外错误。

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

解决方案

升级到 TLS 1.2。 以下语法更新 ServicePointManager 安全协议以允许 TLS1.2:

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

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

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