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 heute nur manuell in Power Apps, Power Automate oder im Power Platform-Aktivitätscenter möglich sind.

Cmdlets

Cmdlets sind Funktionen, die in PowerShell-Skriptsprache geschrieben werden, die Befehle in der Windows PowerShell-Umgebung ausführen. Durch das Ausführen dieser Power Apps Cmdlets können Sie mit der Geschäftsanwendungs-Plattform interagieren, ohne auf das Verwaltungsportal in einem Webbrowser zugreifen 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, siehe Beginnen Sie mit der Power Apps Admin-Modul und Microsoft.PowerApps.Administration.PowerShell.

Notiz

Betreffend Dynamics 365 Government Community-Cloud (GCC)-Support der Ebene 2:

Der Standardendpunkt „prod”. Wenn ein Benutzer ein PowerShell-Skript ausführen möchte, das auf eine GCC-Umgebung abzielt, muss der Parameter „-Endpoint“ für GCC Moderate in „usgov“, für GCC High in „usgovhigh“ oder für GCC DOD in „dod“ geändert werden.

Add-PowerAppsAccount -Endpoint "usgov" 

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.

Anforderungen

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 eine veraltete Version haben, gehen Sie zu Aktualisieren der vorhandenen 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

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. Bevor Sie auf die Befehle zugreifen können, können Sie mit dem unten aufgeführten Befehl Ihre Anmeldeinformationen angeben. Anmeldeinformationen werden für bis zu 8 Stunden aktualisiert, bevor Sie sich erneut anmelden müssen.

    # 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
    

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

Anforderungen

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 Cmdlet-Funktionsnamen in der neuesten Version aktualisiert, um entsprechende Präfixe hinzufügen, um Konflikte zu vermeiden. Die Tabelle gibt einen Überblick darüber, was geändert wurde.

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

Power Apps-Cmdlets für Administratoren

Weitere Informationen zu Power Apps und Power Automate-Cmdlets für Administratoren finden Sie unter Einstieg in PowerShell für Power Platform-Administratoren.

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

Nachfolgend werden einige allgemeine Szenarien angezeigt, die Aufschluss über die Verwendung neuer und vorhandener Power Apps Cmdlets geben.

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

Power Apps-Befehle

Diese Vorgänge werden zum Lesen und Ändern von Power Apps-Daten in Ihrem Mandanten verwendet.

Anzeigen einer Liste aller Power Apps

Get-AdminPowerApp

Gibt eine Liste aller Power Apps in Ihrem Mandanten mit Details zu jeder Umgebung zurück (z. B. Anwendungsname (GUID), Anzeigename, Creator usw.).

Anzeigen einer Liste aller Power Apps, die dem Anzeigenamen 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 in der obersten Liste im mobilen Power Apps-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 herausragende App wird oben in der Liste des mobilen Power Apps-Players 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, damit sie eine herausragende App werden kann.

Anzeige der Anzahl der Apps, die jeder Benutzer besitzt

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

Sie können native PowerShell-Funkionen mit Power Apps-Cmdlets kombinieren, um Daten noch weiter zu ändern. 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 der Power Apps-Benutzerdetails

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

Der obere Befehl speichert die Power Apps-Benutzerdetails (grundlegende Nutzungsinformationen über den eingegebenen Benutzer über dessen 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 einer tabellarischen Ansicht in eine .csv-Datei. Die exportierte Datei enthält sowohl Self-Service-, Anmeldepläne und Pläne für interne Tests als auch Pläne, die von Microsoft Entra ID bezogen werden. Die internen Testversionsplä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.

Notiz

Die Ausgabe des Get-AdminPowerAppLicenses-Cmdlets enthält nur Lizenzen für Benutzer mit Zugriff auf Power Platform-Dienste (zum Beispiel Power Apps, Power Automate oder Power Platform Admin Center). Die Lizenzen von Benutzern, denen in Microsoft Entra ID Lizenzen zugewiesen wurden (normalerweise über das Microsoft 365 Admin Center), aber noch nie auf Power Platform-Diensten zugegriffen haben, sind nicht in der generierten .csv-Ausgabe enthalten. Da die Power Platform-Lizenzierungsdienste die Lizenzen speichern, können Updates von Lizenzzuweisungen in Microsoft Entra ID zudem bis zu sieben Tage dauern, bis sie sich in der Ausgabe für Benutzer widerspiegeln, die in letzter Zeit 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 einer PowerApp in den aktuellen Benutzer und ersetzt den ursprünglichen Besitzer mit dem 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.

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.

SharePoint angepasste Umgebung für Formulare benennen

Mit den folgenden Cmdlets können Sie angeben und überprüfen, in welcher Umgebung SharePoint angepasste Formulare gespeichert werden, anstatt in der Standardumgebung. Wenn sich die vorgesehene Umgebung für SharePoint angepasste Formulare ändert, ist dies die Umgebung, in der neu erstellte angepasste Formulare gespeichert werden. 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 vorgesehene SharePoint-Umgebung für angepasste Formulare gelöscht wird, werden die angepassten Formulare mit ihr gelöscht.

Get-AdminPowerAppSharepointFormEnvironment  

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

Set-AdminPowerAppSharepointFormEnvironment –EnvironmentName 'EnvironmentName' 

Dieser Befehl bezeichnet die Umgebung, in der neu erstellte angepasste SharePoint-Formulare gespeichert werden, anstelle der Standardumgebung. Vorhandene angepasste Formulare werden nicht automatisch in die neu bestimmte Umgebung migriert. Für SharePoint angepasste Formulare dürfen nur Produktionsumgebungen bestimmt werden.

Reset-AdminPowerAppSharepointFormEnvironment  

Hiermit wird die Standardumgebung als die vorgesehene Umgebung zum Speichern von SharePoint angepassten Formularen zurückgesetzt.

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 gesetzt ist, können nur Benutzer mit einer Administratorrolle (Dynamics 365-Administrator, Power Platform-Dienstadministrator, Microsoft Entra-Mandantenadministrator) Apps für Alle Benutzer 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

Den Inhalt der Governance-Fehlermeldung Ihrer Organisation anzeigen

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 Welche Power Automate Fähigkeiten sind in Power Apps Lizenzen enthalten?

   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".

Power Automate-Befehle

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

Eine umfassende Liste der Power Automate- und Power Apps-Cmdlets für Administratoren finden Sie unter Einstieg in PowerShell für Power Platform-Administratoren.

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

Das UserId-Feld ist die Objekt-ID des Microsoft Entra-Benutzerdatensatzes, der sich im Azure-Portal unter Microsoft Entra ID>Benutzer>Profil>Objekt-ID befindet. 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.

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. Native Verbindungen finden Sie unter der Registerkarte Dataverse>Verbindungen 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 verfügbar sind. Dies ist eine bekannte Einschränkung.

Richtlinienbefehle zur Verhinderung von Datenverlusten (DLP)

Diese Cmdlets steuern die DLP-Richtlinien auf Ihrem Mandant.

Erstellen einer DLP-Richtlinie

New-DlpPolicy

Erstellt eine neue DLP-Richtlinie für den Mandanten des angemeldeten Admins.

Rufen Sie eine Liste von DLP-Objekten ab

Get-DlpPolicy

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

Anmerkung

  • Beim Anzeigen einer DLP-Richtlinie mit PowerShell stammt der Anzeigename der Konnektoren von dem Zeitpunkt, als die DLP-Richtlinie erstellt wurde oder als die Konnektoren zuletzt innerhalb der Richtlinie verschoben wurden. Neue Änderungen an den Anzeigenamen von Konnektoren werden nicht übernommen.
  • Beim Anzeigen einer DLP-Richtlinie mit PowerShell werden neue Konnektoren in der Standardgruppe, die nicht verschoben wurden, nicht zurückgegeben.

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 wird jeder der Konnektoren mit seinem korrekten Namen angezeigt.

Aktualisieren einer DLP-Richtlinie

Set-DlpPolicy

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

Entfernen einer Richtlinie

Remove-DlpPolicy

Löscht eine DLP-Richtlinie.

Ausnahme-Cmdlets von DLP-Ressourcen

Mit diesen Cmdlets können Sie eine bestimmte Ressource aus einer DLP-Richtlinie ausschließen bzw. die Ausschließung aufheben.

Vorhandene Liste der ausgeschlossenen Ressourcen für eine DLP-Richtlinie abrufen

Get-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

Neue Liste ausgeschlossener Ressourcen für eine DLP-Richtlinie erstellen

New-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -NewDlpPolicyExemptResources 

Die Liste ausgeschlossener Ressourcen für eine DLP-Richtlinie aktualisieren

Set-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -UpdatedExemptResources 

Die Liste ausgeschlossener Ressourcen für eine DLP-Richtlinie entfernen

Remove-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

Um eine Ressource aus einer DLP-Richtlinie auszuschließen, benötigen Sie folgende Informationen:

  • Mandanten-ID (GUID)
  • DLP-Richtlinien-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 b1c07da8-2ae2-47e7-91b8-d3418892f507 -PolicyName 65da474a-70aa-4a59-9ae1-65a2bebbf98a -NewDlpPolicyExemptResources $exemptResources 
15. 
16. exemptResources 
17. --------------- 
18. {@{id=/providers/Microsoft.ProcessSimple/environments/Default-b1c07da8-2ae2-47e7-91b8-d3418892f507/flows/f239652e-dd38-4826-a1de-90a2aea584d9; type=Microsoft.ProcessSimple/environments/flows}, @{id=/providers/Microsoft.PowerApps/apps/06002625-7154-4417-996e-21d7a60ad.. 

DLP-Ausnahme in folgenden Szenarien

# Szenario Erfahrung
1 Der Benutzer startet eine App, die nicht DLP-konform, aber von DLP befreit ist. Der App-Start wird mit oder ohne DLP-Erzwingung fortgesetzt.
2 Der Entwickler speichert eine App, die nicht DLP-konform, aber von DLP befreit ist Mit oder ohne DLP-Ausnahme blockiert die DLP-Compliance den App-Speichervorgang nicht. Die DLP-Nichteinhaltungswarnung wird unabhängig von der DLP-Ausnahme angezeigt.
3 Der Entwickler speichert einen Flow, der nicht DLP-konform, aber von DLP befreit ist Mit oder ohne DLP-Befreiung blockiert die DLP-Compliance den Flow-Speichervorgang nicht. Die DLP-Nichteinhaltungswarnung 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 der Inhalt der Governance-Fehlermeldung festgelegt ist, wird er in den Nachrichten zur Durchsetzung der Laufzeit von Power Apps Daten zur Schadenverhütung 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 mit Power Apps erstellte App, die nicht DLP-konform ist Allgemein verfügbar
2 Der Entwickler teilt eine Power Apps-Canvas-App, hat aber kein Freigaberecht Allgemein verfügbar
3 Der Entwickler teilt eine Power Apps-Canvas-App mithilfe der Option Alle, ist dazu aber nicht berechtigt Allgemein verfügbar
4 Die erstellende Person speichert eine mit Power Apps erstellte App, die nicht DLP-konform ist Allgemein verfügbar
5 Der Entwickler speichert einen Power Automate Flow, der nicht DLP-kompatibel 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" 
  } 
} 

DLP-Richtlinie für Verbindungsverletzungen durchsetzen – Umgebung

Mit diesen Cmdlets können Sie DLP-Richtlinien für Verbindungsverletzungen auf Umgebungs- oder Mandantenebene durchsetzen.

DLP-Richtlinien für Verbindungsverletzungen durchsetzen

Sie könne DLP-Richtlinien für Verbindungen in einer Umgebung durchsetzen. Dadurch werden bestehende Verbindungen deaktiviert, die gegen DLP-Richtlinien verstoßen, und alle zuvor deaktivierten Verbindungen aktiviert, die nicht mehr gegen DLP-Richtlinien verstoßen.

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

DLP-Richtlinien für Verbindungsverletzungen durchsetzen – Mandant

Sie können DLP-Richtlinien für Verbindungen im Mandanten erzwingen. Dadurch werden bestehende Verbindungen deaktiviert, die gegen DLP-Richtlinien verstoßen, und alle zuvor deaktivierten Verbindungen aktiviert, die nicht mehr gegen DLP-Richtlinien 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 selbst über Power Apps/Power Automate Portale/Power Automate für Desktop. „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-Administratorportal zuweisen.

Standardmäßig sind alle Arten von Zustimmungsplänen in einem Mandanten zulässig. Möglicherweise möchte ein Power Platform-Administrator jedoch Benutzer daran hindern, sich selbst Testlizenzen zuzuweisen, aber die Möglichkeit behalten, Testlizenzen im Namen von Benutzern zuzuweisen. Diese Regel kann mit dem Befehl Remove-AllowedConsentPlans -Types "Internal" sowie durch das Deaktivieren der Einstellung AllowAdHocSubscriptions in Microsoft Entra ID erreicht werden.

Wichtig

Wenn Sie Remove-AllowedConsentPlans verwenden, werden alle vorhandenen Pläne des angegebenen Typs von allen Benutzern im Mandanten entfernt und können nicht wiederhergestellt werden. Dieser Befehl blockiert alle zukünftigen Zuweisungen dieser Art. Wenn der Power Platform-Administrator Pläne dieses Typs wieder aktivieren möchte, kann er hierfür Add-AllowedConsentPlans verwenden. Wenn er den aktuellen Status der genehmigten Zustimmungspläne anzeigen möchten, kann er Get-AllowedConsentPlans verwenden.

Wenn Sie Fragen haben

Wenn Sie Kommentare, Empfehlungen oder Fragen haben, posten sie diese unter Verwaltung Power Apps Community-Board.

Siehe auch

Erste Schritte mit dem Power Apps-Verwaltungsmodul
Microsoft.PowerApps.Administration.PowerShell
Vorschau: Übersicht über die Programmierbarkeit und Erweiterbarkeit