PowerShell 库中提供了 MSCommerce PowerShell 模块。 该模块包括 AllowSelfServicePurchase 的 PolicyID 参数值,该参数值可用于控制组织中的用户是否可以自助购买 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 ,则用户只能在试用期结束后购买产品。
注意
更改 AllowSelfServicePurchase 或 OnlyTrialsWithoutPaymentMethod 的值仅影响从该时间点开始对指定产品进行的试用或购买。 指定产品的现有试用或购买不受影响。
下表描述了 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。
相关内容
管理自助购买 (管理员) (文章)
自助购买常见问题解答 (文章)