Partager via


Processus d’approbation d’application

L’un des scénarios importants pour la gestion des applications consiste à fournir un processus d’installation et de désinstallation contrôlé pour les logiciels qui nécessitent une approbation. Pour réduire la charge globale sur l’infrastructure Configuration Manager et améliorer les performances, le workflow ne nécessite pas la création de regroupements individuels pour gérer les installations et les désinstallations de chaque application.

Scénario 1 : Les applications doivent être approuvées avant d’être installées

L’administrateur informatique de Contoso utilise le Centre logiciel pour mettre les logiciels à la disposition des utilisateurs. Ces applications doivent être approuvées avant d’être installées. L’administrateur déploie une application sur tous les utilisateurs et la configure pour exiger une approbation.

L’utilisateur parcoure la liste des applications dans le Centre logiciel, mais ne peut pas installer l’application tant que la demande n’est pas approuvée. L’utilisateur envoie la demande à partir du Centre logiciel et spécifie la raison de la demande. Si l’option Approuver les demandes d’application pour les utilisateurs par appareil est activée, l’utilisateur doit demander l’approbation de chaque appareil sur lequel il souhaite installer l’application. L’administrateur approuve ou refuse ensuite la demande pour chacun des appareils de l’utilisateur où les demandes ont été effectuées.

Remarque

Configuration Manager n’active pas cette fonctionnalité par défaut. Avant de l’utiliser, activez la fonctionnalité facultative Approuver les demandes d’application pour les utilisateurs par appareil. Pour plus d’informations, consultez Activer les fonctionnalités facultatives des mises à jour.

Le Centre logiciel exige que l’utilisateur envoie la demande pour l’application à partir de son appareil. L’utilisateur voit ce message dans le Centre logiciel :

L’utilisateur demande l’application qui a besoin d’une approbation du Centre logiciel

L’utilisateur spécifie pourquoi il souhaite l’application et envoie la demande d’approbation :

L’utilisateur a informé que sa demande d’approbation a été envoyée dans le Centre logiciel

Une fois que l’administrateur a approuvé la demande, l’utilisateur peut installer l’application sur son appareil. Si l’utilisateur n’effectue aucune action, l’application est automatiquement installée pour l’utilisateur pendant les heures d’ouverture.

L’utilisateur installe une application approuvée à partir du Centre logiciel

Scénario 2 : Intégrer un système d’approbation d’application

Northwind Traders dispose d’un système d’approbation d’application existant, et l’administrateur souhaite intégrer le système d’approbation à Configuration Manager.

L’administrateur déploie une application sur tous les utilisateurs et la configure pour exiger une approbation. Ensuite, l’administrateur active le paramètre client du Centre logiciel sur Masquer les applications non approuvées dans le Centre logiciel.

Option Masquer les applications non approuvées du Centre logiciel

Avec cette option, l’utilisateur ne voit pas l’application dans le Centre logiciel tant que la demande d’application n’a pas été approuvée pour l’installation sur l’appareil. Lorsque l’approbation est accordée via le système d’approbation de l’organization, le système d’orchestration peut effectuer une demande approuvée pour l’utilisateur et son appareil dans Configuration Manager. Les systèmes d’orchestration utilisaient la CreateApprovedRequest méthode WMI dans Configuration Manager. Cette méthode utilise ensuite le mécanisme de déploiement d’application Configuration Manager existant. Il ne modifie pas les appartenances aux collections et prend effet immédiatement. L’application est désormais disponible pour l’utilisateur dans le Centre logiciel.

L’administrateur peut également configurer l’automatisation pour installer automatiquement l’application sur l’appareil de l’utilisateur. Aucun autre utilisateur ne verra l’application comme disponible dans le Centre logiciel tant que l’approbation n’est pas accordée. Cette solution fournit un contrôle par utilisateur et par appareil du logiciel sans qu’il soit nécessaire de créer des regroupements distincts.

La méthode CreateApprovedRequest WMI de la SMS_UserApplicationRequest classe a les paramètres d’entrée suivants :

Paramètres requis

  • ClientGUID - Identificateur unique du client
  • Username - Nom d’utilisateur unique de l’utilisateur
  • ApplicationID - Nom du modèle de l’application

ApplicationID est la propriété ModelName du SMS_Application instance. Cette valeur est l’ID unique de l’application sans la version. Par exemple : ScopeId_21A9ED3B-D8C6-49DC-87A6-01F296182F14/Application_40243740-01f2-48db-abf0-c95259986d94.

Paramètres facultatifs

  • Comments - Commentaires pour la demande approuvée à afficher dans le Centre logiciel. Par défaut, il spécifie une chaîne vide.

  • AutoInstall - Installez l’application immédiatement après l’approbation de la demande. Par défaut, ce paramètre a la valeur true.

    Remarque

    Dans les versions 2006 et antérieures, vous ne pouviez appeler cette méthode qu’une seule fois pour une application spécifique. À compter de la version 2010, vous pouvez appeler cette méthode plusieurs fois. Si le paramètre AutoInstall est $true, le client tente de réinstaller l’application.

L’exemple de code suivant est un script Windows PowerShell qui montre comment appeler la méthode WMI pour un utilisateur, un ordinateur et une application spécifiques :

$machinename = $args[0]
$username = $args[1]
$appid = $args[2]
$autoInstall = $args[3]
$comments = $args[4]

$scObj=Get-WmiObject -Namespace root\sms -Query 'select SiteCode from sms_providerlocation'
$sitecode = $scObj.SiteCode
$namespace ="root\sms\site_" + $sitecode
$machine = Get-WmiObject -Namespace $namespace -Query "SELECT * FROM SMS_R_SYSTEM WHERE Name = '$machinename'"
$clientGuid = $machine.SMSUniqueIdentifier
Invoke-WmiMethod -Path "SMS_UserApplicationRequest" -Namespace $namespace -Name CreateApprovedRequest -ArgumentList @($appid, $autoInstall, $clientGuid, $comments, $username)

La ligne de commande suivante exécute l’exemple de script :

.\CreateApprovedRequest.ps1 "MachineName" "Domain\User" "ScopeId_2E4DAE44-C9A0-4694-8B7A-474424C080D4/Application_88808a3a-86e4-4820-be59-aa7d61cb8c33 "true" "Application has been approved"

L’administrateur peut toujours voir les demandes approuvées dans la console Configuration Manager à partir desdemandes d’approbationde gestion des> applications de bibliothèque> de logiciels.

Nœud Demandes d’application dans la console Configuration Manager

Limitations

La version actuelle de cette méthode WMI d’approbation d’application présente les limitations suivantes :

  1. La CreateApprovedRequest méthode ne peut être appelée qu’une seule fois pour une combinaison unique d’ID d’ordinateur, d’ID d’application et de nom d’utilisateur. Elle retourne une erreur si la méthode est appelée plusieurs fois avec les mêmes paramètres. Les détails de cette erreur se trouvent dans SMSProv.log.
  2. Pour activer l’installation automatique de l’application, déployez l’application sur une collection d’utilisateurs ou de groupes d’utilisateurs avant d’appeler la méthode WMI. Si vous créez le déploiement après avoir appelé la méthode WMI, l’application est mise à la disposition de l’utilisateur pour l’installation et ne sera pas installée automatiquement.

Scénario 3 : Révoquer l’approbation de l’application

Si l’administrateur révoque l’approbation ou si l’application n’est plus utilisée, désinstallez l’application.

L’administrateur révoque l’approbation de l’application à l’aide de la console Configuration Manager, d’un script PowerShell ou de WMI. Même si l’application a déjà été approuvée, l’administrateur peut utiliser l’option Refuser. La révocation de l’approbation empêche l’utilisateur d’installer l’application sur son appareil. La même action entraîne également la désinstallation de l’application sur l’appareil de l’utilisateur si l’application a été installée précédemment.

En savoir plus sur l’applet de commande Deny-CMApprovalRequest .

Conditions préalables à la révocation des approbations d’application

  1. Définissez le paramètre client Sélectionner ces nouveaux paramètres pour spécifier les informations de l’entreprise sur Oui.
  2. Activez la fonctionnalité facultative Approuver les demandes d’application pour les utilisateurs appareil par appareil. Pour plus d’informations, consultez Activer les fonctionnalités facultatives des mises à jour.

Scénario 4 : Demandes préapprouvées basées sur l’ordinateur

Vous pouvez utiliser l’API CreateApprovedRequest pour créer une demande pré-approuvée pour un appareil sans utilisateur requis. Cette action vous permet d’installer et de désinstaller des applications en temps réel. Actuellement, cette fonctionnalité n’est disponible que dans le Kit de développement logiciel (SDK). Pour que les demandes pré-approuvées basées sur l’ordinateur fonctionnent, vous devez également activer la fonctionnalité facultative Approuver les demandes d’application pour les utilisateurs par appareil. Pour plus d’informations, consultez Activer les fonctionnalités facultatives des mises à jour.

Les administrateurs peuvent créer un déploiement disponible sur l’ordinateur qui nécessite une approbation à l’aide de l’applet de commande New-CMApplicationDeployment . Voici un exemple :

New-CMApplicationDeployment -CollectionName "All Systems" -Name "Test app" -DeployAction Install -DeployPurpose Available -ApprovalRequired $true -DistributionPointName 'DistributionPoint.domain.com" -DistributeContent

Un déploiement créé avec l’indicateur requires approval défini true sur reste sur le serveur et peut être utilisé avec des regroupements plus volumineux. Le flux de demande utilisateur n’est pas encore disponible pour les déploiements ciblés par l’ordinateur qui nécessitent une approbation. Par conséquent, l’application n’est pas visible dans le Centre logiciel tant que vous n’avez pas créé une demande pré-approuvée pour l’appareil individuel.

L’exemple de script Windows PowerShell suivant montre comment appeler la méthode WMI pour une machine et une application afin de créer une demande pré-approuvée :

$machinename = $args[0]
$appid = $args[1]
$autoInstall = $args[2]
$comments = $args[3]

$scObj=Get-WmiObject -Namespace root\sms -Query 'select SiteCode from sms_providerlocation'
$sitecode = $scObj.SiteCode
$namespace ="root\sms\site_" + $sitecode
$machine = Get-WmiObject -Namespace $namespace -Query "SELECT * FROM SMS_R_SYSTEM WHERE Name = '$machinename'"
$clientGuid = $machine.SMSUniqueIdentifier
Invoke-WmiMethod -Path "SMS_ApplicationRequest" -Namespace $namespace -Name CreateApprovedRequest -ArgumentList @($appid, $autoInstall, $clientGuid, $comments)

La ligne de commande suivante exécute l’exemple de script :

.\CreateApprovedRequestForMachine.ps1 "MachineName" "ScopeId_2E4DAE44-C9A0-4694-8B7A-474424C080D4/Application_88808a3a-86e4-4820-be59-aa7d61cb8c33 "true" "Application has been approved"

La définition du paramètre sur autoInstallfalse n’a aucun effet dans Configuration Manager pour les demandes préapprouvées basées sur l’ordinateur. Dès que la demande pré-approuvée est créée sur le site, l’appareil tente d’installer l’application. Vous pouvez refuser la demande d’approbation pour supprimer l’application de l’appareil.

Console montrant l’application approuvée pour tous les utilisateurs d’un appareil spécifique

Scénario 5 : Réapproître une demande d’application précédemment refusée

Vous pouvez réapproître une demande d’application précédemment refusée. Reapproval est disponible uniquement via l’API du KIT de développement logiciel (SDK). L’exemple de script PowerShell suivant illustre l’approbation d’une demande après son refus :

$machinename = $args[0]
$username = $args[1]
$appid = $args[2]

$scObj=Get-WmiObject -Namespace root\sms -Query 'select SiteCode from sms_providerlocation'
$sitecode = $scObj.SiteCode
$namespace ="root\sms\site_" + $sitecode
$reqObj = Get-WmiObject -Namespace $namespace -Class SMS_UserApplicationRequest | Where {$_.ModelName -eq $appid -and $_.RequestedMachine -eq $machinename -and $_.User -eq $username }
$reqObjPath = $reqObj.__PATH
Invoke-WmiMethod -Path $reqObjPath -Name Approve

La ligne de commande suivante exécute l’exemple de script :

.\ReapproveRequest.ps1 "MachineName" "DomainName\Username" "ScopeId_2E4DAE44-C9A0-4694-8B7A-474424C080D4/Application_88808a3a-86e4-4820-be59-aa7d61cb8c33"

Scénario 6 : notifications Email pour les demandes d’approbation d’application

Les administrateurs peuvent configurer Notifications par e-mail pour les demandes d’approbation d’application. Vous pouvez spécifier des approbateurs d’application pendant le déploiement de l’application. Tous les approbateurs reçoivent une notification par e-mail lorsqu’un utilisateur demande une application et peuvent approuver ou refuser la demande à l’aide des liens fournis dans l’e-mail. Vous pouvez également configurer la passerelle de gestion cloud pour permettre l’approbation des demandes d’application en dehors du réseau interne.

Prérequis pour Notifications par e-mail

  • À compter de la version 2107, le fournisseur SMS nécessite .NET version 4.6.2 et la version 4.8 est recommandée. Dans les versions 2103 et antérieures, ce rôle nécessite .NET 4.5 ou une version ultérieure. Pour plus d’informations, consultez Prérequis pour le site et le système de site.

  • Activez la fonctionnalité facultative Approuver les demandes d’application pour les utilisateurs appareil par appareil. Pour plus d’informations, consultez Activer les fonctionnalités facultatives des mises à jour.

  • Si l’infrastructure de certificat PKI n’est pas configurée, activez HTTP amélioré.

    Remarque

    La configuration du protocole HTTP amélioré est par site principal. Si vous l’activez sur l’un des sites principaux d’une hiérarchie, Configuration Manager utilise des certificats auto-signés sur tous les fournisseurs. Ce comportement inclut le site d’administration centrale et d’autres sites principaux.

Configurer Notifications par e-mail

  1. Dans la console Configuration Manager, accédez àConfiguration du sited’administration> ->Sites.
  2. Sélectionnez le site de niveau supérieur dans votre hiérarchie, puis sélectionnez Configurer les composants de site dans le ruban.
  3. Sélectionnez Email Notification pour ouvrir la boîte de dialogue Propriétés.
  4. Cochez Activer la notification par e-mail pour les alertes et spécifiez le port de votre serveur SMTP. Si vous utilisez Microsoft 365, vous pouvez utiliser le serveur SMTP Microsoft 365.
  5. Entrez le nom de domaine complet ou l’adresse IP du serveur SMTP.
  6. Sélectionnez Spécifier un compte, sélectionnez Définir, puis Sélectionnez Nouveau compte.
  7. Fournissez un nom d’utilisateur et un mot de passe pour le nouveau compte, puis cliquez sur OK.
  8. Entrez l’adresse de l’expéditeur pour les alertes par e-mail.
  9. Cliquez sur Appliquer.
  10. Vous pouvez tester le serveur SMTP en envoyant un exemple d’e-mail. Sélectionnez Tester le serveur SMTP dans la boîte de dialogue Propriétés de notification Email.
    • Passez en revue les erreurs dans NotiCtlr.log.
    • Il est recommandé de configurer SSL avec un certificat PKI sur le fournisseur SMS pour approuver ou refuser la demande dans le réseau interne lorsque la passerelle de gestion cloud n’est pas configurée. Sinon, vous verrez la page contenant l’avertissement « Il y a un problème avec ce certificat de sécurité ».

Email propriétés du composant de notification dans la console Configuration Manager

Approuver les demandes d’application en dehors du réseau interne

Pour approuver les demandes d’application en dehors du réseau interne, des paramètres supplémentaires sont nécessaires :

  1. Activez Autoriser Configuration Manager trafic de la passerelle de gestion cloud dans Lespropriétésdu fournisseur> SMS des serveurs de configuration >de sited’administration >et des rôles de> système de site.
  2. Configurez la passerelle de gestion cloud.
  3. Activez Microsoft Entra découverte d’utilisateurs.
  4. Configurez les paramètres suivants pour cette application native (application cliente) dans Microsoft Entra ID. Ces paramètres doivent être configurés manuellement dans le Portail Azure.
    • URI de redirection : https://<CMG FQDN>/CCM_Proxy_ServerAuth/ImplicitAuth. Utilisez le nom de domaine complet du service de passerelle de gestion cloud (CMG), par exemple, GraniteFalls.Contoso.com. Portail Azure affichant l’URI de redirection pour l’application inscrite

    • Manifeste : définissez oauth2AllowImplicitFlow sur true. Par exemple : "oauth2AllowImplicitFlow": true,Portail Azure affichant le manifeste de l’application inscrite

Tester le processus d’approbation des e-mails

Passons en revue le scénario de bout en bout :

  1. Vous déployez une application telle qu’elle est disponible pour un regroupement d’utilisateurs. Dans la page Paramètres de déploiement , activez-la pour approbation. En outre, vous entrez quelques adresses e-mail pour recevoir une notification concernant les demandes d’application.

    Création de déploiement avec approbation d’adresses e-mail d’administrateur

  2. L’utilisateur voit la nouvelle application dans le Centre logiciel et envoie la demande pour celle-ci. Le site envoie la notification par e-mail dans les cinq minutes aux adresses spécifiées dans le déploiement de l’application.

    Exemple d’e-mail à un administrateur d’approbation

  3. Un destinataire de courrier choisit Approuver ou Refuser. Un message de réussite s’affiche dans le navigateur si le site a correctement traité la demande d’application.

    • Si une demande d’application est approuvée ou refusée par e-mail, les liens expirent et ne peuvent être utilisés par personne d’autre.

Problèmes connus

  1. Une erreur 404 s’affiche après Approve un clic sur les liens ou Deny .
    • Il n’y a pas de certificat lié au service Administration. Vérifiez si la fonctionnalité de certificats générés par Configuration Manager est activée. Sinon, configurez votre propre infrastructure de certificats PKI.
    • Recherchez SMS_REST_PROVIDER.log les erreurs éventuelles.
  2. There is a problem with this security certificate avertissement après Approve un clic sur les liens ou Deny .
    • Configuration Manager certificat généré n’est pas approuvé par le navigateur web sur le client. Il est recommandé de configurer l’infrastructure des certificats PKI lorsque des liens sont utilisés dans le réseau interne.
  3. Service is unavailable, HTTP Error 503 Message.
    • Vérifiez si le service Administration est en cours d’exécution. Sur un ordinateur fournisseur, accédez à Détails du gestionnaire> destâches. Vérifiez qu’il existe un processus actif appelé sccmprovidergraph.exe
    • Ouvrez la console Configuration Manager, serveurs de configuration >de sited’administration> etfournisseurs SMSdes rôles de> système de site. Cliquez avec le bouton droit sur Propriétés. Assurez-vous que Allow Configuration Manager cloud management gateway traffic. est vérifié lorsque la fonctionnalité d’approbation de courrier électronique est destinée à être utilisée avec la passerelle de gestion cloud ; et non lorsque la fonctionnalité est utilisée pour approuver ou refuser des demandes dans le réseau interne.
  4. Les liens permettant d’approuver ou de refuser une demande via la passerelle de gestion cloud ne fonctionnent pas.
    • Vérifiez que Microsoft Entra découverte d’utilisateurs est activée.
    • Assurez-vous que l’adresse de messagerie spécifiée pendant le déploiement de l’application appartient à votre organization.
  5. Email n’est pas envoyé lorsqu’un utilisateur a demandé une application.
    • Vérifiez que l’adresse e-mail est correcte.
    • Assurez-vous que Notifications par e-mail pour les alertes sont configurées.
    • Recherchez les NotiCtrl.log erreurs.
  6. Erreur dans l’Assistant Création d’un déploiement d’application .
    • Vérifiez que vous disposez des droits pour créer un abonnement. L’abonnement est créé automatiquement pendant le déploiement de l’application.