Freigeben über


Genehmigungsprozess für Anwendungen

Eines der wichtigen Szenarien für die Anwendungsverwaltung ist die Bereitstellung eines kontrollierten Installations- und Deinstallationsprozesses für Software, die eine Genehmigung erfordert. Um die Gesamtlast für die Configuration Manager-Infrastruktur zu reduzieren und die Leistung zu verbessern, müssen für den Workflow keine einzelnen Sammlungen erstellt werden, um Installationen und Deinstallationen für jede Anwendung zu verwalten.

Szenario 1: Anwendungen müssen genehmigt werden, bevor sie installiert werden

Der IT-Administrator bei Contoso verwendet das Softwarecenter, um den Benutzern Software zur Verfügung zu stellen. Diese Anwendungen müssen genehmigt werden, bevor sie installiert werden. Der Administrator stellt eine Anwendung für alle Benutzer bereit und konfiguriert sie so, dass eine Genehmigung erforderlich ist.

Der Benutzer durchsucht die Liste der Anwendungen im Softwarecenter, kann die Anwendung aber erst installieren, wenn die Anforderung genehmigt wurde. Der Benutzer übermittelt die Anforderung aus dem Softwarecenter und gibt den Grund für die Anforderung an. Wenn die Option Anwendungsanforderungen für Benutzer pro Gerät genehmigen aktiviert ist, muss der Benutzer die Genehmigung von jedem Gerät anfordern, auf dem er die Anwendung installieren möchte. Der Administrator genehmigt oder verweigert dann die Anforderung für jedes Gerät des Benutzers, auf dem Anforderungen gestellt wurden.

Hinweis

Configuration Manager dieses Feature standardmäßig nicht aktiviert. Aktivieren Sie vor der Verwendung das optionale Feature Anwendungsanforderungen für Benutzer pro Gerät genehmigen. Weitere Informationen finden Sie unter Aktivieren optionaler Features von Updates.

Im Softwarecenter muss der Benutzer die Anforderung für die Anwendung über sein Gerät übermitteln. Dem Benutzer wird diese Meldung im Softwarecenter angezeigt:

Benutzer fordert eine Anwendung an, die vom Softwarecenter genehmigt werden muss

Der Benutzer gibt an, warum er die Anwendung verwenden soll, und übermittelt die Genehmigungsanforderung:

Der Benutzer hat benachrichtigt, dass seine Genehmigungsanforderung im Softwarecenter übermittelt wurde.

Sobald der Administrator die Anforderung genehmigt hat, kann der Benutzer die Anwendung auf dem Gerät installieren. Wenn der Benutzer keine Aktion ausführt, wird die Anwendung für den Benutzer außerhalb der Geschäftszeiten automatisch installiert.

Benutzer, der genehmigte Anwendung aus dem Softwarecenter installiert

Szenario 2: Integrieren eines Anwendungsgenehmigungssystems

Northwind Traders verfügt über ein vorhandenes Anwendungsgenehmigungssystem, und der Administrator möchte das Genehmigungssystem in Configuration Manager integrieren.

Der Administrator stellt eine Anwendung für alle Benutzer bereit und konfiguriert sie so, dass eine Genehmigung erforderlich ist. Anschließend aktiviert der Administrator die Clienteinstellung des Softwarecenters, um nicht genehmigte Anwendungen im Softwarecenter auszublenden.

Option

Mit dieser Option wird dem Benutzer die Anwendung erst im Softwarecenter angezeigt, wenn die Anwendungsanforderung für die Installation auf dem Gerät genehmigt wurde. Wenn die Genehmigung über das Genehmigungssystem des organization erteilt wird, kann das Orchestrierungssystem eine genehmigte Anforderung für den Benutzer und sein Gerät in Configuration Manager. Die Orchestrierungssysteme verwendeten die CreateApprovedRequest WMI-Methode in Configuration Manager. Diese Methode verwendet dann den vorhandenen Configuration Manager-Anwendungsbereitstellungsmechanismus. Es ändert keine Sammlungsmitgliedschaften und wird sofort wirksam. Die Anwendung steht dem Benutzer jetzt im Softwarecenter zur Verfügung.

Der Administrator kann die Automatisierung auch so konfigurieren, dass die Anwendung automatisch auf dem Gerät des Benutzers installiert wird. Keine anderen Benutzer sehen die Anwendung im Softwarecenter als verfügbar an, bis die Genehmigung erteilt wurde. Diese Lösung bietet benutzer- und gerätespezifische Steuerung der Software, ohne separate Sammlungen erstellen zu müssen.

Die WMI-Methode CreateApprovedRequest in der SMS_UserApplicationRequest -Klasse verfügt über die folgenden Eingabeparameter:

Erforderliche Parameter

  • ClientGUID – Eindeutiger Bezeichner des Clients
  • Username - Eindeutiger Benutzername des Benutzers
  • ApplicationID – Modellname der Anwendung

Die ApplicationID ist die ModelName-Eigenschaft des SMS_Application instance. Dieser Wert ist die eindeutige ID der Anwendung ohne version. Beispiel: ScopeId_21A9ED3B-D8C6-49DC-87A6-01F296182F14/Application_40243740-01f2-48db-abf0-c95259986d94.

Optionale Parameter

  • Comments – Kommentare für die genehmigte Anforderung, die im Softwarecenter angezeigt werden soll. Standardmäßig wird eine leere Zeichenfolge angegeben.

  • AutoInstall – Installieren Sie die Anwendung sofort, nachdem die Anforderung genehmigt wurde. Standardmäßig ist dieser Parameter true.

    Hinweis

    In Version 2006 und früher konnten Sie diese Methode nur einmal für eine bestimmte App aufrufen. Ab Version 2010 können Sie diese Methode mehrmals aufrufen. Wenn der AutoInstall-Parameter ist $true, versucht der Client erneut, die App zu installieren.

Das folgende Codebeispiel ist ein Windows PowerShell Skript, das zeigt, wie die WMI-Methode für einen bestimmten Benutzer, Computer und eine bestimmte Anwendung aufgerufen wird:

$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)

In der folgenden Befehlszeile wird das Beispielskript ausgeführt:

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

Der Administrator kann die genehmigten Anforderungen weiterhin in der Configuration Manager-Konsole unterGenehmigungsanforderungen für dieAnwendungsverwaltung> der Softwarebibliothek> anzeigen.

Anwendungsanforderungsknoten in der Configuration Manager-Konsole

Begrenzungen

Die aktuelle Version dieser WMI-Methode für die Anwendungsgenehmigung weist die folgenden Einschränkungen auf:

  1. Die CreateApprovedRequest Methode kann nur einmal für eine eindeutige Kombination aus Computer-ID, Anwendungs-ID und Benutzername aufgerufen werden. Es wird ein Fehler zurückgegeben, wenn die Methode mehrmals mit denselben Parametern aufgerufen wird. Die Details zu diesem Fehler finden Sie in SMSProv.log.
  2. Um die automatische Installation der Anwendung zu aktivieren, stellen Sie die Anwendung in einer Sammlung von Benutzern oder Benutzergruppen bereit, bevor Sie die WMI-Methode aufrufen. Wenn Sie die Bereitstellung nach dem Aufrufen der WMI-Methode erstellen, wird die Anwendung für den Benutzer zur Installation zur Verfügung gestellt und nicht automatisch installiert.

Szenario 3: Widerrufen der Anwendungsgenehmigung

Wenn der Administrator die Genehmigung widerruft oder die Anwendung nicht mehr verwendet wird, deinstallieren Sie die Anwendung.

Der Administrator widerruft die Genehmigung der Anwendung mithilfe der Configuration Manager-Konsole, eines PowerShell-Skripts oder WMI. Auch wenn die Anwendung bereits genehmigt wurde, kann der Administrator die Option Verweigern verwenden. Der Widerruf der Genehmigung verhindert, dass der Benutzer die Anwendung auf dem Gerät installiert. Die gleiche Aktion führt auch zur Deinstallation der Anwendung auf dem Gerät des Benutzers, wenn die Anwendung zuvor installiert wurde.

Erfahren Sie mehr über das Cmdlet Deny-CMApprovalRequest .

Voraussetzungen zum Widerrufen von App-Genehmigungen

  1. Legen Sie die Einstellung Diese neuen Einstellungen zum Angeben des Unternehmensinformationsclients auswählen auf Ja fest.
  2. Aktivieren Sie das optionale Feature Anwendungsanforderungen für Benutzer pro Gerät genehmigen. Weitere Informationen finden Sie unter Aktivieren optionaler Features von Updates.

Szenario 4: Computerbasierte vorab genehmigte Anforderungen

Sie können die CreateApprovedRequest API verwenden, um eine vorab genehmigte Anforderung für ein Gerät zu erstellen, ohne dass ein Benutzer erforderlich ist. Mit dieser Aktion können Sie Anwendungen in Echtzeit installieren und deinstallieren. Derzeit ist diese Funktionalität nur im SDK verfügbar. Damit computerbasierte vorab genehmigte Anforderungen funktionieren, müssen Sie auch das optionale Feature Anwendungsanforderungen für Benutzer pro Gerät genehmigen aktivieren. Weitere Informationen finden Sie unter Aktivieren optionaler Features von Updates.

Administratoren können mithilfe des Cmdlets New-CMApplicationDeployment eine computerverfügbare Bereitstellung erstellen, die genehmigt werden muss. Hier ist ein Beispiel:

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

Eine Bereitstellung, die mit auf festgelegtem requires approvaltrue Flag erstellt wurde, verbleibt auf dem Server und kann mit größeren Sammlungen verwendet werden. Der Benutzeranforderungsflow ist für computerorientierte Bereitstellungen, die eine Genehmigung erfordern, noch nicht verfügbar. Daher ist die Anwendung erst im Softwarecenter sichtbar, wenn Sie eine vorab genehmigte Anforderung an das einzelne Gerät erstellen.

Das folgende Windows PowerShell Beispielskript zeigt, wie Sie die WMI-Methode für einen Computer und eine Anwendung aufrufen, um eine vorab genehmigte Anforderung zu erstellen:

$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)

In der folgenden Befehlszeile wird das Beispielskript ausgeführt:

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

Das Festlegen des autoInstall Parameters auf false hat in Configuration Manager für computerbasierte vorab genehmigte Anforderungen keine Auswirkungen. Sobald die vorab genehmigte Anforderung auf dem Standort erstellt wurde, versucht das Gerät, die Anwendung zu installieren. Sie können die Genehmigungsanforderung ablehnen, um die Anwendung vom Gerät zu entfernen.

Konsole mit der für alle Benutzer eines bestimmten Geräts genehmigten Anwendung

Szenario 5: Erneuter Beweis einer zuvor abgelehnten Anwendungsanforderung

Sie können eine Anwendungsanforderung erneut überprüfen, die zuvor abgelehnt wurde. Reapproval ist nur über die SDK-API verfügbar. Das folgende PowerShell-Beispielskript veranschaulicht das Genehmigen einer Anforderung, nachdem sie abgelehnt wurde:

$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

In der folgenden Befehlszeile wird das Beispielskript ausgeführt:

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

Szenario 6: Email Benachrichtigungen für Anwendungsgenehmigungsanforderungen

Administratoren können E-Mail-Benachrichtigungen für Anwendungsgenehmigungsanforderungen konfigurieren. Sie können während der Anwendungsbereitstellung genehmigende Personen angeben. Alle genehmigenden Personen erhalten eine E-Mail-Benachrichtigung, wenn ein Benutzer eine Anwendung anfordert, und können die Anforderung über die in der E-Mail bereitgestellten Links genehmigen oder ablehnen. Sie können das Cloudverwaltungsgateway auch so konfigurieren, dass Anwendungsanforderungen außerhalb des internen Netzwerks genehmigt werden können.

Voraussetzungen für E-Mail-Benachrichtigungen

  • Ab Version 2107 erfordert der SMS-Anbieter .NET Version 4.6.2, und Version 4.8 wird empfohlen. In Version 2103 und früher erfordert diese Rolle .NET 4.5 oder höher. Weitere Informationen unter Voraussetzungen für Standort und Standortsystem.

  • Aktivieren Sie das optionale Feature Anwendungsanforderungen für Benutzer pro Gerät genehmigen. Weitere Informationen finden Sie unter Aktivieren optionaler Features von Updates.

  • Wenn die PKI-Zertifikatinfrastruktur nicht eingerichtet ist, aktivieren Sie Erweitertes HTTP.

    Hinweis

    Die Konfiguration für Erweitertes HTTP erfolgt pro primärem Standort. Wenn Sie sie an einem der primären Standorte in einer Hierarchie aktivieren, verwendet Configuration Manager selbstsignierte Zertifikate für alle Anbieter. Dieses Verhalten schließt den CAS und andere primäre Standorte ein.

Konfigurieren von E-Mail-Benachrichtigungen

  1. Wechseln Sie in der Configuration Manager-Konsole zu Verwaltung>Standortkonfiguration ->Standorte.
  2. Wählen Sie den Standort der obersten Ebene in Ihrer Hierarchie und dann im Menüband Standortkomponenten konfigurieren aus.
  3. Wählen Sie Email Benachrichtigung aus, um das Dialogfeld Eigenschaften zu öffnen.
  4. Aktivieren Sie E-Mail-Benachrichtigung für Warnungen aktivieren , und geben Sie den Port Ihres SMTP-Servers an. Wenn Sie Microsoft 365 verwenden, können Sie den Microsoft 365 SMTP-Server verwenden.
  5. Geben Sie den FQDN oder die IP-Adresse des SMTP-Servers ein.
  6. Wählen Sie konto angeben aus, wählen Sie Festlegen und dann Neues Konto aus.
  7. Geben Sie einen Benutzernamen und ein Kennwort für das neue Konto an, und klicken Sie auf OK.
  8. Geben Sie die Absenderadresse für E-Mail-Warnungen ein.
  9. Klicken Sie auf Anwenden.
  10. Sie können den SMTP-Server testen, indem Sie ein E-Mail-Beispiel senden. Wählen Sie im Dialogfeld Email Benachrichtigungseigenschaften die Option SMTP-Server testen aus.
    • Überprüfen Sie Fehler in NotiCtlr.log.
    • Es wird empfohlen, SSL mit einem PKI-Zertifikat auf dem SMS-Anbieter zu konfigurieren, um die Anforderung im internen Netzwerk erfolgreich zu genehmigen oder zu verweigern, wenn das Cloudverwaltungsgateway nicht eingerichtet ist. Andernfalls wird die Seite mit der Warnung "Es gibt ein Problem mit diesem Sicherheitszertifikat" angezeigt.

Email Eigenschaften der Benachrichtigungskomponente in der Configuration Manager-Konsole

Genehmigen von Anwendungsanforderungen außerhalb des internen Netzwerks

Um Anwendungsanforderungen außerhalb des internen Netzwerks zu genehmigen, sind zusätzliche Einstellungen erforderlich:

  1. Aktivieren Sie Configuration Manager Datenverkehr des Cloudverwaltungsgateways zulassen unter Eigenschaften vonVerwaltungsstandortkonfigurationsservern>>und Standortsystemrollen>SMS-Anbieter>.
  2. Konfigurieren Sie das Cloudverwaltungsgateway.
  3. Aktivieren Sie Microsoft Entra Benutzerermittlung.
  4. Konfigurieren Sie die folgenden Einstellungen für diese native App (Client-App) in Microsoft Entra ID. Diese Einstellungen sollten manuell im Azure-Portal konfiguriert werden.
    • Umleitungs-URI: https://<CMG FQDN>/CCM_Proxy_ServerAuth/ImplicitAuth. Verwenden Sie den vollqualifizierten Domänennamen des CMG-Diensts (Cloud Management Gateway), z. B. GraniteFalls.Contoso.com. Azure-Portal mit Umleitungs-URI für die registrierte App

    • Manifest: Legen Sie oauth2AllowImplicitFlow auf true fest. Beispiel: "oauth2AllowImplicitFlow": true,Azure-Portal mit dem Manifest für die registrierte App

Testen des E-Mail-Genehmigungsprozesses

Sehen wir uns das End-to-End-Szenario an:

  1. Sie stellen eine Anwendung als für eine Benutzersammlung verfügbar bereit. Aktivieren Sie sie auf der Seite Bereitstellungseinstellungen zur Genehmigung. Außerdem geben Sie einige E-Mail-Adressen ein, um Benachrichtigungen über Anwendungsanforderungen zu erhalten.

    Bereitstellungserstellung mit genehmigenden Administrator-E-Mail-Adressen

  2. Der Benutzer sieht die neue Anwendung im Softwarecenter und sendet die Entsprechende Anforderung. Die Website sendet die E-Mail-Benachrichtigung innerhalb von fünf Minuten an die in der Anwendungsbereitstellung angegebenen Adressen.

    Beispiel-E-Mail an einen genehmigenden Administrator

  3. Ein E-Mail-Empfänger wählt Genehmigen oder Verweigern aus. Eine Erfolgsmeldung wird im Browser angezeigt, wenn die Website die Anwendungsanforderung erfolgreich verarbeitet hat.

    • Wenn eine Anwendungsanforderung per E-Mail genehmigt oder abgelehnt wird, laufen die Links ab und können von niemand anderem verwendet werden.

Bekannte Probleme

  1. Der Fehler 404 wird angezeigt, nachdem Approve auf oder Deny links geklickt wurde.
    • An den Admin-Dienst ist kein Zertifikat gebunden. Überprüfen Sie, ob das Feature "Configuration Manager generierte Zertifikate" aktiviert ist. Richten Sie andernfalls Ihre eigene PKI-Zertifikatinfrastruktur ein.
    • Überprüfen Sie, ob SMS_REST_PROVIDER.log Fehler vorliegen.
  2. There is a problem with this security certificate Warnung, nachdem Approve auf - oder Deny -Links geklickt wurden.
    • Configuration Manager generierte Zertifikat wird vom Webbrowser auf dem Client nicht als vertrauenswürdig eingestuft. Es wird empfohlen, eine PKI-Zertifikatinfrastruktur einzurichten, wenn Links im internen Netzwerk verwendet werden.
  3. Service is unavailable, HTTP Error 503 Nachricht.
    • Überprüfen Sie, ob der Admin-Dienst ausgeführt wird. Wechseln Sie auf einem Anbietercomputer zu Details des Task-Managers>. Stellen Sie sicher, dass es einen aktiven Prozess namens gibt. sccmprovidergraph.exe
    • Öffnen Sie die Configuration Manager-Konsole,Verwaltungsstandortkonfigurationsserver>> undSMS-Anbieter fürStandortsystemrollen>. Klicken Sie mit der rechten Maustaste auf Eigenschaften. Stellen Sie sicher, dass Allow Configuration Manager cloud management gateway traffic. aktiviert ist, wenn das E-Mail-Genehmigungsfeature für die Verwendung mit Cloud Management Gateway vorgesehen ist, und nicht aktiviert, wenn das Feature zum Genehmigen oder Ablehnen von Anforderungen im internen Netzwerk verwendet wird.
  4. Links zum Genehmigen oder Ablehnen von Anforderungen über Cloud Management Gateway funktionieren nicht.
    • Vergewissern Sie sich, dass Microsoft Entra Benutzerermittlung aktiviert ist.
    • Stellen Sie sicher, dass die während der Anwendungsbereitstellung angegebene E-Mail-Adresse zu Ihrer organization gehört.
  5. Email wird nicht gesendet, wenn ein Benutzer eine Anwendung angefordert hat.
    • Vergewissern Sie sich, dass die E-Mail-Adresse korrekt ist.
    • Stellen Sie sicher, dass E-Mail-Benachrichtigungen für Warnungen konfiguriert sind.
    • Suchen Sie nach NotiCtrl.log Fehlern.
  6. Fehler im Assistenten zum Erstellen von Anwendungsbereitstellungen .
    • Stellen Sie sicher, dass Sie über Die Rechte zum Erstellen eines Abonnements verfügen. Das Abonnement wird während der Anwendungsbereitstellung automatisch erstellt.