Canvas 앱 및 흐름의 소유자 변경
시작하기 전에
먼저 필요한 Power Shell 모듈을 설치해야 합니다. 따라서 관리자 모드에서 Windows PowerShell ISE를 엽니다.
Windows PowerShell ISE의 스크립팅 영역에 아래 명령을 복사하여 붙여넣어 필요한 Power Shell 모듈을 설치합니다.
Install-Module Microsoft.PowerApps.Administration.PowerShell -Force Install-Module Microsoft.PowerApps.PowerShell -Force -AllowClobber Install-Module -Name AzureAD -Force
스크립트 실행 버튼을 사용하거나 키보드에서 F5 키를 눌러 명령을 실행합니다.
캔버스 앱의 소유자 변경
일단 필요한 모듈을 설치했습니다. 이제 캔버스 앱의 소유자를 변경하는 과정을 살펴보겠습니다. 소유자를 변경하려면 앱 ID와 환경 ID가 필요합니다.
환경 ID 얻기
환경 ID를 얻으려면 make.powerapps.com에 로그인하고 환경 선택기 옵션에서 환경을 선택해야 합니다. 선택한 환경으로 페이지가 로드되면 URL을 관찰합니다. 다음과 같을 것입니다: https://make.powerapps.com/environments/ 12346be2-f047-1234-1234-abcd4d0c1234/home. 환경 뒤의 GUID는 환경 ID입니다. 나중에 필요하므로 이 ID를 복사하여 저장합니다.
캔버스 앱 ID 가져오기
위에서 검색한 환경 ID를 사용하여 Windows PowerShell ISE에서 새 스크립트를 만들고 복사하여 아래 명령을 붙여넣습니다.
Add-PowerAppsAccount Get-AdminPowerApp –EnvironmentName '12346be2-f047-1234-1234-abcd4d0c1234'
F5를 사용하여 명령을 실행합니다. 명령이 완전히 실행되면 이 환경에서 생성된 모든 캔버스 앱 목록이 표시됩니다(아래 참조). 앱을 찾아 목록에 AppName으로 표시되는 앱의 GUID를 복사합니다.
캔버스 앱 소유자 변경
이제 주인을 바꿀 차례입니다. 이것은 관리 작업이므로 전역 관리자 또는 Dynamics 365 관리자여야 합니다. 권한에 대한 자세한 내용은 official MS Docs 을 참조하십시오.
Windows PowerShell ISE의 새 스크립트에 아래 명령을 복사하여 붙여넣습니다. 이 명령은 자신을 앱의 소유자로 지정합니다.
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'
Power Automate 흐름의 소유자 변경
앱 소유자가 변경된 후 이제 흐름의 소유자를 변경하는 방법을 살펴보겠습니다. 해당 사용자에게 할당된 여러 흐름이 있을 수 있으므로 해당 특정 사용자에 속한 모든 흐름을 반복하고 자신에게 다시 할당할 수 있습니다. 아래 코드 스니펫을 사용하면 그렇게 할 수 있습니다.
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를 사용할 수 있습니다.도움이 되었기를 바랍니다.
내 Power Platform Dev Newsletter를 구독하는 것을 잊지 마세요
Reference
이 문제에 관하여(Canvas 앱 및 흐름의 소유자 변경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/powermaverick/changing-the-owner-of-canvas-apps-flows-hjg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)