适用于企业和教育的 Microsoft Store Powershell 模块 - 预览版

适用于:

  • Windows 10

重要提示

PowerShell 库中现已提供适用于企业和教育的 Microsoft Store Powershell 模块(预览版)。

注意

这是预览版本,不用于生产环境。 对于生产环境,请继续使用适用于企业和教育的 Microsoft Store 或你的 MDM 工具来管理许可证。 示例脚本在任何 Microsoft 标准支持计划或服务下均不受支持。 示例脚本“按原样”提供,不含任何保证。 Microsoft 进一步否认所有默示保证,包括但不仅限于适销性或适用于某种特定用途的默示保证。 由于示例脚本和文档的使用或性能而引起的所有风险均由本人承担。 对于因使用或无法使用示例脚本或文档而引起的任何损害(包括但不限于因业务利润损失、业务中断、业务信息丢失或其他金钱损失而造成的损害),Microsoft 或其作者或参与创作、生产或交付脚本的任何其他人在任何情况下均不承担任何责任,即使 Microsoft 已被告知有可能发生此等损害时也不例外。

你可以使用 PowerShell 模块执行下列操作:

  • 查看已购买的商品 - 在产品和服务中显示
  • 管理许可证 - 分配和删除
  • 使用 .csv 文件执行批量操作 - 为具有较多数量许可证的客户自动执行许可证管理

注意

不支持通过此模块将应用分配到组。 相反,我们建议利用 Microsoft Entra ID 或 Microsoft Graph PowerShell 模块将组成员保存到 CSV 文件,并按照以下说明使用 CSV 文件管理分配。

要求

若要使用适用于企业和教育的 Microsoft Store Powershell 模块,你需要具备:

  • 设备的管理员权限
  • 适用于企业和教育的 Microsoft Store 的管理员角色

开始使用适用于企业和教育的 Microsoft Store Powershell 模块

所有适用于企业和教育的 Microsoft Store PowerShell cmdlets 均按照动词-MSStore名词模式明确指示其与适用于企业和教育的 Microsoft Store PowerShell 模块一起使用。 你需要在自己的 Windows 10 设备上安装一次该模块,然后将其导入到启动的每个 PowerShell 会话中。

安装适用于企业和教育的 Microsoft Store Powershell 模块

注意

使用 PowerShellGet 安装适用于企业和教育的 Microsoft Store PowerShell 模块需要 Windows Management Framework 5.0。 Windows 10 默认包含该框架)。

若要使用 PowerShellGet 安装适用于企业和教育的 Microsoft Store PowerShell,请运行此命令:

# Install the Microsoft Store for Business and Education PowerShell module from PowerShell Gallery

Install-Module -Name MSStore

将适用于企业和教育的 Microsoft Store PowerShell 模块导入到 PowerShell 会话

在 Windows 10 设备上安装该模块后,需将其导入到你开始的每个 PowerShell 会话。

# Import the MSStore module into this session

Import-Module -Name MSStore

接下来,授权该模块代表你调用适用于企业和教育的 Microsoft Store。 PowerShell 模块的每一个用户都需要执行一次该步骤。

若要授权 PowerShell 模块,请运行此命令。 你需要使用工作或学校帐户进行登录,并授权该模块访问你的租户。

# Grant MSStore Access to your Microsoft Store for Business and Education

Grant-MSStoreClientAppAccess

系统将提示你使用工作或学校帐户登录,然后授权 PowerShell 模块访问适用于企业的 Microsoft Store和教育帐户。 将模块导入当前 PowerShell 会话并授权调用 适用于企业的 Microsoft Store 和教育帐户后,Microsoft Graph PowerShell cmdlet 将加载并可供使用。

查看“产品和服务”中的商品

Azure 服务管理和适用于企业和教育的 Microsoft Store PowerShell 预览版分离应不会导致服务管理遇到重大更改。

# View items in inventory (Apps & software)

Get-MSStoreInventory

提示

Get-MSStoreInventory 不会返回业务线应用的产品名称。 若要获取业务线应用的产品 ID 和 SKU:

  1. 登录到适用于企业的 Microsoft Store适用于教育的 Microsoft Store
  2. 单击管理,然后选择应用和软件
  3. 单击业务线应用。 页面的 URL 将包含产品 ID 和 SKU 作为 URL 的一部分。 例如: 应用后 URL/ 是产品 ID,接下来是 SKU。

查看分配给产品的人员

适用于企业和教育的 Microsoft Store产品和服务中的大部分项目需要分配给组织中的用户。可以使用以下命令查看组织中分配至特定产品的用户:

# View products assigned to people

Get-MSStoreSeatAssignments -ProductId 9NBLGGH4R2R6 -SkuId 0016

重要提示

适用于企业和教育的 Microsoft Store 使用产品 ID 和 SKU ID 组合标识 Minecraft: Education Edition。 若要管理 Minecraft: Education Edition 的许可证分配,你需要指定要在 cmdlet 中管理的许可证的产品和 SKU ID。 下表列出了产品和 SKU ID。

许可证类型 产品 ID SKU ID
使用信用卡通过适用于企业和教育的 Microsoft Store 购买 CFQ7TTC0K5DR 0001
使用发票通过适用于企业和教育的 Microsoft Store 购买 CFQ7TTC0K5DR 0004
通过 Microsoft 批量许可协议购买 CFQ7TTC0K5DR 0002
通过 Windows 10 设备促销获取 CFQ7TTC0K5DR 0005

分配或回收产品

枚举产品和服务中的商品后,你可以将许可证分配给组织中的人员或从中回收许可证。

这些命令将产品分配到用户,然后进行回收。

# Assign Product (Product ID and SKU ID combination) to a User (user@host.com)

Add-MSStoreSeatAssignment -ProductId 9NBLGGH4R2R6 -SkuId 0016 -Username 'user@myorganization.onmicrosoft.com'

# Reclaim a product (Product ID and SKU ID combination) from a User (user@host.com)

Remove-MSStoreSeatAssignment -ProductId 9NBLGGH4R2R6 -SkuId 0016 -Username 'user@myorganization.onmicrosoft.com'

使用 .csv 文件分配或回收产品

你还可以使用 PowerShell 模块对产品和服务中的商品执行批量操作。 需要一个 .CSV 文件,其中至少有一列表示“主体名称” (例如 user@host.com ,) 。 你可以使用 AzureAD PowerShell 模块创建 CSV。

若要批量分配或回收席位:

# Assign Product (Product ID and SKU ID combination) to a User (user@host.com)

Add-MSStoreSeatAssignments  -ProductId 9NBLGGH4R2R6 -SkuId 0016 -PathToCsv C:\People.csv  -ColumnName UserPrincipalName

# Reclaim a product (Product ID and SKU ID combination) from a User (user@host.com)

Remove-MSStoreSeatAssignments  -ProductId 9NBLGGH4R2R6 -SkuId 0016 -PathToCsv C:\People.csv -ColumnName UserPrincipalName

卸载适用于企业和教育的 Microsoft Store Powershell 模块

你可以通过运行以下 PowerShell 命令从你的计算机删除适用于企业和教育的 Microsoft Store PowerShell

# Uninstall the MSStore Module

Get-InstalledModule -Name "MSStore" -RequiredVersion 1.0 | Uninstall-Module