Freigeben über


PowerShell-Unterstützung für Power Apps und Power Automate

Mit PowerShell Cmdlets für Power Platform-Ersteller und -Administratoren können Sie viele Überwachungs- und Verwaltungsaufgaben automatisieren. Aufgaben, die nur manual heute im Power Apps, Power Automate oder im Power Platform Admin Center möglich sind.

Cmdlets

Cmdlets sind in der PowerShell Skriptsprache geschriebene Funktionen, die Befehle in PowerShell ausführen. Wenn Sie diese Power Apps Cmdlets ausführen, können Sie mit Ihrer Business Application Platform interagieren, ohne das Verwaltungsportal in einem Webbrowser durchlaufen zu müssen.

Sie können Cmdlets mit anderen PowerShell-Funktionen kombinieren, um komplexe Skripts zu schreiben, die den Workflow optimieren können. Sie können weiterhin Cmdlets verwenden, wenn Sie kein Administrator des Mandanten sind, allerdings ist die Anzahl der Ressourcen, die Sie besitzen limitiert. Administratorbenutzerkonten verwenden Cmdlets, die mit Admin beginnen.

Cmdlets sind im PowerShell-Katalog als zwei separate Module verfügbar:

Informationen zum Power Apps Admin-Modul finden Sie unter Get started using the Power Apps admin module and Microsoft.PowerApps.Administration.PowerShell.

Erste Schritte mit PowerShell

Wenn Sie neu bei PowerShell sind und Hilfe beim Suchen und Starten benötigen, gehen Sie zu Erste Schritte mit PowerShell. Wenn Sie Hilfe bei der Verwendung von PowerShell oder den Cmdlets benötigen, gehen Sie zum PowerShell-Hilfesystem.

Voraussetzungen für PowerShell

PowerShell in diesem Artikel erfordert Windows PowerShell Version 5.x. Führen Sie den folgenden Befehl aus, um die auf Ihrem Computer ausgeführte Version von PowerShell zu überprüfen:

$PSVersionTable.PSVersion

Wenn Sie über eine veraltete Version verfügen, wechseln Sie zu Upgradeing vorhandener Windows PowerShell.

Wichtig

Die in diesem Dokument beschriebenen Module verwenden .NET Framework, das mit PowerShell 6.0 und höher nicht kompatibel ist. Diese späteren Versionen verwenden .NET Core.

Modulinstallation und Anmeldung

Um PowerShell-Cmldets für App-Entwickler auszuführen:

  1. Führen Sie PowerShell als Administrator aus.

    Screenshot, der zeigt, wie PowerShell als Administrator ausgeführt wird

  2. Importieren Sie die erforderlichen Module.

    Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
    Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber
    

    Wenn Sie keine Administratorrechte auf Ihrem Computer haben, können Sie alternativ den -Scope CurrentUser-PArrameter für die Installation verwenden.

    Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -Scope CurrentUser
    Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber -Scope CurrentUser
    
  3. Wenn Sie aufgefordert werden, die Änderung des InstallationPolicy-Wertes des Repositorys zu akzeptieren, akzeptieren Sie [A] Yes für alle Module durch Eingabe von A, und betätigen Sie dann Enter für jedes Modul.

    Screenshot, der zeigt, wo der InstallationPolicy-Wert in PowerShell akzeptiert werden soll

  4. Optional können Sie vor dem Zugriff auf die Befehle Ihre Anmeldeinformationen eingeben. Anmeldeinformationen werden für bis zu 8 Stunden aktualisiert, bevor Sie sich erneut anmelden müssen. Wenn vor der Ausführung eines Befehls keine Anmeldeinformationen angegeben werden, wird eine Eingabeaufforderung für die Anmeldeinformationen angezeigt.

    # Opens a prompt to collect credentials (Microsoft Entra account and password).
    Add-PowerAppsAccount
    
    # Here is how you can pass in credentials (to avoid opening a prompt).
    $pass = ConvertTo-SecureString "password" -AsPlainText -Force
    Add-PowerAppsAccount -Username user@contoso.com -Password $pass
    
  5. Optional kann ein bestimmtes Endpunkt als Ziel verwendet werden. Der Standardwert Endpunkt ist prod. Wenn ein Benutzer ein PowerShell-Skript für eine Umgebung in einer Nichtproduktionsregion ausführen möchte, z. B. GCC, kann der -Endpoint Parameter für GCC Moderate oder für GCC High oder usgovusgovhigh für GCC DOD geändert dod werden. Die vollständige Liste der unterstützten Endpunkte lautet: „prod,Vorschauversion,tip1,tip2,usgov,usgovhigh,dod,china“.

    # An environment in another region, such as GCC, can be targeted using the -Endpoint parameter.
    Add-PowerAppsAccount -Endpoint "usgov" 
    

Modulaktualisierungen

Sie können die Version aller Ihrer PowerShell-Module mit Module abrufen überprüfen.

Get-Module

Und Sie können alle Ihre PowerShell-Module mit Modul aktualisieren auf den neuesten Stand aktualisieren.

Update-Module

Alternativ können Sie die Power Platform-Modulversion überprüfen, indem Sie Module abrufen und den -Name-Parameter verwenden.

Get-Module -Name "Microsoft.PowerApps.Administration.PowerShell"
Get-Module -Name "Microsoft.PowerApps.PowerShell"

Aktualisieren Sie die Power Platform-PowerShell-Module mit Module aktualisieren und dem -Name-Parameter.

Update-Module -Name "Microsoft.PowerApps.Administration.PowerShell"
Update-Module -Name "Microsoft.PowerApps.PowerShell"

Power Apps Cmdlets für App-Ersteller

Voraussetzungen für Power Apps-Cmdlets

Benutzer mit einer gültigen Power Apps-Lizenz können die Vorgänge in diesen Cmdlets ausführen. Sie haben jedoch nur Zugriff auf Ressourcen wie Apps und Flows, die von ihnen erstellt oder mit ihnen geteilt werden.

Cmdlet-Liste – Ersteller-Cmdlets

Anmerkung

Wir haben einige der Cmdlets-Funktionsnamen in der neuesten Version aktualisiert, um geeignete Präfixe hinzuzufügen, um Kollisionen zu verhindern. Eine Übersicht darüber, was sich geändert hat, finden Sie in der folgenden Tabelle.

Purpose Cmdlet
Hinzufügen einer Canvas-App zu einer Microsoft Dataverse Lösung Set-PowerAppAsSolutionAware
Lesen und Aktualisieren von Umgebungen Get-AdminPowerAppEnvironment (vorher Get-PowerAppsEnvironment)
Get-FlowEnvironment
Restore-PowerAppEnvironment (vorher Restore-AppVersion)
Lesen, Aktualisieren und Löschen einer Canvas-App Get-AdminPowerApp(vorher Get-App)
Remove-AdminPowerApp (vorher Remove-App)
Publish-AdminPowerApp (zuvor Publish-App)
Lesen, Aktualisieren und Löschen von Canvas-App-Berechtigungen Get-AdminPowerAppRoleAssignment (vorher Get-AppRoleAssignment)
Remove-AdminPowerAppRoleAssignment (vorher Remove-AppRoleAssignment)
Lesen, Aktualisieren und Löschen eines Flows Get-AdminFlow
Aktivieren-AdminFlow
Deaktivieren-AdminFlow
Entfernen-AdminFlow
Lesen, Aktualisieren und Löschen von Flow-Berechtigungen Get-AdminFlowOwnerRole
AdminFlowOwnerRole festlegen
Entfernen-AdminFlowOwnerRole
Lesen von und reagieren auf Flow-Genehmigungen Get-AdminFlowApprovalRequest
Entfernen-AdminFlowApprovals
Lesen und Löschen von Verbindungen Get-AdminPowerAppConnection(vorher Get-Connection)
Remove-AdminPowerAppConnection (vorher Remove-Connection)
Lesen, Aktualisieren und Löschen von Verbindungs-Berechtigungen Get-AdminPowerAppConnectionRoleAssignment (vorher Get-ConnectionRoleAssignment)
Set-AdminPowerAppConnectionRoleAssignment (vorher Set-ConnectionRoleAssignment)
Remove-AdminPowerAppConnectionRoleAssignment (vorher Remove-ConnectionRoleAssignment)
Connectors lesen und löschen Get-AdminPowerAppConnector (vorher Get-Connector)
Remove-AdminPowerAppConnector (vorher Remove-Connector)
Berechtigungen für benutzerdefinierte Connectors hinzufügen, lesen, aktualisieren und löschen Get-AdminPowerAppConnectorRoleAssignment (vorher Get-ConnectorRoleAssignment)
Get-PowerAppConnectorRoleAssignment (vorher Set-ConnectorRoleAssignment)
Remove-PowerAppConnectorRoleAssignment (vorher Remove-ConnectorRoleAssignment)
Lesen, Hinzufügen und Entfernen von Richtlinien-URL-Mustern Get-PowerAppPolicyUrlPatterns
Neu-PowerAppPolicyUrlPatterns
Entfernen-PowerAppPolicyUrlPatterns
Management-Apps lesen, registrieren und entfernen Holen Sie sich PowerAppManagementApp
Holen Sie sich PowerAppManagementApps
Neu-PowerAppManagementApp
Entfernen-PowerAppManagementApp
Schutzschlüssel lesen, erstellen, aktualisieren und importieren Get-PowerAppRetrieveAvailableTenantProtectionKeys
Holen Sie sich PowerAppGenerateProtectionKey
Get-PowerAppRetrieveTenantProtectionKey
Neu-PowerAppImportProtectionKey
Festlegen des PowerAppTenantProtectionKey

Power Apps Cmdlets für Administratoren

Weitere Informationen zu Power Apps und Power Automate Cmdlets für Administratoren finden Sie unter Get started with PowerShell for Power Platform Administrators.

Tipps

  • Verwenden Sie Get-Help, gefolgt von einem CmdletName, um eine Liste von Beispielen abzurufen.

    Screenshot, der die Verwendung des Befehls „Get-Help“ zeigt

  • Nach der Eingabe des Bindestrichs - können Sie Tab drücken, um durch die Eingabe-Tags zu blättern. Platzieren Sie das Flag nach dem Cmdlet-Namen.

Befehlsbeispiele:

Get-Help Get-AdminPowerAppEnvironment
Get-Help Get-AdminPowerAppEnvironment -Examples
Get-Help Get-AdminPowerAppEnvironment -Detailed

Vorgangsbeispiele

Im Folgenden finden Sie einige häufige Szenarien, in denen gezeigt wird, wie sie neue und vorhandene Power Apps-Cmdlets verwenden.

Umgebungs-Befehle

Verwenden Sie diese Befehle, um Details zu Umgebungen in Ihrem Mandanten abzurufen und diese zu aktualisieren.

Anzeigen einer Liste aller Umgebungen

Get-AdminPowerAppEnvironment

Gibt eine Liste jeder Umgebung in Ihrem Mandanten mit Details zu jeder Umgebung zurück (z. B. Umgebungsname (GUID), Anzeigename, Standort, Entwickler usw.).

Anzeigen von Details zu Ihrer Standardumgebung

Get-AdminPowerAppEnvironment –Default

Gibt die Details nur für die Standardumgebung des Mandanten zurück.

Zeigt Details einer bestimmten Umgebung an

Get-AdminPowerAppEnvironment –EnvironmentName 'EnvironmentName'

Anmerkung

Das Feld EnvironmentName ist ein eindeutiger Bezeichner, der sich vom DisplayName unterscheidet (siehe erstes und zweites Feld in der Ausgabe im folgenden Bild).

Get-AdminEnvironment-Befehl

befehle Power Apps

Diese Vorgänge werden verwendet, um Power Apps Daten in Ihrem Mandanten zu lesen und zu ändern.

Anzeigen einer Liste aller Power Apps

Get-AdminPowerApp

Gibt eine Liste aller Power Apps für den gesamten Mandanten zurück, wobei Details zu jedem (z. B. Anwendungsname (GUID), Anzeigename, Ersteller usw. enthalten sind.

Anzeigen einer Liste aller Power Apps, die dem Anzeigenamen der Eingabe entsprechen

Get-AdminPowerApp 'DisplayName'

Dieser Befehl listet alle Power Apps in Ihrem Mandanten auf, die dem Anzeigenamen entsprechen.

Anmerkung

Verwenden Sie Anführungszeichen um Eingabewerte, die Leerzeichen enthalten. Zum Beispiel "My App Name".

Eine Anwendung empfehlen

Set-AdminPowerAppAsFeatured –AppName 'AppName'

Empfohlene Anwendungen werden gruppiert und an den Anfang der Liste im Power Apps mobilen Player verschoben.

Anmerkung

Wie Umgebungen ist das Feld AppName ein eindeutiger Bezeichner, der sich von DisplayName unterscheidet. Wenn Sie Vorgänge basierend auf dem Anzeigenamen ausführen möchten, können Sie mit einigen Funktionen die Pipeline verwenden (siehe nächste Funktion).

Eine Anwendung mit der Pipeline zur herausragenden App machen

Get-AdminPowerApp 'DisplayName' | Set-AdminPowerAppAsHero

Eine Hero-App wird oben in der Liste im Power Apps mobilen Player angezeigt. Es kann nur eine herausragende App geben.

Der Strich | zwischen zwei Cmdlets übernimmt die Ausgabe des ersten Cmdlets und übergibt sie als Eingabewert des zweiten Cmdlets, wenn die Funktion geschrieben wird, um den Strich aufzunehmen.

Anmerkung

Eine App muss bereits eine empfohlene App sein, bevor sie zu einem Hero geändert wird.

Anzeige der Anzahl der Apps, die jeder Benutzer besitzt

Get-AdminPowerApp | Select –ExpandProperty Owner | Select –ExpandProperty displayname | Group

Sie können systemeigene PowerShell-Funktionen mit den Power Apps Cmdlets kombinieren, um Daten noch weiter zu bearbeiten. Hier verwenden wir die Auswahl-Funktion, um das Besitzer-Attribut (ein Objekt) vom Get-AdminApp-Objekt zu isolieren. Anschließend isolieren wir den Namen des Besitzerobjektes, indem wir diese Ausgabe in eine andere Auswahl-Funktion einfügen. Wenn Sie die zweite Ausgabe der Auswahl-Funktion an die Gruppen-Funktion übergeben, erhalten Sie eine übersichtliche Tabelle mit der Anzahl der Apps jedes Besitzers.

Get-AdminPowerApp-Befehl

Anzeigen der Anzahl der Apps in jeder Umgebung

Get-AdminPowerApp | Select -ExpandProperty EnvironmentName | Group | %{ New-Object -TypeName PSObject -Property @{ DisplayName = (Get-AdminPowerAppEnvironment -EnvironmentName $_.Name | Select -ExpandProperty displayName); Count = $_.Count } }

Get-AdminPowerApp-Umgebung

Herunterladen Power Apps Benutzerdetails

Get-AdminPowerAppsUserDetails -OutputFilePath '.\adminUserDetails.txt' –UserPrincipalName 'admin@bappartners.onmicrosoft.com'

Der vorherige Befehl speichert die Power Apps Benutzerdetails (grundlegende Nutzungsinformationen zum Eingabebenutzer über den Benutzerprinzipalnamen) in der angegebenen Textdatei. Es wird eine neue Datei erstellt, wenn keine Datei mit diesem Namen vorhanden ist, und die Textdatei wird überschrieben, wenn sie bereits vorhanden ist.

Liste der zugewiesenen Benutzerlizenzen exportieren

Get-AdminPowerAppLicenses -OutputFilePath '<licenses.csv>'

Exportiert alle zugewiesenen Benutzerlizenzen (Power Apps und Power Automate) in Ihrem Mandanten in eine tabellarische Ansicht .csv Datei. Die exportierte Datei enthält sowohl Self-Service-, Registrierungs-, interne Testpläne als auch Pläne, die aus Microsoft Entra ID stammen. Die internen Testpläne sind für Administratoren im Microsoft 365 Admin Center nicht sichtbar.

Der Export kann für Mandanten mit einer großen Anzahl von Microsoft Power Platform Benutzern eine Weile dauern.

Anmerkung

Die Ausgabe des Cmdlets Get-AdminPowerAppLicenses enthält nur Lizenzen für Benutzer, die auf Power Platform-Dienste zugegriffen haben (z. B. Power Apps, Power Automate oder Power Platform Admin Center). Benutzer, denen lizenzen in Microsoft Entra ID zugewiesen wurden (in der Regel über das Microsoft 365 Admin Center), aber nie auf Power Platform-Dienste zugegriffen haben, verfügen nicht über ihre Lizenzen in der generierten .csv Ausgabe. Da die Power Platform-Lizenzierungsdienste die Lizenzen zwischenspeichern, können Aktualisierungen an Lizenzzuweisungen in Microsoft Entra ID bis zu sieben Tage dauern, um die Ausgabe für Benutzer widerzuspiegeln, die kürzlich nicht auf den Dienst zugegriffen haben.

Festlegen des angemeldeten Benutzers als Besitzer einer Canvas-App

Set-AdminPowerAppOwner –AppName 'AppName' -AppOwner $Global:currentSession.userId –EnvironmentName 'EnvironmentName'

Ändert die Besitzerrolle eines Power App zum aktuellen Benutzer und ersetzt den ursprünglichen Besitzer durch den Rollentyp „kann anzeigen“.

Anmerkung

Die AppName- und EnvironmentName-Felder sind die eindeutigen Bezeichner (GUIDs), nicht die Anzeigenamen.

Anzeigen einer Liste der gelöschten Canvas-Apps in einer Umgebung

Get-AdminDeletedPowerAppsList -EnvironmentName 'EnvironmentName'

Dieser Befehl zeigt alle Canvas Apps an, die kürzlich gelöscht wurden und möglicherweise noch wiederhergestellt werden können. Die wiederherstellbare Dauer beträgt 28 Tage. Jede App, die nach 28 Tagen gelöscht wurde, wird in dieser Liste nicht zurückgegeben und kann nicht wiederhergestellt werden.

Wiederherstellen einer gelöschten Canvas App

Get-AdminRecoverDeletedPowerApp -AppName 'AppName' -EnvironmentName 'EnvironmentName'

Dieser Befehl stellt eine Canvas-App wieder her, die über das Get-AdminDeletedPowerAppsList-Cmdlet auffindbar ist. Jede Canvas-App, die nicht in Get-AdminDeletedPowerAppsList angezeigt wird, kann nicht wiederhergestellt werden.

Festlegen SharePoint benutzerdefinierten Formularumgebung

Mit den folgenden Cmdlets können Sie anstelle der Standardumgebung angeben und überprüfen, in welcher Umgebung SharePoint benutzerdefinierte Formulare gespeichert werden. Wenn sich die festgelegte Umgebung für SharePoint benutzerdefinierte Formulare ändert, werden in dieser Umgebung neu erstellte benutzerdefinierte Formulare gespeichert. Vorhandene angepasste Formulare werden nicht automatisch in andere Umgebungen migriert, wenn diese Cmdlets verwendet werden. Die Möglichkeit für einen Benutzer, ein angepasstes Formular in einer bestimmten Umgebung zu erstellen, erfordert, dass dieser Benutzer die Rolle Environment Maker hat. Benutzern kann im Power Platform Admin-Center die Rolle Environment Maker zugewiesen werden.

Jede Umgebung, die nicht die Standardumgebung ist, kann gelöscht werden. Wenn die angegebene SharePoint benutzerdefinierte Formularumgebung gelöscht wird, werden die benutzerdefinierten Formulare damit gelöscht.

Get-AdminPowerAppSharepointFormEnvironment  

Dieser Befehl gibt die EnvironmentName für die Umgebung zurück, die derzeit für neu erstellte SharePoint benutzerdefinierte Formulare festgelegt ist. Wenn nie eine Umgebung bestimmt wurde, wird die Standardumgebung zurückgegeben.

Set-AdminPowerAppSharepointFormEnvironment –EnvironmentName 'EnvironmentName' 

Mit diesem Befehl wird die neu erstellte Umgebung SharePoint gespeicherten benutzerdefinierten Formularen anstelle der Standardumgebung festgelegt. Vorhandene angepasste Formulare werden nicht automatisch in die neu bestimmte Umgebung migriert. Nur die Produktionsumgebung kann für SharePoint benutzerdefinierte Formulare festgelegt werden.

Reset-AdminPowerAppSharepointFormEnvironment  

Dadurch wird die Standardumgebung als festgelegte Umgebung zurückgesetzt, um SharePoint benutzerdefinierten Formulare zu speichern.

Die Mandanteneinstellung für die Möglichkeit, Apps für Alle freizugeben, anzeigen

$settings = Get-TenantSettings 
$settings.PowerPlatform.PowerApps.disableShareWithEveryone 

Diese Einstellung steuert, ob Benutzer mit der Sicherheitsrolle „Umgebungserstellung“ Canvas-Apps für Alle Benutzer in einer Organisation freigeben können. Wenn die Einstellung auf true festgelegt ist, können nur Benutzer mit einer Administratorrolle (Dynamics 365 Administrator, Power Platform Service-Administrator Microsoft Entra Mandantenadministrator) Apps für Everyone in einer Organisation freigeben.

Entwickler mit Freigabeberechtigung können unabhängig von diesem Mandanteneinstellungswert Sicherheitsgruppen beliebiger Größe freigeben. Dieses Steuerelement bestimmt nur, ob die Kurzform Alle bei der Freigabe verwendet werden kann.

Die Mandanteneinstellung für die Möglichkeit, Apps für Alle freizugeben, ändern

$settings = Get-TenantSettings 
$settings.powerPlatform.powerApps.disableShareWithEveryone = $True 
Set-TenantSettings -RequestBody $settings

Surface Der Governance-Fehlermeldungsinhalt Ihrer Organisation

Wenn Sie festlegen, dass der Inhalt der Governance-Fehlermeldung in Fehlermeldungen angezeigt werden soll, wird der Inhalt in die Fehlermeldung aufgenommen, die angezeigt wird, wenn Entwickler feststellen, dass sie nicht berechtigt sind, Apps für Alle freizugeben. Siehe PowerShell-Befehle für den Inhalt von Governance-Fehlermeldungen.

Kontextbezogene Flows einer App zuordnen

Ordnen Sie Flows im Kontext einer App der App zu, um eine Abhängigkeit zwischen der App und Flows zu erstellen. Weitere Informationen zu Kontextflüssen finden Sie unter What Power Automate capabilities are included in Power Apps licenses?

   Add-AdminFlowPowerAppContext -EnvironmentName <String> -FlowName <String> -AppName <String> [-ApiVersion <String>] [<CommonParameters>]

EnvironmentName und FlowName sind in der Flow-URL zu finden:

  • Für einen Nicht-Lösungsflow sieht die URL wie folgt aus:

    https://preview.flow.microsoft.com/manage/environments/839eace6-59ab-4243-97ec-a5b8fcc104e7/flows/6df8ec2d-3a2b-49ef-8e91-942b8be3202t/details
    

    Die GUID nach environments/ ist der EnvironmentName und die GUID nach flows/ ist der FlowName.

  • Für einen Lösungsflow sieht die URL wie folgt aus:

    https://us.flow.microsoft.com/manage/environments/66495a1d-e34e-e330-9baf-0be559e6900b/solutions/fd140aaf-4df4-11dd-bd17-0019b9312238/flows/53d829c4-a5db-4f9f-8ed8-4fb49da69ee1/details
    

    Die GUID nach environments/ ist der EnvironmentName und die GUID nach flows/ ist der FlowName.

  • Den AppName für eine Canvas-App finden Sie auf der Detailseite der Canvas-App.

    Screenshot der zeigt, dass der AppName für eine Canvas-App auf der Detailseite der Canvas-App zu finden ist

  • Der AppName für eine modellgesteuerte App finden Sie im Projektmappen-Explorer.

    Screenshot der zeig, dass der AppName für eine modellgesteuerte App im Projektmappen-Explorer zu finden ist

  • Um die Beispiele anzuzeigen, geben Sie Folgendes ein: get-help Add-AdminFlowPowerAppContext -examples.

  • Um weitere Informationen zu erhalten, geben Sie Folgendes ein: get-help Add-AdminFlowPowerAppContext -detailed.

  • Um technische Informationen zu erhalten, geben Sie Folgendes ein: get-help Add-AdminFlowPowerAppContext -full.

Kontextbezogene Flows einer App entfernen

Entfernen Sie die Abhängigkeit zwischen Flows und einer App mit diesem PowerShell-Befehl. Der „Remove-AdminFlowPowerAppContext“ entfernt App-Kontext aus dem spezifischen Flow.

    Remove-AdminFlowPowerAppContext -EnvironmentName <String> -FlowName <String> -AppName <String> [-ApiVersion <String>] [<CommonParameters>]

    - To see the examples, type: "get-help Remove-AdminFlowPowerAppContext -examples".
    - For more information, type: "get-help Remove-AdminFlowPowerAppContext -detailed".
    - For technical information, type: "get-help Remove-AdminFlowPowerAppContext -full".

befehle Power Automate

Verwenden Sie diese wichtigen Befehle, um die Verwaltung im Zusammenhang mit Power Automate auszuführen.

Eine vollständige Liste der Power Automate- und Power Apps-Cmdlets für Administratoren finden Sie unter Get started with PowerShell for Power Platform Administrators.

Anzeigen aller Flows

Get-AdminFlow

Gibt eine Liste aller Flows in einem Mandanten zurück.

Anzeigen von Rollendetails zu Flow-Besitzern

Get-AdminFlowOwnerRole –EnvironmentName 'EnvironmentName' –FlowName 'FlowName'

Gibt die Besitzerdetails des angegebenen Flows zurück.

Anmerkung

Wie Environments und PowerApps ist FlowName der eindeutige Bezeichner (GUID), der sich vom Anzeigenamen des Flow unterscheidet.

Anzeigen von Flow-Benutzerdetails

Get-AdminFlowUserDetails –UserId $Global:currentSession.userId

Gibt die Benutzerdetails zur Flow-Nutzung zurück. In diesem Beispiel wird die Benutzer-ID des aktuell angemeldeten Benutzers der PowerShell-Sitzung als Eingabe verwendet.

Entfernen von Flow-Benutzerdetails

Remove-AdminFlowUserDetails –UserId 'UserId'

Löscht die Details zu einem Flow-Benutzer vollständig aus der Microsoft-Datenbank. Alle Flows, die dem eingegebenen Benutzer gehören, müssen gelöscht werden, bevor die Flow-Benutzerdetails gelöscht werden können.

Anmerkung

The UserId field is the Object ID of the user's Microsoft Entra record, which can be found in the Azure portal under Microsoft Entra ID>Users>Profile>Object ID. Sie müssen ein Administrator sein, um von hier aus auf diese Daten zugreifen zu können.

Exportieren aller Flows in eine CSV-Datei

Get-AdminFlow | Export-Csv -Path '.\FlowExport.csv'

Exportiert alle Flows in Ihrem Mandanten in eine CSV-Datei mit tabellarischer Ansicht.

Hinzufügen von Cloud-Flows in Dataverse-Lösungen

Add-AdminFlowsToSolution -EnvironmentName <String>

Migriert alle Nicht-Lösungsflows in der Umgebung.

Parametervariationen können verwendet werden, um nur bestimmte Flows zu migrieren, sie einer bestimmten Lösung hinzuzufügen oder nur eine bestimmte Anzahl von Flows gleichzeitig zu migrieren.

Weitere technische Details finden Sie unter Add-AdminFlowsToSolution.

Auflisten von HTTP-Aktionsflüssen

Get-AdminFlowWithHttpAction -EnvironmentName <String>

Listet Flüsse mit HTTP-Aktionen auf.

Anzeigename FlowName EnvironmentName
Rechnungs-HTTP abrufen Flow-1 Umgebung-1
Rechnung aus App bezahlen Flow-2 Umgebung-2
Konto abstimmen Ablauf-3 Umgebung-3

API-Verbindungsbefehle

Anzeigen und Verwalten von API-Verbindungen in Ihrem Mandanten.

Anzeigen aller nativen Verbindungen in Ihrer Standardumgebung

Get-AdminPowerAppEnvironment -Default | Get-AdminPowerAppConnection

Zeigt eine Liste aller API-Verbindungen an, die Sie in der Standardumgebung haben. Systemeigene Verbindungen befinden sich auf der Registerkarte Dataverse>Connections in Power Apps.

Anzeigen aller benutzerdefinierten Connectors im Mandanten

Get-AdminPowerAppConnector

Gibt eine Liste aller benutzerdefinierten Connector-Details im Mandanten zurück.

Anmerkung

Get-AdminPowerAppConnector listet keine benutzerdefinierten Konnektoren auf, die in einer Lösung enthalten sind. Dies ist eine bekannte Einschränkung.

Datenrichtlinienbefehle

Diese Cmdlets steuern die Datenrichtlinien für Ihren Mandanten.

Erstellen einer Datenrichtlinie

New-DlpPolicy

Erstellt eine neue Datenrichtlinie für den Mandanten des angemeldeten Administrators.

Abrufen einer Liste von Datenrichtlinienobjekten

Get-DlpPolicy

Ruft Richtlinien-Objekte für den Mandanten des angemeldeten Admins ab.

Anmerkung

  • Wenn Sie eine Datenrichtlinie mit PowerShell anzeigen, stammen der Anzeigename von Connectors, wann die Datenrichtlinie erstellt wurde oder wann die Connectors zuletzt innerhalb der Richtlinie verschoben wurden. Neue Änderungen an den Anzeigenamen von Connectors werden nicht wiedergegeben.
  • Wenn Sie eine Datenrichtlinie mit PowerShell anzeigen, werden keine neuen Connectors in der Standardgruppe zurückgegeben, die nicht verschoben wurden.

Eine Problemumgehung für diese beiden bekannten Probleme besteht darin, den betroffenen Konnektor in eine andere Gruppe innerhalb der Richtlinie zu verschieben und ihn dann wieder in die richtige Gruppe zu verschieben. Danach ist jeder der Verbinder mit dem richtigen Namen sichtbar.

Aktualisieren einer Datenrichtlinie

Set-DlpPolicy

Aktualisiert Details der Richtlinie, wie z. B. den Anzeigenamen der Richtlinie.

Entfernen einer Richtlinie

Remove-DlpPolicy

Löscht eine Datenrichtlinie.

Cmdlets für Datenressourcenausnahme

Mit diesen Cmdlets können Sie eine bestimmte Ressource aus einer Richtlinie ausnehmen oder aufheben.

Abrufen vorhandener ausgenommener Ressourcenliste für eine Datenrichtlinie

Get-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

Erstellen einer neuen Ausnahmeressourcenliste für eine Datenrichtlinie

New-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -NewDlpPolicyExemptResources 

Aktualisieren der Liste der ausgenommenen Ressourcen für eine Datenrichtlinie

Set-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -UpdatedExemptResources 

Entfernen der Liste der ausgenommenen Ressourcen für eine Datenrichtlinie

Remove-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

Um eine Ressource von einer Datenrichtlinie auszunehmen, benötigen Sie die folgenden Informationen:

  • Mandanten-ID (GUID)
  • Datenrichtlinien-ID (GUID)
  • Ressourcen-ID (endet mit einer GUID)
  • Ressourcentyp

Sie können die ID und den Typ einer Ressource mithilfe der PowerShell-Cmdlets „Get-PowerApp“ für Apps und „Get-Flow“ für Flows abrufen.

Beispiel für ein Entfernungsskript

Um den Flow mit der ID f239652e-dd38-4826-a1de-90a2aea584d9 und die App mit der ID 06002625-7154-4417-996e-21d7a60ad624 auszuschließen, können wir die folgenden Cmdlets ausführen:

1. PS D:\> $flow = Get-Flow -FlowName f239652e-dd38-4826-a1de-90a2aea584d9 
2. PS D:\> $app = Get-PowerApp -AppName 06002625-7154-4417-996e-21d7a60ad624 
3. PS D:\> $exemptFlow = [pscustomobject]@{ 
4. >>             id = $flow.Internal.id 
5. >>             type = $flow.Internal.type 
6. >>         } 
7. PS D:\> $exemptApp = [pscustomobject]@{ 
8. >>             id = $app.Internal.id 
9. >>             type = $app.Internal.type 
10. >>         } 
11. PS D:\> $exemptResources = [pscustomobject]@{ 
12. >>             exemptResources = @($exemptFlow, $exemptApp) 
13. >>         } 
14. PS D:\> New-PowerAppDlpPolicyExemptResources -TenantId aaaabbbb-0000-cccc-1111-dddd2222eeee -PolicyName bbbbcccc-1111-dddd-2222-eeee3333ffff -NewDlpPolicyExemptResources $exemptResources 
15. 
16. exemptResources 
17. --------------- 
18. {@{id=/providers/Microsoft.ProcessSimple/environments/Default-aaaabbbb-0000-cccc-1111-dddd2222eeee/flows/f239652e-dd38-4826-a1de-90a2aea584d9; type=Microsoft.ProcessSimple/environments/flows}, @{id=/providers/Microsoft.PowerApps/apps/06002625-7154-4417-996e-21d7a60ad.. 

Datenrichtlinienausnahme in den folgenden Szenarien

# Szenario Erfahrung
1 Der Benutzer startet eine App, die nicht datenrichtlinienkonform ist, aber Datenrichtlinien ausgenommen. Der Start der App wird mit oder ohne Erzwingung von Datenrichtlinien fortgesetzt.
2 Maker speichert eine App, die nicht datenrichtlinienkonform ist, aber Datenrichtlinie ausgenommen Mit oder ohne Datenrichtlinienausnahme blockiert die Datenrichtliniencompliance den App-Speichervorgang nicht. Die Warnung zur Nichtkompatibilität der Datenrichtlinie wird unabhängig von der Datenrichtlinienausnahme angezeigt.
3 Maker speichert einen Fluss, der nicht datenrichtlinienkonform ist, aber Datenrichtlinien ausgenommen Mit oder ohne Datenrichtlinienausnahme blockiert die Datenrichtliniencompliance den Ablaufspeichervorgang nicht. Die Warnung zur Nichtkompatibilität der Datenrichtlinie wird nicht angezeigt.

Inhaltsbefehle für Governance-Fehlermeldungen

Die folgenden Cmdlets können Ihre Endbenutzer zum Governance-Referenzmaterial Ihrer Organisation führen. Der Befehl enthält einen Link zur Governance-Dokumentation und einen Governance-Kontakt für den Fall, dass sie durch Governance-Kontrollen dazu aufgefordert werden. Wenn beispielsweise Governancefehlermeldungen festgelegt werden, wird sie in Power Apps Datenrichtlinien-Erzwingungsmeldungen angezeigt.

Inhalt von Governance-Fehlermeldungen festlegen

New-PowerAppDlpErrorSettings -TenantId 'TenantId' -ErrorSettings @{  
  ErrorMessageDetails = @{ 
    enabled = $True  
    url = "https://contoso.org/governanceMaterial" 
  } 
  ContactDetails= @{  
    enabled = $True 
    email = "admin@contoso.com" 
  } 
} 

Die URL der Governance-Fehlermeldung und die E-Mail-Adresse können unabhängig voneinander oder zusammen angezeigt werden. Sie können die Governance-Fehlermeldung mit dem enabled-Feld aktivieren oder deaktivieren.

Szenarien für Governance-Fehlermeldungen

# Szenario Verfügbarkeit
1 Der Benutzer startet eine App, die mit Power Apps erstellt wurde, die keine Datenrichtlinie konform ist. Allgemein verfügbar
2 Maker teilt eine Power Apps Canvas-App, verfügt aber nicht über Freigabeberechtigungen Allgemein verfügbar
3 Maker gibt eine Power Apps Canvas-App mit Everyone frei, verfügt aber nicht über berechtigungen zum Teilen mit Everyone Allgemein verfügbar
4 Maker speichert eine App, die mit Power Apps erstellt wurde, die keine Datenrichtlinie konform ist. Allgemein verfügbar
5 Maker speichert einen Power Automate Fluss, der nicht datenrichtlinienkonform ist. Allgemein verfügbar
6 Der Benutzer startet eine App ohne Sicherheitsgruppenmitgliedschaft in der Sicherheitsgruppe, die der Dataverse-Umgebung zugeordnet ist Allgemein verfügbar

Inhalt von Governance-Fehlermeldungen anzeigen

Get-PowerAppDlpErrorSettings -TenantId 'TenantId' 

Inhalt von Governance-Fehlermeldungen aktualisieren

Set-PowerAppDlpErrorSettings -TenantId 'TenantId' -ErrorSettings @{  
  ErrorMessageDetails = @{ 
    enabled = $True  
    url = "https://contoso.org/governanceMaterial" 
  } 
  ContactDetails= @{  
    enabled = $True 
    email = "admin@contoso.com" 
  } 
} 

Erzwingen von Datenrichtlinien für Verstöße gegen Verbindungen – Umgebung

Mit diesen Cmdlets können Sie Datenrichtlinien erzwingen, um Verbindungen auf Umgebungs- oder Mandantenebene zu verletzen.

Erzwingen von Datenrichtlinien für Verstöße gegen Verbindungen

Sie können Datenrichtlinien für Verbindungen in einer Umgebung erzwingen. Durch das Erzwingen von vorhandenen Verbindungen, die gegen Datenrichtlinien verstoßen, werden alle zuvor deaktivierten Verbindungen aktiviert, die nicht mehr gegen Datenrichtlinien verstoßen.

Start-DLPEnforcementOnConnectionsInEnvironment -EnvironmentName [Environment ID]
Beispielskript für die Durchsetzung auf Umgebungsebene
Start-DLPEnforcementOnConnectionsInEnvironment -EnvironmentName c4a07cd6-cb14-e987-b5a2-a1dd61346963 

Erzwingen von Datenrichtlinien für Verstöße gegen Verbindungen – Mandant

Sie können Datenrichtlinien für Verbindungen im Mandanten erzwingen. Durch das Erzwingen von vorhandenen Verbindungen, die gegen Datenrichtlinien verstoßen, werden alle zuvor deaktivierten Verbindungen aktiviert, die nicht mehr gegen Datenrichtlinien verstoßen.

Start-DLPEnforcementOnConnectionsInTenant

Befehle zum Blockieren von Testlizenzen

Befehle:

Remove-AllowedConsentPlans
Add-AllowedConsentPlans
Get-AllowedConsentPlans

Mit den Cmdlets für zulässige Einwilligungspläne können Sie einem Mandanten Zugriff auf einen bestimmten Typ von Einwilligungsplan genehmigen oder verweigern. "Interne" Zustimmungspläne sind Entweder Testlizenzen oder Entwicklerpläne, für die sich Benutzer über Power Apps/Power Automate Portale/Power Automate für Desktop registrieren können. „Ad-hoc-Abonnement“- oder „virale” Zustimmungspläne sind Testlizenzen, für die sich Benutzer selbst über https://signup.microsoft.com anmelden können. Administratoren können Benutzer über Microsoft Entra ID oder das Microsoft 365 Admin-Portal zuweisen.

Standardmäßig sind alle Arten von Zustimmungsplänen in einem Mandanten zulässig. Ein Power Platform-Administrator möchte jedoch möglicherweise verhindern, dass Benutzer selbst Testlizenzen zuweisen, aber die Möglichkeit behalten, Testlizenzen im Auftrag von Benutzern zuzuweisen. Diese Regel kann mithilfe des Befehls Remove-AllowedConsentPlans -Types "Internal" erreicht werden und die Einstellung Update-MgPolicyAuthorizationPolicy -AllowedToSignUpEmailBasedSubscriptions in Microsoft Entra ID nicht zulassen.

Wenn Sie Fragen haben

Wenn Sie Kommentare, Vorschläge oder Fragen haben, posten Sie sie im Administering Power Apps Community Board.