Power Apps と Power Automate の PowerShell サポート

Power Platform 作成者と管理者向けの PowerShell コマンドレットを使用すると、現在手動でしか実行できない監視および管理タスクの多くを自動化できます。 手動 でのみ今日 Power AppsPower Automate、または Power Platform 管理センター で実行可能なタスク

コマンドレット

コマンドレット は、PowerShellでコマンドを実行する PowerShell スクリプト言語で記述された関数です。 これらの Power Apps cmdlets により、Web ブラウザーの管理ポータルに移動する必要がなく、ビジネス アプリケーション プラットフォームと対話ができます。

コマンドレットを他の PowerShell の機能と結合して、ワークフローを最適化できる複雑なスクリプトを記述できます。 テナントの管理者でない場合も、コマンドレットを使用できますが、所有しているリソースに限定されます。 管理ユーザー アカウントは、Admin で始まるコマンドレットを使用します。

コマンドレットは、2 つの異なるモジュールとして、PowerShell Gallery で使用可能です。

Power Apps 管理モジュールの詳細については、「 管理モジュールの使用を開始する Power Apps 」 および Microsoft.PowerApps.Administration.PowerShell」を参照してください。

PowerShell を開始する

PowerShell を初めて使用する場合、PowerShell の検索と起動についてサポートが必要な場合は、PowerShell の使用開始 に進んでください。 PowerShell または cmdlets の使用に関するヘルプが必要な場合は、PowerShell ヘルプ システム にアクセスしてください。

前提条件

この記事の PowerShell には、Windows PowerShell バージョン 5.x が必要です。 マシンで実行されている PowerShell のバージョンを確認するには、次のコマンドを実行します。

$PSVersionTable.PSVersion

古いバージョンがある場合は、既存の Windows PowerShell の アップグレード を参照してください。

重要

このドキュメントで説明されているモジュールは .NET Framework を使用していますが、PowerShell 6.0 以降とは互換性がありません。 これらの新しいバージョンでは .NET Core が使用されます。

モジュールのインストールとログイン

アプリ作成者用の PowerShell コマンドレットを実行するには:

  1. 管理者として PowerShell を実行します。

    PowerShell を管理者として実行する方法を示すスクリーンショット。

  2. 必要なモジュールをインポートします。

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

    または、コンピューターの管理者権限がない場合は、-Scope CurrentUser パラメーターを使用してインストールします。

    Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -Scope CurrentUser
    Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber -Scope CurrentUser
    
  3. レポジトリの InstallationPolicy 値の変更を承認するように求められたら、A と入力してモジュールごとに Enter を押し、すべてのモジュールに対して [A] Yes を承認します。

    PowerShell で InstallationPolicy 値を受け入れる場所を示すスクリーンショット。

  4. オプションで、コマンドにアクセスする前に資格情報を提供することもできます。 資格情報は、再びサインインを求められるまで最長で約 8 時間更新されます。 コマンドを実行する前に資格情報が提供されない場合は、資格情報を求めるプロンプトが表示されます。

    # 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. オプションで、特定の エンドポイント をターゲットにすることもできます。 デフォルトの エンドポイント は prod です。 ユーザーが、GCCなどの非運用リージョンで 環境 をターゲットとするPowerShellスクリプトを実行する場合、 -Endpoint パラメータを usgov GCC Moderate用、 usgovhigh GCC DOD用、または GCC HighGCC DOD用に変更できます。 dod サポートされているエンドポイントの完全なリストは次のとおりです: "prod、プレビュー、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" 
    

モジュールのアップデート

Get-Module を使用して、すべての PowerShell モジュールのバージョンを確認できます。

Get-Module

また、Update-Module を使用して、すべての PowerShell モジュールを最新に更新できます。

Update-Module

または、Get-Module-Name パラメータを使用して Power Platform モジュールのバージョンを確認します。

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

Update-Module-Name パラメータを使用して、Power Platform PowerShell モジュールを更新します

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

アプリ作成者用の Power Apps コマンドレット

前提条件

有効な Power Apps ライセンスを持つユーザーは、これらのコマンドレットの操作を実行できます。 ただし、アクセスできるのは、アプリやフローなど、作成または共有されたリソースのみです。

コマンドレット リスト - 作成者のコマンドレット

注意

競合を回避するのに適切な接頭辞を追加するために、最新リリースで一部のコマンドレットの関数名を更新しました。 変更内容の概要については、次のテーブルを参照してください。

パーパス コマンドレット
Microsoft Dataverse ソリューションへのキャンバス アプリの追加 Set-PowerAppAsSolutionAware
環境の読み取りと更新 Get-AdminPowerAppEnvironment(以前のGet-PowerAppsEnvironment)
Get-FlowEnvironment
Restore-PowerAppEnvironment(以前のRestore-AppVersion)
キャンバス アプリの読み取り、更新、および削除 Get-AdminPowerApp(以前のGet-App)
Remove-AdminPowerApp(以前のRemove-App)
Publish-AdminPowerApp (以前の Publish-App)
キャンバス アプリのアクセス許可の読み取り、更新、および削除 Get-AdminPowerAppRoleAssignment(以前のGet-AppRoleAssignment)
Remove-AdminPowerAppRoleAssignment(以前のRemove-AppRoleAssignment)
フローの読み取り、更新、および削除 Get-AdminFlow
管理フローを有効にする
AdminFlowを無効にする
削除-AdminFlow
フローのアクセス許可の読み取り、更新、および削除 取得-AdminFlowOwnerRole
AdminFlowOwnerRoleの設定
AdminFlowOwnerRoleの削除
フロー承認の読み取りおよび応答 取得-AdminFlowApprovalRequest
削除-AdminFlowApprovals
接続の読み取りおよび削除 Get-AdminPowerAppConnection(以前のGet-Connection)
Remove-AdminPowerAppConnection(以前のRemove-Connection)
接続のアクセス許可の読み取り、更新、および削除 Get-AdminPowerAppConnectionRoleAssignment (以前のGet-ConnectionRoleAssignment)
Set-AdminPowerAppConnectionRoleAssignment(以前のSet-ConnectionRoleAssignment)
Remove-AdminPowerAppConnectionRoleAssignment (以前のRemove-ConnectionRoleAssignment)
コネクタの読み取りおよび削除 Get-AdminPowerAppConnector(以前のGet-Connector)
Remove-AdminPowerAppConnector(以前のRemove-Connector)
カスタム コネクタのアクセス許可の追加、読み取り、更新、削除 Get-AdminPowerAppConnectorRoleAssignment(以前のGet-ConnectorRoleAssignment)
Get-PowerAppConnectorRoleAssignment (以前のSet-ConnectorRoleAssignment)
Remove-PowerAppConnectorRoleAssignment(以前のRemove-ConnectorRoleAssignment)
読み取り、追加および削除のポリシー URL パターン Get-PowerAppPolicyUrlPatterns
新しいPowerAppPolicyUrlPatterns
削除-PowerAppPolicyUrlPatterns
読み取り、登録および削除の管理アプリ Get-PowerAppManagementApp
PowerAppManagementAppsを取得します
新しいPowerAppManagementApp
PowerAppManagementAppを削除します
保護キーの読み取り、作成、更新、およびインポート Get-PowerAppRetrieveAvailableTenantProtectionKeys
Get-PowerAppGenerateProtectionKey
Get-PowerAppRetrieveTenantProtectionKey
新しいPowerAppImportProtectionKey
PowerAppTenantProtectionKeyの設定

管理者向けの Power Apps コマンドレット

管理者向けの Power Apps と Power Automate コマンドレットの詳細については、Power Platform 管理者向けの PowerShell の使用を開始する を参照してください。

ヒント

  • Get-Help の後に CmdletName を使用して、例のリストを取得します。

    Get-Help コマンドの使用法を示すスクリーンショット。

  • ダッシュ - を入力した後、Tab を押して入力タグを順番に切り替えることができます。 このフラグをコマンドレット名の後に配置します。

コマンドの例:

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

操作の例

次は、新規および既存の Power Apps コマンドレットの使用方法を示す一般的なシナリオを示します。

環境コマンド

これらのコマンドを使用して詳細情報を取得し、テナントの環境を更新します。

すべての環境の一覧の表示

Get-AdminPowerAppEnvironment

テナント間の各環境の一覧とそれぞれの詳細が返されます (たとえば、環境名 (guid)、表示名、場所、作成者など)。

既定の環境の詳細の表示

Get-AdminPowerAppEnvironment –Default

テナントの既定の環境の詳細のみが返されます。

特定の環境の詳細の表示

Get-AdminPowerAppEnvironment –EnvironmentName 'EnvironmentName'

注意

EnvironmentName フィールドは、DisplayName とは異なる一意識別子です (次の画像内の出力の 1 つ目および 2 つ目のフィールドを参照してください)。

Get-AdminEnvironment コマンド。

Power Apps のコマンド

これらの操作は、テナントの Power Apps データの読み取りおよび変更のために使用されます。

すべての Power Apps の一覧を表示します。

Get-AdminPowerApp

テナント間のすべての Power Apps の一覧とそれぞれの詳細が返されます (たとえば、アプリケーション名 (guid)、表示名、作成者など)。

入力された表示名と一致するすべての Power Apps の一覧の表示

Get-AdminPowerApp 'DisplayName'

このコマンドでは、表示名と一致するテナント内のすべての Power Apps を一覧表示します。

注意

スペースを含む入力値の周囲には、引用符を使用します たとえば、"My App Name" を使用します。

おすすめのアプリケーション

Set-AdminPowerAppAsFeatured –AppName 'AppName'

おすすめのアプリケーションはグループ化され、Power Apps モバイル プレーヤーのリストの一番上にプッシュされます。

注意

環境のように、AppName フィールドは、DisplayName とは異なる一意識別子です。 表示名に基づいて操作を実行する場合、一部の関数でパイプラインを使用できます (次の関数を参照してください)。

パイプラインを使用して、ヒーロー アプリ アプリケーションを作成する

Get-AdminPowerApp 'DisplayName' | Set-AdminPowerAppAsHero

ヒーロー アプリは、Power Apps モバイル プレーヤーのリストの一番上に表示されます。 ヒーロー アプリは 1 つのみ存在できます。

2 つのコマンドレットの間のパイプ| 文字は、関数がパイプに合わせて記述されていると仮定して、最初のコマンドレットの出力を受け取り、それを 2 番目のコマンドレットの入力値として渡します。

注意

アプリはヒーローに変更される前に、おすすめアプリである必要があります。

各ユーザーが所有するアプリの数の表示

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

Power Apps コマンドレットを使用してネイティブ PowerShell 関数を結合することにより、さらにデータを操作できます。 ここでは、Select 関数を使用して Get-AdminApp オブジェクトから所有者属性 (オブジェクト) を取り出します。 パイプラインにより出力を別の Select 関数に渡すことにより、所有者オブジェクトの名前を取り出します。 最後に、2 番目の Select 関数の出力を Group 関数に渡すと、各所有者のアプリ数のカウントを含むテーブルが返されます。

Get-AdminPowerApp コマンド。

各環境のアプリの数の表示

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

Get-AdminPowerApp 環境。

Power Apps ユーザーの詳細のダウンロード

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

上記のコマンドは、指定されたテキスト ファイル内の Power Apps ユーザーの詳細 (ユーザー プリンシパル名を介して入力されたユーザーに関する基本的な使用状況) を保存します。 その名前のファイルが存在ない場合は作成し、ファイルが存在する場合はそのテキスト ファイルを上書きします。

割り当てられたユーザー ライセンスのリストをエクスポートする

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

テナントに割り当てられたすべてのユーザー ライセンス (Power Apps および Power Automate) を表形式のビュー .csv ファイルにエクスポートします。 エクスポートされたファイルには、セルフサービス サインアップの内部試用プランと、Microsoft Entra ID から生成されたプランが含まれます。 内部試用プランは、Microsoft 365 管理センターの管理者には表示されません。

多数の Microsoft Power Platform ユーザーがある場合、エクスポートにはしばらく時間がかかることがあります。

Note

Get-AdminPowerAppLicenses コマンドレットの出力には、Power Platform サービス (例: Power Apps、Power Automate、Power Platform 管理センター) にアクセスしたユーザーのライセンスのみが含まれます。 Microsoft Entra ID にライセンスが (通常、Microsoft 365 管理センター経由で) 割り当てられていても 、Power Platform サービスにアクセスしたことがないユーザーは、生成された .csv 出力にライセンスが含まれません。 さらに、Power Platform のライセンス サービスではライセンスがキャッシュされるため、Microsoft Entra ID のライセンス割り当てを更新しても、最近サービスにアクセスしていないユーザーの場合、出力に反映されるまでに最大で 7 日かかる場合があります。

キャンバス アプリのオーナーとしてログイン ユーザーを設定する

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

Power Appの所有者ロールを現在のユーザーに変更し、元の所有者を「表示可能」ロール タイプとして置き換えます。

注意

AppName および EnvironmentName フィールドは表示名ではなく、一意識別子 (guids) です。

環境で削除されたキャンバス アプリのリストを表示する

Get-AdminDeletedPowerAppsList -EnvironmentName 'EnvironmentName'

このコマンドにより、最近削除されたすべてのキャンバス アプリが表示され、回復される可能性があります。

削除されたキャンバス アプリを回復する

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

このコマンドは、Get-AdminDeletedPowerAppsList コマンドレットを通じて検出可能なキャンバス アプリを回復します。 Get-AdminDeletedPowerAppsList に表示されないキャンバス アプリは回復できません。

SharePoint カスタム フォーム環境の指定

次のコマンドレットを使用して、デフォルト環境ではなく、SharePoint カスタム フォームを保存する環境を指定および検証するために使用できます。 SharePoint カスタム フォームの指定環境が変更された場合、これが、新しく作成されたカスタム フォームが保存される環境です。 これらのコマンドレットが使用されているため、既存のカスタム フォームが異なる環境に自動的に移行されることはありません。 ユーザーが指定された環境でカスタム フォームを作成できるようにするには、ユーザーが環境メーカーの役割を持っている必要があります。 ユーザーには、Power Platform 管理センター で環境メーカーの役割を付与できます。

既定の環境ではない環境は削除できません。 指定された SharePoint カスタム フォーム環境が削除された場合、カスタム フォームも一緒に削除されます。

Get-AdminPowerAppSharepointFormEnvironment  

このコマンドにより、新しく作成された SharePoint カスタムフォームに現在指定されている環境の EnvironmentName が返されます。 環境が指定されたことがない場合は、既定の環境が返されます。

Set-AdminPowerAppSharepointFormEnvironment –EnvironmentName 'EnvironmentName' 

このコマンドは、規定環境ではなく、保存する新しく作成された SharePoint カスタム フォームの環境を指定します。 既存のカスタム フォームは、新しく指定された環境に自動的に移行されません。 運用環境のみを SharePoint カスタム フォームに対して指定できます。

Reset-AdminPowerAppSharepointFormEnvironment  

これは、SharePoint カスタム フォームを保存するための指定された環境として規定の環境をリセットします。

すべてのユーザーとアプリを共有する機能のテナント設定を表示する

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

この設定は、環境作成者ロールを持つユーザーがキャンバス アプリを組織に所属するすべてのユーザーと共有できるかどうかを制御します。 設定が true に設定されている場合、管理者ロールを持つユーザーのみ (Dynamics 365 管理者、Power Platform サービス管理者、Microsoft Entra テナント管理者) は、組織内の全員とアプリを共有できます。

このテナント設定に関係なく、共有権限を持つ値の作成者は、任意のサイズのセキュリティ グループとアプリを共有できることに注意してください。 このコントロールは、共有時にすべてのユーザーの省略表記を使用できるかどうかを決定するだけです。

すべてのユーザーとアプリを共有する機能のテナント設定を変更する

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

組織のガバナンス エラー メッセージの内容を明らかにする

エラー メッセージに表示するガバナンス エラー メッセージの内容を指定すると、作成者がすべてのユーザーとアプリを共有する権限がないことを確認したときに表示されるエラー メッセージに含まれます。 PowerShell ガバナンス エラー メッセージの内容コマンド を参照してください。

イン コンテキスト フローをアプリに関連付ける

アプリのコンテキストにあるフローをアプリに関連付け、アプリとフローの間の依存関係を作成します。 コンテキスト フローの詳細については、どのような Power Automate 機能が Power Apps ライセンスに含まれていますか? を参照してください。

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

EnvironmentName と FlowName は、フロー URL に表示されます:

  • 非ソリューション フローの場合、URLは次のようになります:

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

    environments/ の後の GUID は、EnvironmentName、flows/ の後の GUID は FlowName です。

  • ソリューション フローの場合、URL は次のようになります:

    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
    

    environments/ の後の GUID は、EnvironmentName、flows/ の後の GUID は FlowName です。

  • キャンバス アプリの AppName は、キャンバス アプリの詳細ページで確認できます。

    キャンバス アプリの AppName は、キャンバス アプリの詳細ページで確認できることを示すスクリーンショット。

  • モデル駆動型アプリの AppName は、ソリューション エクスプローラーで確認できます。

    モデル駆動型アプリの AppName は、ソリューション エクスプローラーで確認できることを示すスクリーンショット。

  • 例を参照するには、次を入力します: get-help Add-AdminFlowPowerAppContext -examples

  • 詳細を取得するには、次を入力します:get-help Add-AdminFlowPowerAppContext -detailed

  • 技術的な情報を取得するには、次を入力します:get-help Add-AdminFlowPowerAppContext -full

アプリのコンテキスト フローで削除

この PowerShell コマンドを使用して、フローとアプリの間の依存関係を削除します。 Remove-AdminFlowPowerAppContext は、特定のフローからアプリのコンテキストを削除します。

    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 のコマンド

これらの重要なコマンドを使用して、Power Automate に関連する管理を実行します。

管理者向けの Power Automate および Power Apps コマンドレットの詳細については Power Platform 管理者向けの PowerShell の使用を開始する を参照してください。

すべてのフローの表示

Get-AdminFlow

テナント内のすべてのフローの一覧が返されます。

フロー所有者のロールの詳細の表示

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

指定されたフローの所有者の詳細が返されます。

注意

環境および PowerApps のように、FlowName は、フローの表示名とは異なる一意識別子 (guid) です。

フロー ユーザーの詳細の表示

Get-AdminFlowUserDetails –UserId $Global:currentSession.userId

フローの使用状況に関するユーザーの詳細が返されます。 この例では、PowerShell セッションの現在ログインしているユーザー ID を使用しています。

フロー ユーザーの詳細の削除

Remove-AdminFlowUserDetails –UserId 'UserId'

フローユーザーの詳細を完全に削除します Microsoft データベース。 入力されたユーザーが所有するフローすべては、ユーザーの詳細が消去される前に削除される必要があります。

注意

UserId フィールドは、Microsoft Entra ID>ユーザー>プロファイル>オブジェクト ID 下の Azure ポータル に表示されるユーザーの Microsoft Entra レコードのオブジェクト IDです。 ここからこのデータにアクセスするには管理者である必要があります。

すべてのフローを CSV ファイルにエクスポートする

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

テナントのすべてのフローを表形式表示の .CSV ファイルにエクスポートします。

Dataverse ソリューションへのクラウド フローの追加

Add-AdminFlowsToSolution -EnvironmentName <String>

環境内のすべての非ソリューション フローを移行します。

パラメーターのバリエーションを使用すると、特定のフローのみを移行したり、特定のソリューションに追加したり、一度に設定された数のフローのみを移行したりすることができます。

技術的詳細については、Add-AdminFlowsToSolution を参照してください。

API 接続コマンド

テナントの API 接続の表示および管理を行います。

既定の環境のすべてのネイティブ接続を表示する

Get-AdminPowerAppEnvironment -Default | Get-AdminPowerAppConnection

既定の環境にあるすべての API 接続の一覧を表示します。 ネイティブ接続は Power AppsDataverse>接続 タブにあります。

テナントのすべてのカスタム コネクタの表示

Get-AdminPowerAppConnector

テナント内のすべてのカスタム コネクタの詳細の一覧が返されます。

注意

Get-AdminPowerAppConnector ソリューション内のカスタム コネクタはリストされません。 これは既知の制限です。

データ損失防止 (DLP) ポリシー コマンド

このコマンドレットによってテナントの DLP ポリシーが制御されます。

DLP ポリシーの作成

New-DlpPolicy

サインインした管理者のテナントに対して新しい DLP ポリシーを作成します。

DLP オブジェクトのリストを取得する

Get-DlpPolicy

サインインした管理者のテナントに対してポリシー オブジェクトを取得します。

注意

  • PowerShell を使用して DLP ポリシーを表示する場合、コネクタの表示名 は、DLP ポリシーが作成されたとき、またはコネクタがポリシー内で最後に移動されたときのものです。 コネクタの表示名に対する新しい変更は反映されません。
  • PowerShell を使用して DLP ポリシーを表示する場合、移動されていない既定のグループ内の新しいコネクタは返されません。

これらの両方の既知の問題の回避策は、影響を受けるコネクタをポリシー内の別のグループに移動してから、正しいグループに戻すことです。 これを行うと、各コネクタが正しい名前で表示されます。

DLP ポリシーの更新

Set-DlpPolicy

ポリシー表示名などのポリシーの詳細を更新します。

ポリシーの削除

Remove-DlpPolicy

DLP ポリシーを削除します。

DLP リソース免除コマンドレット

これらのコマンドレットを使用すると、特定のリソースを DLP ポリシーから免除、または免除解除できます。

DLP ポリシーの既存の免除リソース リストを取得する

Get-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

DLP ポリシーの新しい免除リソース リストを作成する

New-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -NewDlpPolicyExemptResources 

DLP ポリシーの新しい免除リソース リストを更新する

Set-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -UpdatedExemptResources 

DLP ポリシーの新しい免除リソース リストを削除する

Remove-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

DLP ポリシーからリソースを免除するには、次の情報が必要です:

  • テナント ID (GUID)
  • DLP ポリシー ID (GUID)
  • リソース ID (GUID で終わるもの)
  • リソースの種類

リソース ID とタイプは、PowerShell コマンドレットのアプリで使用する Get-PowerApp とフローで使用する Get-Flow で取得できます。

消去スクリプトの例

ID が f239652e-dd38-4826-a1de-90a2aea584d9 のフローと ID が 06002625-7154-4417-996e-21d7a60ad624 のアプリを除外するには、以下のコマンドレットを実行します:

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 適用除外エクスペリエンス

# シナリオ 経歴
1 ユーザーは、DLP に準拠していないが、DLP が除外されているアプリを起動します。 アプリの起動は、DLP 適用の有無にかかわらず続行されます。
2 開発者は、DLP に準拠していないが、DLP が除外されているアプリを保存します DLP の適用除外の有無にかかわらず、DLP コンプライアンスはアプリの保存操作をブロックしません。 DLP の適用除外に関係なく、DLP 非準拠の警告が表示されます。
3 開発者は、DLP に準拠していないが、DLP が除外されているフローを保存します DLP の適用除外の有無にかかわらず、DLP コンプライアンスはフローの保存操作をブロックしません。 DLP 非準拠の警告は表示されません。

ガバナンス エラー メッセージの内容コマンド

次のコマンドレットを使用すると、エンド ユーザーを組織のガバナンス参考資料に誘導できます。 このコマンドには、ガバナンスに関するドキュメントへのリンクと、ガバナンス制御によって要求された場合のガバナンス連絡先が含まれています。 たとえば、ガバナンス エラー メッセージの内容が設定されている場合、Power Apps データ損失防止ポリシーの実行時適用メッセージに表示されます。

ガバナンス エラー メッセージの内容を設定する

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

ガバナンス エラー メッセージの URL と電子メールは、個別に表示することも、一緒に表示することもできます。 enabled フィールドで、ガバナンス エラー メッセージを有効または無効にできます。

ガバナンス エラー メッセージの内容シナリオ

# シナリオ 空き時間
1 DLP に対応していない Power Apps で作成されたアプリをユーザーが起動する 一般に入手可能
2 開発者は Power Apps キャンバス アプリを共有しますが、共有権限がありません 一般に入手可能
3 開発者は すべてのユーザー に Power Apps キャンバス アプリを共有しますが、すべてのユーザー に共有する権限がありません 一般に入手可能
4 DLP に対応していない Power Apps で作成したアプリを作成者が保存する 一般に入手可能
5 DLP に準拠していない Power Automate フローを開発者が保存します 一般に入手可能
6 ユーザーは、Dataverse 環境に関連付けられたセキュリティ グループへのセキュリティ グループ メンバーシップなしでアプリを起動します 一般に入手可能

ガバナンス エラー メッセージの内容を表示する

Get-PowerAppDlpErrorSettings -TenantId 'TenantId' 

ガバナンス エラー メッセージの内容を更新する

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

接続違反に対する DLP ポリシーの適用 - 環境

これらのコマンドレットを使用すると、環境またはテナント レベルで接続違反に対する DLP ポリシーを適用できます。

接続違反に対する DLP ポリシーの適用

環境内の接続に DLP ポリシーを適用できます。 強制すると DLP ポリシーに違反する既存の接続が無効になり、以前に無効化され、DLP ポリシーに違反しなくなった接続が有効になります。

Start-DLPEnforcementOnConnectionsInEnvironment -EnvironmentName [Environment ID]
環境強制スクリプトの例
Start-DLPEnforcementOnConnectionsInEnvironment -EnvironmentName c4a07cd6-cb14-e987-b5a2-a1dd61346963 

接続違反に対する DLP ポリシーの適用 - テナント

テナント内の接続に DLP ポリシーを強制できます。 強制すると DLP ポリシーに違反する既存の接続が無効になり、以前に無効化され、DLP ポリシーに違反しなくなった接続が有効になります。

Start-DLPEnforcementOnConnectionsInTenant

試用ライセンスのブロックコマンド

コマンド:

Remove-AllowedConsentPlans
Add-AllowedConsentPlans
Get-AllowedConsentPlans

許可された同意プランコマンドレットを使用して、テナントから特定の種類の同意プランへのアクセスを追加または削除できます。 「内部」同意プランは、ユーザーが Power Apps/Power Automate ポータル/デスクトップ用 Power Automate からサインアップできる試用版ライセンスまたは開発者プランのいずれかです。 "アドホック サブスクリプション" または "バイラル" 同意プランは、ユーザーが https://signup.microsoft.com からサインアップできる試用版ライセンスです。 管理者は Microsoft Entra ID または Microsoft 365 管理ポータルを使ってユーザーを割り当てることができます。

既定では、すべての種類の同意プランがテナントで許可されています。 ただし、Power Platform 管理者は、ユーザーが自分自身に試用ライセンスを割り当てることをブロックしながら、ユーザーに代わって試用ライセンスを割り当てる機能を保持したい場合があります。 このルールは、Remove-AllowedConsentPlans -Types "Internal" コマンドを使用して、Microsoft Entra ID の AllowAdHocSubscriptions の設定を無効にすることで実現できます。

重要

Remove-AllowedConsentPlans を使用している場合、指定したタイプの既存のすべての計画がテナント内のすべてのユーザーから削除されます。 このコマンドは、そのタイプの今後の割り当てをすべてブロックします。 Power Platform 管理者が使用できるタイプのプランを再び有効にしたい場合、Add-AllowedConsentPlans を使用することができます。 許可された同意プランの現在の状態を表示する場合は、Get-AllowedConsentPlans を使用できます。

質問がある場合

コメント、提案、質問がある場合、Power Apps コミュニティ ボードの管理 で投稿してください。

参照

使用を開始する Power Apps 管理モジュール。
Microsoft。PowerApps .管理.PowerShell
プレビュー: プログラミング性と拡張性の概要