所有者がorganizationを離れたときに孤立フローを管理する方法
この記事では、所有者がorganizationを離れたときに孤立フローを管理する方法について説明します。
適用先:Power Automate
元の KB 番号: 4556130
孤立したフローとは
有効な所有者が存在しなくなった場合、フローは孤立したフローに変わります。 フローの作成者または所有者がorganizationを離れ、共同所有者がいない場合によく発生します。 フローで認証が必要な接続が使用されている場合は、ユーザー ID が無効になるため、失敗が開始される可能性があります。
管理者は、1 つ以上の共同所有者を追加することで、フローによって自動化されたビジネス プロセスの継続性を維持できます。 共同所有者は基本的に元の所有者と同じようにフローを完全に制御でき、接続がある場合は認証を修正し、フローが無効になっている場合は有効にすることができます。
孤立したフローがある場合にチェックする方法
注:
有効な所有者を持たないフローを表示できるのは特権ユーザーだけです。
Power Platform 管理 Center の [環境] ページで、[リソース] タブに移動し、[フロー] リストを開きます。 孤立したフローには、[所有者 ] 列に 所有者が表示されません。
孤立している可能性があるすべてのフローを確認できるように、次のフローセットを読み込むには、[詳細を読 み 込む] を選択します。
孤立したフローに新しい共同所有者を割り当てる
- フローの一覧から孤立したフローを選択して、フローの詳細ページを開きます。
- [所有者] リストの下部にある [ 共有の管理 ] を選択します。
- 新しい所有者名を入力し、新しい所有者アカウントを選択します。
- [保存] を選択し、変更内容を保存します。
注:
organizationに大量のフローがある場合、孤立したフローを見つけるのが難しい場合があります。 その場合は、PowerShell コマンドレットを使用して孤立したフローを管理することもできます。
管理者向けの Power Automate コマンドレットを使用して孤立したフローを管理する
管理として、管理者向けの Power Apps コマンドレットを実行してフローを管理することもできます。 手順に従ってインストールを完了していることを確認します (まだインストールを完了していない場合)。
1 つのフローのアクセス許可を修正する
環境名とフロー名 (GUID) が必要です。
環境名とフロー名を Get-AdminFlowOwnerRole
持つコマンドレットを実行して、ユーザーとそのロールの一覧を取得します。 これにより、フローに対して設定されている現在のアクセス許可を確認できます。
フローに共同所有者を割り当てるには、新しい所有者のSet-AdminFlowOwnerRole
Microsoft Entra プリンシパル オブジェクト ID を使用してコマンドレットを実行します。
Set-AdminFlowOwnerRole -EnvironmentName <env name> -FlowName <flow name> -PrincipalType User -RoleName CanEdit -PrincipalObjectId <new owner object id>
注:
Get-AzureADUser コマンドレット (AzureAD モジュール) を実行することで、ユーザーのMicrosoft Entra プリンシパル オブジェクト ID を取得できます。 コマンドレットを実行する前に、 コマンドレットを Connect-AzureAD
呼び出す Get-AzureADUser
必要があります。
注:
Azure AD および MSOnline PowerShell モジュールは、2024 年 3 月 30 日の時点で非推奨となりました。 詳細については、 非推奨の更新プログラムに関するページを参照してください。 この日付以降、これらのモジュールのサポートは、Microsoft Graph PowerShell SDK への移行支援とセキュリティ修正に限定されます。 非推奨のモジュールは、2025 年 3 月 30 日まで引き続き機能します。
Microsoft Entra ID (旧称 Azure AD) と対話するには、Microsoft Graph PowerShell に移行することをお勧めします。 移行に関する一般的な質問については、移行に関する FAQ を参照してください。 メモ: バージョン 1.0.x の MSOnline では、2024 年 6 月 30 日以降に中断が発生する可能性があります。
コマンドレットをもう Get-AdminFlowOwnerRole
一度実行して、新しい所有者が一覧に含まれているかどうかを確認します。
特定のユーザーによって作成されたフローのアクセス許可を修正する
次のコマンドレットを実行して、特定のユーザーによって作成されたフローの一覧を取得し、上記のセクションを適用して、一覧のすべてのフローを修正します。
Get-AdminFlow -EnvironmentName <env name> -CreatedBy <user-object-id>
環境内のすべての孤立したフローを一覧表示する
有効なユーザーを持たないすべてのフローを取得するには、1 つの環境のすべてのフローをループし、Microsoft Entra IDに存在する所有者または共同所有者が少なくとも 1 つ存在することを確認します。 次のスクリプトでは、例を示します。
Connect-AzureAD
$env = "<your environment name>"
$flows = Get-AdminFlow -EnvironmentName $env
foreach ($flow in $flows)
{
$hasValidOwner = $false
$permissions = Get-AdminFlowOwnerRole -EnvironmentName $env -FlowName $flow.FlowName
foreach ($permission in $permissions)
{
$roleType = $permission.RoleType
if ($roleType.ToString() -eq "Owner" -or $roleType.ToString() -eq "CanEdit")
{
$userId = $permission.PrincipalObjectId
$users = Get-AzureADUser -Filter "ObjectId eq '$userId'"
if ($users.Length -gt 0)
{
$hasValidOwner = $true
break
}
}
}
if ($hasValidOwner -eq $false)
{
$flow
}
}
コマンドレットを Set-AdminFlowOwnerRole
挿入して、有効な所有者を持たないフローごとに共同所有者を割り当てることもできます。