キャンバスアプリ&フローの所有者を変更する


あなたの同僚は、キャンバスのアプリと電源自動化の流れの束を作成しましたしかし、その後、彼/彼女は、キャンバスのアプリケーションとフローを共有せずに組織を残した.たとえあなたがシステム管理者であるとしても、あなたはあなたが残したあなたの同僚によって所有されるキャンバスアプリと流れを編集するか、共有する権利がないとわかります.または、あなたがAzure Devopsでパワープラットホーム構築ツールを使用しているALMプロセスを使用していたならば、配備されたキャンバス・アプリケーションはあなたのdevos管理者によって現在所有されます.どのような場合-心配しないでください!パワーアプリは私たちのためのPowerShellスクリプトの束を提供しています.

始める前に


まず、必要なパワーシェルモジュールをインストールする必要があります.それで、管理モードであなたのWindows PowerShell Iseを開けてください.

コピーし、以下のコマンドをスクリプト領域のWindows PowerShell ISEにペーストして、必要なパワーシェルモジュールをインストールします.
Install-Module Microsoft.PowerApps.Administration.PowerShell -Force Install-Module Microsoft.PowerApps.PowerShell -Force -AllowClobber Install-Module -Name AzureAD -Force
実行中のスクリプトボタンを使用して、またはF 5キーを押してコマンドを実行します.

キャンバスアプリの所有者を変更


必要なモジュールをインストールしたら.私たちは今、キャンバスのアプリの所有者を変更するプロセスを見てみましょう.所有者を変更するには、アプリケーションIDと環境IDが必要になります.

環境IDの取得


環境変数を取得するには、make.powerapps.comにログインし、環境セレクタオプションから環境を選択します.一度選択した環境でページを読み込み、URLを観察します.閉じるこの動画はお気に入りから削除されています.環境の後のGUIDはあなたの環境IDです.

https://make.powerapps.com/environments/ キャンバスアプリ


環境IDを使用して、上で検索した後に、Windows PowerShell IEで新しいスクリプトを作成して、以下のコマンドをペーストします.
Add-PowerAppsAccount Get-AdminPowerApp –EnvironmentName '12346be2-f047-1234-1234-abcd4d0c1234'
F 5を使ってコマンドを実行します.コマンドを完全に実行した後、すべてのキャンバスアプリケーションのリストが表示されますこの環境(下記に示すように)で作成された.あなたのアプリを見つけて、リスト内のappnameとして示されているあなたのアプリケーションのguidをコピーします.

キャンバスアプリオーナー変更


今、所有者を変更する時間.これが管理操作であるので、あなたはグローバル管理者または力学365管理者である必要があります.パーミッションの詳細については、 を参照してください.
コピーして、Windows PowerShell IEの新しいスクリプトで以下のコマンドをペーストしてください.このコマンドは、アプリケーションの所有者として自分自身を割り当てます.
Add-PowerAppsAccount Set-AdminPowerAppOwner –AppName '4321fda5-abcd-4321-12bd-1234898a4321' -AppOwner $Global:currentSession.userId –EnvironmentName '12346be2-f047-1234-1234-abcd4d0c1234'
自分以外のユーザにそれを割り当てる場合は、AzureからユーザーのオブジェクトIDを使用する必要があります.次のコマンドを実行し、AzureからユーザーIDを取得し、アプリケーションの所有者として提供されたユーザーのメールアドレスを追加します.
Connect-AzureAD #Replace this with a correct email address $emailAddress = "[email protected]"; $userID = Get-AzureADUser -ObjectID $emailAddress | Select-Object ObjectId Set-AdminPowerAppOwner –AppName '4321fda5-abcd-4321-12bd-1234898a4321' -AppOwner $userID.objectId –EnvironmentName '12346be2-f047-1234-1234-abcd4d0c1234'

公式MSドキュメント パワー自動化フローの所有者を変更する


アプリの所有者の変更後時間は、現在フローの所有者を変える方法を見ます.そのユーザーに割り当てられた複数のフローが存在するので、特定のユーザーに属しているすべてのフローをループしたいと思います.コードスニペットの下で、あなたはそれをすることができます.
Add-PowerAppsAccount Connect-AzureAD #Replace this with a correct email address $previousUserEmailAddress = "[email protected]"; $previousUserID = Get-AzureADUser -ObjectID $emailAddress | Select-Object ObjectId Write-Host "Previous User Id: "$previousUserID.objectId #Replace this with your environment id $environmentName = '12346be2-f047-1234-1234-abcd4d0c1234' $flows = Get-AdminFlow –EnvironmentName $environmentName | Select-Object FlowName, DisplayName foreach($flow in $flows){ try{ $flowOwners = Get-AdminFlowOwnerRole –EnvironmentName $environmentName –FlowName $flow.FlowName | Select-Object PrincipalObjectId, RoleId foreach($flowOwner in $flowOwners){ Write-Host "Identifying: "$flow.DisplayName" | "$flow.FlowName if($flowOwner.PrincipalObjectId -eq $previousUserID.objectId){ Write-Host "Changing the owner" Set-AdminFlowOwnerRole -PrincipalType User -PrincipalObjectId $Global:currentSession.userId -RoleName CanEdit -FlowName $flow.FlowName -EnvironmentName $environmentName Remove-AdminFlowOwnerRole -RoleId $flowOwner.RoleId -FlowName $flow.FlowName -EnvironmentName $environmentName } Write-Host "---" } } catch [System.Exception]{ Write-Host $\_.Exception.Message } }
上の強調表示の行の値を変更してください.そして、我々は$Global:currentSession.userIdを使用する代わりに、キャンバスのアプリのためにしたように、Azureから任意のユーザーのオブジェクトIDを使用することができます.
これが助ける望み.
私の を予約するのを忘れないでください