MSCommerce PowerShell モジュールに AllowSelfServicePurchase を使用する

PowerShell GalleryMSCommerce PowerShell モジュールが利用できるようになりました。 モジュールには AllowSelfServicePurchasePolicyID パラメーター値が含まれています。これにより、organizationのユーザーが Microsoft のセルフサービス購入を行うことができるか、サード パーティのオファーを選択できるかを制御できます。

MSCommerce PowerShell モジュールを使用すると以下のことができます。

  • AllowSelfServicePurchase パラメーター値の既定の状態 (有効、無効、または支払い方法なしで試用版を許可するかどうか) を表示する
  • 該当する製品の一覧を表示し、セルフサービス購入が有効か無効か、支払い方法なしで試用版を許可するか
  • 特定の製品の現在の設定を表示または変更し、有効または無効にする
  • 支払い方法のない試用版の設定を表示または変更する

要件

MSCommerce PowerShell モジュールを使用するには、以下の物が必要です。

  • Windows 10以降のオペレーティング システム。
  • PowerShell 5 以下。 現在、PowerShell 6.x/7.x はこのモジュールではサポートされていません。
  • MS コマース製品ポリシーを変更するためのテナントのグローバル管理者または課金管理者ロール。
  • MS コマース製品ポリシーの読み取り専用リストを表示するテナントのグローバル 閲覧者ロール。

MSCommerce PowerShell モジュールのインストール

MSCommerce PowerShell モジュールを Windows 10 デバイスに一度インストールして、起動する各 PowerShell セッションにインポートします。 PowerShell GalleryMSCommerce 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 Plan 1* CFQ7TTC0HDB1 はい
Project Plan 3* CFQ7TTC0HDB0 いいえ
Teams Exploratory CFQ7TTC0J1FV はい
Teams Premium入門価格 CFQ7TTC0RM8K はい
Visio Plan 1* CFQ7TTC0HD33 はい
Visio Plan 2* CFQ7TTC0HD32 いいえ
Viva Goals (セルフサービス 試用版のみ) CFQ7TTC0PW0V はい
Windows 365 Enterprise CFQ7TTC0HHS9 いいえ
Windows 365 Business CFQ7TTC0J203 いいえ
Windows ハイブリッド特典付き Windows 365 Business CFQ7TTC0HX99 いいえ
Microsoft 365 F3 CFQ7TTC0LH05 いいえ
Microsoft Purview Discovery CFQ7TTC0N8SL はい

*これらの ID が変更されました。 以前に古い ID を使用して製品をブロックした場合、新しい ID を使用して自動的にブロックされます。 他の作業は必要ありません。

セルフサービス購入の一覧を表示する "サード パーティ オファーの種類" とその状態

利用可能なすべてのセルフサービス購入サード パーティ オファーの種類と各オファーの状態の一覧を表示するには、次のコマンドを実行します。

Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase -Scope OfferType

次の表に、使用可能なサード パーティのオファーの種類を示します。 これらのオファーの種類は、セルフサービス購入で有効または無効にすることができます。

オファーの種類 Id
サービスとしてのソフトウェア SaaS
Power BI ビジュアル POWERBIVISUALS
Dataverse Apps のDynamics 365 DYNAMICSCE
Dynamics 365 Business Central DYNAMICSBC

AllowSelfServicePurchase の状態を表示または設定する

AllowSelfServicePurchaseValue パラメーターを設定して、ユーザーがセルフサービス購入を行うことを許可または禁止できます。 また、OnlyTrialsWithoutPaymentMethod 値を使用して、ユーザーが支払いが必要な試用版がない製品を試すこともできます。 上記の製品一覧を参照して、これらの試用版が有効になっている製品を確認してください。 ユーザーは、 AllowSelfServicePurchase が有効になっている場合にのみ、試用版が終了した後に製品を購入できます。

注:

AllowSelfServicePurchase または OnlyTrialsWithoutPaymentMethod の値を変更すると、その時点から指定した製品に対して行われた試用版または購入にのみ影響します。 指定した製品の既存の試用版または購入は影響を受けません。

次の表では、 Value パラメーターの設定について説明します。

Setting 影響
Enabled ユーザーはセルフサービス購入を行い、製品の試用版を取得できます。
OnlyTrialsWithoutPaymentMethod ユーザーはセルフサービス購入を行うことはできませんが、支払い方法を追加する必要のない製品の無料試用版を取得できます。 試用版の有効期限が切れると、ユーザーは有料版の製品を購入できません。
無効 ユーザーがセルフサービスで購入したり、製品の試用版を取得したりすることはできません。

特定の製品のポリシー設定を取得するには、以下のコマンドを実行します。

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 を無効にするスクリプト例

次の例では、 MS コマース モジュールをインポートし、アカウントでサインインし、ユーザーごとに 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 を有効にする方法」を参照してください。

セルフサービスによる購入を管理する (管理者) (記事)
セルフサービス購入に関するよくあるご質問 (記事)