Utiliser AllowSelfServicePurchase pour le module MSCommerce PowerShell

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 organisation peuvent effectuer des achats en libre-service.

Vous pouvez utiliser le module MSCommerce PowerShell pour :

  • Afficher l’état par défaut de la valeur du paramètre AllowSelfServicePurchase , qu’elle soit activée, désactivée ou autorise des essais sans mode de paiement
  • Afficher la liste des produits applicables et déterminer si l’achat en libre-service est activé, désactivé ou autorise des 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 des essais sans modes de paiement

Conditions requises

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

  • Un système d’exploitation Windows 10 ou ultérieur.
  • PowerShell 5 ou version ultérieure. Actuellement, PowerShell 6.x/7.x n’est pas pris en charge avec ce module.
  • Rôle d’administrateur général ou de facturation pour que votre locataire modifie 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 MSCommerce PowerShell

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

Pour installer le module MSCommerce PowerShell 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 Azure Active Directory. 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 l’état par défaut, en fonction de votre organisation, exécutez la commande suivante :

Get-MSCommercePolicy -PolicyId AllowSelfServicePurchase

Afficher la liste des produits d’achat en libre-service et leur état

Pour afficher la liste de tous les produits d’achat en libre-service disponibles et l’état 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 dont la version d’évaluation sans mode de paiement est activée, vous pouvez activer la version d’évaluation, tout en conservant la possibilité d’acheter le produit désactivé. Pour obtenir des exemples de commandes, consultez Afficher ou définissez l’état de AllowSelfServicePurchase.

Produit Productid La version d’évaluation sans mode de paiement est-elle activée ?
Power Apps par utilisateur* CFQ7TTC0LH2H Non
Power Automate par utilisateur CFQ7TTC0KP0N Non
Power Automate RPA CFQ7TTC0KXG6 Non
Power BI Premium (autonome) CFQ7TTC0KXG7 Non
Power BI Pro CFQ7TTC0L3PB Non
Project (plan 1)* CFQ7TTC0HDB1 Oui
Project (plan 3)* CFQ7TTC0HDB0 Non
Visio (plan 1)* CFQ7TTC0HD33 Non
Visio (plan 2)* CFQ7TTC0HD32 Non
Windows 365 Entreprise CFQ7TTC0HHS9 Non
Windows 365 Business CFQ7TTC0J203 Non
Windows 365 Affaires avec Windows Hybrid Benefit CFQ7TTC0HX99 Non
Microsoft 365 F3 CFQ7TTC0LH05 Non
Dynamics 365 Marketing CFQ7TTC0LH3N Non
Dynamics 365 Marketing Attach CFQ7TTC0LHWP Non
Application supplémentaire Dynamics 365 Marketing CFQ7TTC0LHVK Non
Dynamics 365 Marketing - Application non prod supplémentaire CFQ7TTC0LHWM Non

*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 requis.

Afficher ou définir l’état de 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 d’essais requis de paiement. Reportez-vous à la liste des produits ci-dessus pour voir quels produits ces essais sont activés. Les utilisateurs ne peuvent acheter le produit qu’une fois l’essai terminé 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 point. 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 ne nécessitent pas qu’ils ajoutent 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 pour 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" 

Exemple de script pour désactiver AllowSelfServicePurchase

L’exemple suivant vous guide tout au long de l’importation du module MSCommerce , de la connexion avec votre compte, de l’obtention du ProductId pour Power Automate par utilisateur, puis de la désactivation de 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"

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 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 l’achat en libre-service (article)