所有者がorganizationを離れたときに孤立フローを管理する方法

この記事では、所有者がorganizationを離れたときに孤立フローを管理する方法について説明します。

適用先:Power Automate
元の KB 番号: 4556130

孤立したフローとは

有効な所有者が存在しなくなった場合、フローは孤立したフローに変わります。 フローの作成者または所有者がorganizationを離れ、共同所有者がいない場合によく発生します。 フローで認証が必要な接続が使用されている場合は、ユーザー ID が無効になるため、失敗が開始される可能性があります。

管理者は、1 つ以上の共同所有者を追加することで、フローによって自動化されたビジネス プロセスの継続性を維持できます。 共同所有者は基本的に元の所有者と同じようにフローを完全に制御でき、接続がある場合は認証を修正し、フローが無効になっている場合は有効にすることができます。

孤立したフローがある場合にチェックする方法

注:

有効な所有者を持たないフローを表示できるのは特権ユーザーだけです。

Power Platform 管理 Center の [環境] ページで、[リソース] タブに移動し、[フロー] リストを開きます。 孤立したフローには、[所有者 ] 列に 所有者が表示されません。

孤立している可能性があるすべてのフローを確認できるように、次のフローセットを読み込むには、[詳細を読 込む] を選択します。

孤立したフローに新しい共同所有者を割り当てる

  1. フローの一覧から孤立したフローを選択して、フローの詳細ページを開きます。
  2. [所有者] リストの下部にある [ 共有の管理 ] を選択します。
  3. 新しい所有者名を入力し、新しい所有者アカウントを選択します。
  4. [保存] を選択し、変更内容を保存します。

注:

organizationに大量のフローがある場合、孤立したフローを見つけるのが難しい場合があります。 その場合は、PowerShell コマンドレットを使用して孤立したフローを管理することもできます。

管理者向けの Power Automate コマンドレットを使用して孤立したフローを管理する

管理として、管理者向けの Power Apps コマンドレットを実行してフローを管理することもできます。 手順に従ってインストールを完了していることを確認します (まだインストールを完了していない場合)。

1 つのフローのアクセス許可を修正する

環境名とフロー名 (GUID) が必要です。 環境名とフロー名を Get-AdminFlowOwnerRole 持つコマンドレットを実行して、ユーザーとそのロールの一覧を取得します。 これにより、フローに対して設定されている現在のアクセス許可を確認できます。

フローに共同所有者を割り当てるには、新しい所有者のSet-AdminFlowOwnerRoleMicrosoft 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 挿入して、有効な所有者を持たないフローごとに共同所有者を割り当てることもできます。