次の方法で共有


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

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

適用対象: Power Automate
元の KB 番号: 4556130

孤立したフローとは

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

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

孤立したフローがあるかどうかを確認する方法

Note

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

Power Platform Admin Center の environment ページでResources タブに移動し、Flow の一覧を開きます。 孤立したフローには、 Owners 列に所有者が表示されません。

[さらに読み込む] を選択して、孤立したすべてのフローを確認できるように、次のフロー セットを読み込みます。

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

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

Note

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

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

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

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

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

フローに共同所有者を割り当てるには、新しい所有者の Microsoft Entra プリンシパル オブジェクト ID を使用して Set-AdminFlowOwnerRole コマンドレットを実行します。

Set-AdminFlowOwnerRole -EnvironmentName <env name> -FlowName <flow name> -PrincipalType User -RoleName CanEdit -PrincipalObjectId <new owner object id>

Note

Get-AzureADUser コマンドレット (AzureAD モジュール) を実行することで、ユーザーの Microsoft Entra プリンシパル オブジェクト ID を取得できます。 Get-AzureADUser コマンドレットを実行する前に、Connect-AzureAD コマンドレットを呼び出す必要があります。

Note

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 コマンドレットを挿入して、有効な所有者を持たないフローごとに共同所有者を割り当てることもできます。