Utiliser AllowSelfServicePurchase pour le module PowerShell MSCommerce

Le module MsCommerce PowerShell est désormais disponible sur PowerShell Gallery. Le module inclut une valeur de paramètre PolicyID pour AllowSelfServicePurchase qui vous permet de contrôler si les utilisateurs de votre organization peuvent effectuer des achats en libre-service de Microsoft ou sélectionner des offres tierces.

Vous pouvez utiliser le module PowerShell MSCommerce pour :

  • Afficher l’état par défaut de la valeur du paramètre AllowSelfServicePurchase , qu’il soit activé, désactivé ou autorise les essais sans mode de paiement
  • Affichez la liste des produits applicables et indiquez si l’achat en libre-service est activé, désactivé ou autorise les essais sans mode de paiement
  • Afficher ou modifier le paramètre actuel d’un produit spécifique pour l’activer ou le désactiver
  • Afficher ou modifier le paramètre pour les essais sans modes de paiement

Configuration requise

Pour utiliser le module PowerShell MSCommerce , vous avez besoin des éléments suivants :

  • Système d’exploitation Windows 10 ou version ultérieure.
  • PowerShell 5 ou version antérieure. Actuellement, PowerShell 6.x/7.x n’est pas pris en charge avec ce module.
  • Le rôle d’administrateur général ou d’administrateur de facturation pour votre locataire afin de modifier les stratégies de produit MSCommerce .
  • Rôle de lecteur global pour votre locataire afin d’afficher une liste en lecture seule des stratégies de produit MSCommerce .

Installer le module PowerShell MSCommerce

Vous installez le module PowerShell MSCommerce sur votre appareil Windows 10 une fois, puis vous l’importez dans chaque session PowerShell que vous démarrez. Téléchargez le module PowerShell MSCommerce à partir du PowerShell Gallery.

Pour installer le module PowerShell MSCommerce avec PowerShellGet, exécutez la commande suivante :

Install-Module -Name MSCommerce

Importer MSCommerce dans la session PowerShell

Après avoir installé le module sur votre appareil Windows 10, vous l’importez dans chaque session PowerShell que vous démarrez. Pour l’importer dans une session PowerShell, exécutez la commande suivante :

Import-Module -Name MSCommerce

Se connecter à MSCommerce avec vos informations d’identification

Pour vous connecter au module PowerShell avec vos informations d’identification, exécutez la commande suivante.

Connect-MSCommerce

Cette commande connecte la session PowerShell actuelle à un locataire Microsoft Entra. La commande vous invite à entrer un nom d’utilisateur et un mot de passe pour le locataire auquel vous souhaitez vous connecter. Si l’authentification multifacteur est activée pour vos informations d’identification, vous utilisez l’option interactive pour vous connecter.

Afficher les détails de AllowSelfServicePurchase

Pour afficher une description de la valeur du paramètre AllowSelfServicePurchase et de la status par défaut, en fonction de votre organization, exécutez la commande suivante :

Get-MSCommercePolicy -PolicyId AllowSelfServicePurchase

Afficher la liste des produits achetés en libre-service et leurs status

Pour afficher la liste de tous les produits d’achat en libre-service disponibles et les status de chacun d’eux, exécutez la commande suivante :

Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase

Le tableau suivant répertorie les produits disponibles et leur ProductId. Il indique également quels produits ont une version d’évaluation disponible et ne nécessitent pas de mode de paiement. Le cas échéant, tous les autres essais nécessitent un mode de paiement. Pour les produits pour lesquels la version d’évaluation sans mode de paiement est activé, vous pouvez activer la version d’évaluation, tout en gardant la possibilité d’acheter le produit désactivée. Pour obtenir des exemples de commandes, consultez Afficher ou définir les status pour AllowSelfServicePurchase.

Produit Productid La version d’évaluation sans mode de paiement est-elle activée ?
Clipchamp Premium CFQ7TTC0N8SS Non
Power Apps par utilisateur* CFQ7TTC0LH2H Non
Power Automate par utilisateur* CFQ7TTC0LH3L Non
RPA Power Automate* CFQ7TTC0LSGZ Non
Power BI Premium (autonome)* CFQ7TTC0H6RP Non
Power BI Pro* CFQ7TTC0H9MP Non
Project (plan 1)* CFQ7TTC0HDB1 Oui
Project (plan 3)* CFQ7TTC0HDB0 Non
Teams Exploratoire CFQ7TTC0J1FV Oui
Teams Premium prix d’introduction CFQ7TTC0RM8K Oui
Visio (plan 1)* CFQ7TTC0HD33 Oui
Visio (plan 2)* CFQ7TTC0HD32 Non
Viva Goals (essais en libre-service uniquement) CFQ7TTC0PW0V Oui
Windows 365 Entreprise CFQ7TTC0HHS9 Non
Windows 365 Business CFQ7TTC0J203 Non
Windows 365 Affaires avec Windows Hybrid Benefit CFQ7TTC0HX99 Non
Microsoft 365 F3 CFQ7TTC0LH05 Non
Découverte Microsoft Purview CFQ7TTC0N8SL Oui

*Ces ID ont changé. Si vous avez précédemment bloqué des produits à l’aide des anciens ID, ils sont automatiquement bloqués à l’aide des nouveaux ID. Aucun autre travail n’est nécessaire.

Afficher la liste des « types d’offres tierces » d’achat en libre-service et leurs status

Pour afficher la liste de tous les types d’offres tierces d’achat en libre-service disponibles et les status de chacun, exécutez la commande suivante :

Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase -Scope OfferType

Le tableau suivant répertorie les types d’offres tierces disponibles. Ces types d’offres peuvent être activés ou désactivés pour l’achat en libre-service.

Type d’offre ID
Software as a Service SaaS
Visuels Power BI POWERBIVISUALS
Dynamics 365 Dataverse Apps DYNAMICSCE
Dynamics 365 Business Central DYNAMICSBC

Afficher ou définir le status pour AllowSelfServicePurchase

Vous pouvez définir le paramètre Value pour AllowSelfServicePurchase afin d’autoriser ou d’empêcher les utilisateurs d’effectuer un achat en libre-service. Vous pouvez également utiliser la valeur OnlyTrialsWithoutPaymentMethod pour permettre aux utilisateurs d’essayer des produits qui n’ont pas de paiement d’essai requis. Reportez-vous à la liste des produits ci-dessus pour connaître les produits pour lesquels ces essais sont activés. Les utilisateurs peuvent acheter le produit uniquement après la fin de la version d’évaluation si AllowSelfServicePurchase est activé.

Remarque

La modification de la valeur de AllowSelfServicePurchase ou OnlyTrialsWithoutPaymentMethod affecte uniquement les essais ou les achats effectués pour le produit spécifié à partir de ce moment. Les essais ou achats existants pour le produit spécifié ne sont pas affectés.

Le tableau suivant décrit les paramètres du paramètre Value .

Paramètre Impact
Activé Les utilisateurs peuvent effectuer des achats en libre-service et acquérir des essais pour le produit.
OnlyTrialsWithoutPaymentMethod Les utilisateurs ne peuvent pas effectuer d’achats en libre-service, mais peuvent acquérir des essais gratuits pour les produits qui n’ont pas besoin d’ajouter un mode de paiement. Une fois la version d’évaluation expirée, un utilisateur ne peut pas acheter la version payante du produit.
Désactivé Les utilisateurs ne peuvent pas effectuer d’achats en libre-service ou acquérir des essais pour le produit.

Pour obtenir le paramètre de stratégie d’un produit spécifique, exécutez la commande suivante :

Get-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId CFQ7TTC0KP0N

Pour activer le paramètre de stratégie pour un produit spécifique, exécutez la commande suivante :

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

Pour désactiver le paramètre de stratégie pour un produit spécifique, exécutez la commande suivante :

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

Pour permettre aux utilisateurs d’essayer un produit spécifique sans mode de paiement, exécutez la commande suivante :

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

Pour obtenir le paramètre de stratégie pour un type d’offre tiers spécifique, exécutez la commande suivante :

Get-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -OfferType <ID>

Pour activer le paramètre de stratégie pour un type d’offre tiers spécifique, exécutez la commande suivante :

Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -OfferType <ID> -Value "Enabled"

Pour désactiver le paramètre de stratégie pour un type d’offre tiers spécifique, exécutez la commande suivante :

Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -OfferType <ID> -Value "Disabled"

Exemple de script pour désactiver AllowSelfServicePurchase

L’exemple suivant vous montre comment importer le module MSCommerce , vous connecter avec votre compte, obtenir le ProductId pour Power Automate par utilisateur, puis désactiver AllowSelfServicePurchase pour ce produit.

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"

S’il existe plusieurs valeurs pour le produit, vous pouvez exécuter la commande individuellement pour chaque valeur, comme indiqué dans l’exemple suivant :

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"

Résolution des problèmes

Problème

Le message d’erreur suivant s’affiche :

HandleError : échec de la récupération de la stratégie avec PolicyId ' AllowSelfServicePurchase', ErrorMessage - La connexion sous-jacente a été fermée : une erreur inattendue s’est produite lors d’un envoi.

Cela peut être dû à une version antérieure de TLS (Transport Layer Security). Lorsque vous vous connectez à ce service, vous devez utiliser TLS 1.2 ou une version ultérieure

Solution

Effectuez une mise à niveau vers TLS 1.2. La syntaxe suivante met à jour le protocole de sécurité ServicePointManager pour autoriser TLS1.2 :

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

Pour en savoir plus, consultez Comment activer TLS 1.2.

Gérer les achats en libre-service (Administration) (article)
FAQ sur les achats en libre-service (article)