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

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

まとめ

この記事は、フロー所有者が組織を離れた後に、Power Automateで孤立したフローを管理するのに役立ちます。 孤立したフローは、有効な所有者がなくなったフローです。 これらのフローは、そのユーザー アカウントに関連付けられている接続を使用すると失敗する可能性があります。 この記事では、管理者が孤立したフローを識別し、Power Platform 管理センターで新しい共同所有者を割り当て、PowerShell を使用して 1 つのフローまたは複数のフローの所有権を更新する方法について説明します。 これらの手順は、ビジネス継続性を維持し、接続が失われたり無効な場合に発生する障害を減らすのに役立ちます。

Power Platform 管理センターで孤立したフローを確認する

注釈

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

Power Platform 管理センターの [環境] ページで、環境を選択し、[リソース] タブに移動し、[フロー] を選択します。 所有者 列に 所有者が表示されていないフローを探します。

多数のフローがある場合は、[ さらに読み込む ] を選択して、次のフロー セットを読み込みます。 これにより、孤立している可能性のあるすべてのフローを確認できます。

管理センターで孤立したフローに新しい共同所有者を割り当てる

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

注釈

組織内に多数のフローがある場合は、PowerShell コマンドレットを使用して孤立したフローを管理することもできます。

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

管理者は、Power Appsの管理者用コマンドレットを実行することで、フローを管理することもできます。 以前にインストールしていない場合は、必ず PowerShell モジュールを インストール してください。

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

  1. 環境名とフロー名 (GUID) を使用して Get-AdminFlowOwnerRole コマンドレットを実行して、ユーザーとそのロールの一覧を取得します。 この一覧には、フローに設定されている現在のアクセス許可が表示されます。

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

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

    注釈

    ユーザーのMicrosoft Entra プリンシパル オブジェクト ID を取得するには、Get-AzureADUser コマンドレット (AzureAD モジュールから) を実行します。 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 日以降に使用障害が発生する可能性があります。

  3. Get-AdminFlowOwnerRole コマンドレットをもう一度実行して、新しい所有者が一覧に含まれているかどうかを確認します。

これらのコマンドレットの詳細については、「 Set-AdminFlowOwnerRole 」および 「Get-AdminFlowOwnerRole」を参照してください。

特定のユーザーによって作成されたすべてのフローのアクセス許可を修正する

  1. 特定のユーザーによって作成されたフローの一覧を取得するには、次のコマンドレットを実行します。

    Get-AdminFlow -EnvironmentName <env name> -CreatedBy <user-object-id>
    
  2. 次に、前のセクションの手順を適用して、一覧のすべてのフローに共同所有者を割り当てます。

PowerShell を使用して環境内のすべての孤立したフローを一覧表示する

有効なユーザーがいないすべてのフローを取得するには、環境内のすべてのフローをループ処理し、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 コマンドレットをスクリプトに挿入して、有効な所有者を持たないフローごとに共同所有者を割り当てることもできます。