Power Apps 및 Power Automate용 PowerShell 지원

Power Platform 작성자 및 관리자를 위한 PowerShell cmdlet을 사용하면 다양한 모니터링 및 관리 작업을 자동화할 수 있습니다. 현재 Power Apps, Power Automate 또는 Power Platform 활동 센터에서 수동으로만 가능한 작업입니다.

cmdlet

CmdletsPowerShell에서 명령을 실행하는 PowerShell 스크립트 언어로 작성된 함수입니다. 이러한 Power Apps cmdlet을 실행하면 웹 브라우저에서 관리 포털을 거치지 않고도 비즈니스 애플리케이션과 플랫폼과 상호 작용할 수 있습니다.

cmdlet을 다른 PowerShell 기능과 결합하여 워크플로를 최적화할 수 있는 복잡한 스크립트를 작성할 수 있습니다. 테넌트의 관리자가 아닌 경우에도 여전히 cmdlet을 사용할 수 있지만 자신이 담당하는 리소스로 제한됩니다. 관리 사용자 계정은 Admin으로 시작하는 cmdlet을 사용합니다.

cmdlet은 PowerShell 갤러리에서 두 개의 개별 모듈로 제공됩니다.

Power Apps 관리 모듈에 대한 정보는 Power Apps 관리 모듈Microsoft.PowerApps.Administration.PowerShell을 사용하여 시작을 참조하십시오.

노트

Dynamics 365 GCC(정부 커뮤니티 클라우드) 수준 2 지원 관련:

기본 끝점은 "prod"입니다. 사용자가 GCC 환경을 대상으로 하는 PowerShell 스크립트를 실행하려는 경우 -Endpoint 매개 변수를 GCC 보통의 경우 "usgov"로, GCC High의 경우 "usgovhigh", GCC DOD의 경우 "dod"로 변경해야 합니다.

Add-PowerAppsAccount -Endpoint "usgov" 

PowerShell 시작하기

PowerShell을 처음 사용하고 PowerShell을 찾고 실행하는 데 도움이 필요한 경우 PowerShell 시작하기로 이동하세요. PowerShell 또는 cmdlet 사용에 대한 도움이 필요한 경우 The PowerShell Help System으로 이동하십시오.

전제 조건

이 문서의 PowerShell에는 Windows PowerShell 버전 5.x가 필요합니다. 컴퓨터에서 실행 중인 PowerShell 버전을 확인하려면 다음 명령을 실행하십시오.

$PSVersionTable.PSVersion

오래된 버전이 있는 경우 기존 Windows PowerShell 업그레이드를 참고하십시오.

중요

이 문서에 설명된 모듈은 PowerShell 6.0 이상과 호환되지 않는 .NET Framework를 사용합니다. 이러한 최신 버전에서는 .NET Core를 사용합니다.

모듈 설치

앱 작성자용 PowerShell cmdlet을 실행하려면:

  1. 관리자로 PowerShell을 실행합니다.

    PowerShell을 관리자로 실행하는 방법을 보여주는 스크린샷.

  2. 필요한 모듈을 가져옵니다.

    Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
    Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber
    

    또는 컴퓨터에 대한 관리자 권한이 없는 경우 -Scope CurrentUser 매개 변수를 사용하여 설치하세요.

    Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -Scope CurrentUser
    Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber -Scope CurrentUser
    
  3. 리포지토리의 InstallationPolicy 값에 대한 변경 사항을 수락하라는 메시지가 표시되면 A를 입력하여 모든 모듈에 대해 [A] Yes를 수락한 다음 각 모듈에 대해 Enter를 누릅니다.

    PowerShell에서 InstallationPolicy 값을 수락할 위치를 보여주는 스크린샷.

  4. 명령에 액세스하기 전에 다음 명령을 사용하여 자격 증명을 제공할 수 있습니다. 자격 증명은 다시 로그인해야 하기 전까지 최대 8시간 동안 새로 고쳐집니다.

    # Opens a prompt to collect credentials (Microsoft Entra account and password).
    Add-PowerAppsAccount
    
    # Here is how you can pass in credentials (to avoid opening a prompt).
    $pass = ConvertTo-SecureString "password" -AsPlainText -Force
    Add-PowerAppsAccount -Username user@contoso.com -Password $pass
    

모듈 업데이트

Get-Module을 사용하여 모든 PowerShell 모듈의 버전을 확인할 수 있습니다.

Get-Module

또한 Update-Module을 사용하여 모든 PowerShell 모듈을 최신으로 업데이트할 수 있습니다.

Update-Module

또는 Get-Module-Name 매개 변수를 사용하여 Power Platform 모듈 버전을 확인하세요.

Get-Module -Name "Microsoft.PowerApps.Administration.PowerShell"
Get-Module -Name "Microsoft.PowerApps.PowerShell"

Update-Module-Name 매개 변수를 사용하여 Power Platform PowerShell 모듈을 업데이트합니다.

Update-Module -Name "Microsoft.PowerApps.Administration.PowerShell"
Update-Module -Name "Microsoft.PowerApps.PowerShell"

앱 작성자용 Power Apps cmdlet

전제 조건

유효한 Power Apps 라이선스가 있는 사용자는 이러한 cmdlet에서 작업을 수행할 수 있습니다. 그러나 생성되거나 공유되는 앱 및 흐름과 같은 리소스에만 액세스할 수 있습니다.

cmdlet 목록 - 제작자 cmdlet

참고

충돌을 방지하기 위해 적절한 접두사를 추가하기 위해 최신 릴리스에서 일부 cmdlet 함수 이름을 업데이트했습니다. 변경된 사항에 대한 개요는 다음 표를 참조하십시오.

목적 Cmdlet
Microsoft Dataverse 솔루션에 캔버스 앱 추가 Set-PowerAppAsSolutionAware
환경 읽기 및 업데이트 Get-AdminPowerAppEnvironment(이전의 Get-PowerAppsEnvironment)
Get-FlowEnvironment
Restore-PowerAppEnvironment(이전의 Restore-AppVersion)
캔버스 앱 읽기, 업데이트 및 삭제 Get-AdminPowerApp(이전의 Get-App)
Remove-AdminPowerApp(이전의 Remove-App)
Publish-AdminPowerApp(이전의 Publish-App)
캔버스 앱 권한 읽기, 업데이트 및 삭제 Get-AdminPowerAppRoleAssignment(이전의 Get-AppRoleAssignment)
Remove-AdminPowerAppRoleAssignment(이전의 Remove-AppRoleAssignment)
흐름 읽기, 업데이트 및 삭제 Get-AdminFlow
Enable-AdminFlow
Disable-AdminFlow
Remove-AdminFlow
흐름 권한 읽기, 업데이트 및 삭제 Get-AdminFlowOwnerRole
Set-AdminFlowOwnerRole
Remove-AdminFlowOwnerRole
흐름 승인을 읽고 응답 Get-AdminFlowApprovalRequest
Remove-AdminFlowApprovals
연결 읽기 및 삭제 Get-AdminPowerAppConnection(이전의 Get-Connection)
Remove-AdminPowerAppConnection(이전의 Remove-Connection)
연결 권한 읽기, 업데이트 및 삭제 Get-AdminPowerAppConnectionRoleAssignment(이전의 Get-ConnectionRoleAssignment)
Set-AdminPowerAppConnectionRoleAssignment(이전의 Set-ConnectionRoleAssignment)
Remove-AdminPowerAppConnectionRoleAssignment(이전의 Remove-ConnectionRoleAssignment)
커넥터 읽기 및 삭제 Get-AdminPowerAppConnector(이전의 Get-Connector)
Remove-AdminPowerAppConnector(이전의 Remove-Connector)
사용자 지정 커넥터 권한 추가, 업데이트 및 삭제 Get-AdminPowerAppConnectorRoleAssignment(이전의 Get-ConnectorRoleAssignment)
Get-PowerAppConnectorRoleAssignment(이전의 Set-ConnectorRoleAssignment)
Remove-PowerAppConnectorRoleAssignment(이전의 Remove-ConnectorRoleAssignment)
정책 URL 패턴 읽기, 추가 및 제거 Get-PowerAppPolicyUrlPatterns
New-PowerAppPolicyUrlPatterns
Remove-PowerAppPolicyUrlPatterns
관리 앱 읽기, 등록 및 제거 Get-PowerAppManagementApp
Get-PowerAppManagementApps
New-PowerAppManagementApp
Remove-PowerAppManagementApp
보호 키 읽기, 생성, 업데이트 및 가져 오기 Get-PowerAppRetrieveAvailableTenantProtectionKeys
Get-PowerAppGenerateProtectionKey
Get-PowerAppRetrieveTenantProtectionKey
New-PowerAppImportProtectionKey
Set-PowerAppTenantProtectionKey

관리자용 Power Apps cmdlet

관리자용 Power Apps 및 Power Automate cmdlet에 대한 자세한 내용은 Power Platform 관리자용 PowerShell 시작하기를 참조하세요.

  • Get-HelpCmdletName을 차례로 사용하여 예제 목록을 가져옵니다.

    Get-Help 명령의 사용법을 보여주는 스크린샷.

  • 대시 -를 입력한 후 Tab을 눌러 입력 태그를 순환할 수 있습니다. Cmdlet 이름 뒤에 이 플래그를 배치합니다.

예시 명령:

Get-Help Get-AdminPowerAppEnvironment
Get-Help Get-AdminPowerAppEnvironment -Examples
Get-Help Get-AdminPowerAppEnvironment -Detailed

작업 예

다음은 기존 및 신규 Power Apps cmdlet을 사용하는 방법을 보여주는 몇 가지 일반적인 시나리오입니다.

Environments 명령

테넌트의 환경에 대한 세부 정보를 얻고 업데이트하려면 이 명령을 사용하십시오.

모든 환경 목록 표시

Get-AdminPowerAppEnvironment

테넌트의 각 환경 목록을 각 세부 정보(예: 환경 이름(guid), 표시 이름, 위치, 제작자 등)와 함께 반환합니다.

기본 환경의 세부 사항 표시

Get-AdminPowerAppEnvironment –Default

테넌트의 기본 환경에 대한 세부 사항만 반환합니다.

특정 환경의 세부 정보 표시

Get-AdminPowerAppEnvironment –EnvironmentName 'EnvironmentName'

참고

EnvironmentName 필드는 고유 식별자이며 DisplayName과 다릅니다(다음 이미지의 출력에서 첫 번째 및 두 번째 필드 참조).

Get-AdminEnvironment 명령.

Power Apps 명령

이 작업은 테넌트의 Power Apps 데이터를 읽고 수정하는 데 사용됩니다.

모든 Power Apps 목록 표시

Get-AdminPowerApp

테넌트의 모든 Power Apps 목록을 각 세부 정보(예: 애플리케이션 이름(guid), 표시 이름, 제작자 등)와 함께 반환합니다.

입력 표시 이름과 일치하는 모든 Power Apps 표시

Get-AdminPowerApp 'DisplayName'

이 명령은 표시 이름과 일치하는 테넌트의 모든 Power Apps를 나열합니다.

참고

공백이 포함된 입력 값 주위에는 따옴표를 사용하세요. 예를 들어 "내 앱 이름"을 사용합니다.

애플리케이션 추천

Set-AdminPowerAppAsFeatured –AppName 'AppName'

추천 애플리케이션이 그룹화되어 Power Apps 모바일 플레이어 목록의 맨 위로 푸시됩니다.

참고

환경과 마찬가지로 AppName 필드는 고유 식별자이며 DisplayName과 다릅니다. 표시 이름을 기반으로 작업을 수행하려는 경우 일부 함수를 통해 파이프라인을 사용할 수 있습니다(다음 함수 참조).

파이프라인을 사용하여 애플리케이션을 메인 앱으로 만들기

Get-AdminPowerApp 'DisplayName' | Set-AdminPowerAppAsHero

Power Apps 모바일 플레이어의 목록 상단에 메인 앱이 나타납니다. 하나의 메인 앱만 있을 수 있습니다.

파이프를 수용하도록 함수가 작성된 경우 두 cmdlet 사이의 파이프 | 문자는 첫 번째 cmdlet의 출력을 가져와 두 번째 cmdlet의 입력 값으로 전달합니다.

참고

앱은 메인으로 변경되기 전에 이미 추천 앱이어야 합니다.

각 사용자가 담당하는 앱 수 표시

Get-AdminPowerApp | Select –ExpandProperty Owner | Select –ExpandProperty displayname | Group

기본 PowerShell 기능을 Power Apps cmdlet과 결합하여 데이터를 더욱 조작할 수 있습니다. 여기서 Select 함수를 사용하여 Get-AdminApp 개체에서 Owner 특성(개체)을 분리합니다. 그런 다음 해당 출력을 다른 Select 함수에 파이프라이닝하여 담당자 개체의 이름을 분리합니다. 마지막으로 두 번째 Select 함수 출력을 Group 함수에 전달하면 각 담당자의 앱 수를 포함하는 멋진 테이블이 반환됩니다.

Get-AdminPowerApp 명령.

각 환경의 앱 수 표시

Get-AdminPowerApp | Select -ExpandProperty EnvironmentName | Group | %{ New-Object -TypeName PSObject -Property @{ DisplayName = (Get-AdminPowerAppEnvironment -EnvironmentName $_.Name | Select -ExpandProperty displayName); Count = $_.Count } }

Get-AdminPowerApp 환경.

Power Apps 사용자 세부 정보 다운로드

Get-AdminPowerAppsUserDetails -OutputFilePath '.\adminUserDetails.txt' –UserPrincipalName 'admin@bappartners.onmicrosoft.com'

위의 명령은 지정된 텍스트 파일에서 Power Apps 사용자 세부 정보(사용자 계정 이름을 통한 입력 사용자에 대한 기본 사용 정보)를 저장합니다. 해당 이름의 기존 파일이 없으면 새 파일을 만들고 텍스트 파일이 이미 있으면 덮어씁니다.

할당된 사용자 라이선스 목록 내보내기

Get-AdminPowerAppLicenses -OutputFilePath '<licenses.csv>'

할당된 모든 사용자 라이선스(Power Apps 및 Power Automate)를 테넌트에서 테이블 형식의 .csv 파일로 내보냅니다. 내보낸 파일에는 셀프 서비스, 등록, 내부 평가판 플랜 및 Microsoft Entra ID에서 제공한 플랜이 모두 포함되어 있습니다. 내부 평가판 플랜은 Microsoft 365 관리 센터의 관리자에게 표시되지 않습니다.

내보내기는 Microsoft Power Platform사용자 수가 많은 테넌트의 경우 시간이 걸릴 수 있습니다.

노트

Get-AdminPowerAppLicenses cmdlet의 출력에는 Power Platform 서비스(예: Power Apps, Power Automate 또는 Power Platform 관리 센터)에 액세스한 사용자의 라이선스만 포함됩니다. Microsoft Entra ID(일반적으로 Microsoft 365 관리 센터)에 할당된 라이선스를 가지고 있었지만 Power Platform 서비스에 액세스한 적이 없는 사용자는 생성된 .csv 출력에 포함된 라이선스는 없을 것입니다. 또한 Power Platform 라이선스 서비스에서 라이선스를 캐시한 후 Microsoft Entra ID의 라이선스 할당에 적용되는 업데이트는 최근 서비스에 액세스하지 않은 사용자의 출력에 반영되는 데 최대 7일이 소요될 수 있습니다.

로그인한 사용자를 캔버스 앱의 소유자로 설정

Set-AdminPowerAppOwner –AppName 'AppName' -AppOwner $Global:currentSession.userId –EnvironmentName 'EnvironmentName'

PowerApps의 담당자 역할을 현재 사용자로 변경하고 원래 담당자를 "볼 수 있는" 역할 유형으로 바꿉니다.

참고

AppName 및 EnvironmentName 필드는 표시 이름이 아닌 고유 식별자(guid)입니다.

환경에서 삭제된 캔버스 앱 목록 표시

Get-AdminDeletedPowerAppsList -EnvironmentName 'EnvironmentName'

이 명령은 아직 복구될 수 있으므로 최근에 삭제된 모든 캔버스 앱을 표시합니다.

삭제된 캔버스 앱 복구

Get-AdminRecoverDeletedPowerApp -AppName 'AppName' -EnvironmentName 'EnvironmentName'

이 명령은 Get-AdminDeletedPowerAppsList cmdlet을 통해 검색 가능한 캔버스 앱을 복구합니다. Get-AdminDeletedPowerAppsList에 표시되지 않는 캔버스 앱은 복구할 수 없습니다.

SharePoint 사용자 지정 양식 환경 지정

다음 cmdlet을 사용하여 기본 환경 대신 SharePoint 사용자 지정 양식이 저장되는 환경을 지정하고 확인할 수 있습니다. SharePoint 사용자 지정 양식에 대해 지정된 환경이 변경되면 새로 만든 사용자 지정 양식이 저장되는 환경입니다. 기존 사용자 지정 양식은 이러한 cmdlet이 사용되므로 다른 환경으로 자동 마이그레이션되지 않습니다. 사용자가 지정된 환경에서 사용자 지정 양식을 만들 수 있게 하려면 해당 사용자에게 환경 제작자 역할이 있어야 합니다. 사용자는 Power Platform 관리 센터에서 환경 제작자 역할을 부여 받을 수 있습니다.

기본 환경이 아닌 모든 환경은 삭제할 수 있습니다. 지정된 SharePoint 사용자 지정 양식 환경이 삭제되면 사용자 지정 양식도 함께 삭제됩니다.

Get-AdminPowerAppSharepointFormEnvironment  

이 명령은 새로 생성된 SharePoint 사용자 지정 양식에 대해 현재 지정된 환경에 대한 EnvironmentName을 반환합니다. 환경이 지정되지 않은 경우 기본 환경이 반환됩니다.

Set-AdminPowerAppSharepointFormEnvironment –EnvironmentName 'EnvironmentName' 

이 명령은 기본 환경 대신 새로 만들어진 SharePoint 사용자 지정 양식을 저장할 환경을 지정합니다. 기존 사용자 지정 양식은 새로 지정된 환경으로 자동 마이그레이션되지 않습니다. SharePoint 사용자 지정 양식에는 프로덕션 환경만 지정할 수 있습니다.

Reset-AdminPowerAppSharepointFormEnvironment  

이렇게 하면 기본 환경이 SharePoint 사용자 지정 양식을 저장하기 위한 지정된 환경으로 재설정됩니다.

모든 사람과 앱을 공유할 수 있는 테넌트 설정 표시

$settings = Get-TenantSettings 
$settings.PowerPlatform.PowerApps.disableShareWithEveryone 

이 설정은 환경 제작자 보안 역할을 가진 사용자가 조직의 모든 사람과 캔버스 앱을 공유할 수 있는지 여부를 제어합니다. 설정이 true로 설정되면 관리자 역할이 있는 사용자(Dynamics 365 관리자, Power Platform 서비스 관리자, Microsoft Entra 테넌트 관리자)만 조직의 모든 사람과 앱을 공유할 수 있습니다.

이 테넌트 설정에 관계없이 공유 권한이 있는 값 제작자는 모든 규모의 보안 그룹과 앱을 공유할 수 있습니다. 이 컨트롤은 공유할 때 모든 사람 단축키를 사용할 수 있는지 여부만 결정합니다.

모든 사람과 앱을 공유할 수 있는 테넌트 설정 변경

$settings = Get-TenantSettings 
$settings.powerPlatform.powerApps.disableShareWithEveryone = $True 
Set-TenantSettings -RequestBody $settings

조직의 거버넌스 오류 메시지 콘텐츠 노출

오류 메시지에 표시할 거버넌스 오류 메시지 콘텐츠를 지정하는 경우 제작자가 모든 사람과 앱을 공유할 권한이 없다는 것을 발견하면 오류 메시지의 콘텐츠가 표시됩니다. PowerShell 거버넌스 오류 메시지 콘텐츠 명령을 참조하세요.

컨텍스트 흐름에서 앱에 연결

앱 컨텍스트의 흐름을 앱에 연결하여 앱과 흐름 간의 종속성을 만듭니다. 컨텍스트 흐름에 대해 자세히 알아보려면 Power Apps 라이선스에 포함된 Power Automate 기능은 무엇입니까?를 참조하세요.

   Add-AdminFlowPowerAppContext -EnvironmentName <String> -FlowName <String> -AppName <String> [-ApiVersion <String>] [<CommonParameters>]

EnvironmentName 및 FlowName은 흐름 URL에서 찾을 수 있습니다.

  • 비솔루션 흐름의 경우 URL은 다음과 같습니다.

    https://preview.flow.microsoft.com/manage/environments/839eace6-59ab-4243-97ec-a5b8fcc104e7/flows/6df8ec2d-3a2b-49ef-8e91-942b8be3202t/details
    

    environments/ 뒤의 GUID는 EnvironmentName이고 flows/ 뒤의 GUID는 FlowName입니다.

  • 솔루션 흐름의 경우 URL은 다음과 같습니다.

    https://us.flow.microsoft.com/manage/environments/66495a1d-e34e-e330-9baf-0be559e6900b/solutions/fd140aaf-4df4-11dd-bd17-0019b9312238/flows/53d829c4-a5db-4f9f-8ed8-4fb49da69ee1/details
    

    environments/ 뒤의 GUID는 EnvironmentName이고 flows/ 뒤의 GUID는 FlowName입니다.

  • 캔버스 앱의 AppName은 캔버스 앱 세부 정보 페이지에서 찾을 수 있습니다.

    캔버스 앱의 AppName을 캔버스 앱 세부 정보 페이지에서 찾을 수 있음을 보여주는 스크린샷.

  • 모델 기반 앱의 AppName은 솔루션 탐색기에서 찾을 수 있습니다.

    모델 기반 앱의 AppName을 솔루션 탐색기에서 찾을 수 있음을 보여주는 스크린샷.

  • 예제를 보려면 get-help Add-AdminFlowPowerAppContext -examples를 입력합니다.

  • 자세한 내용을 보려면 get-help Add-AdminFlowPowerAppContext -detailed를 입력합니다.

  • 기술 정보를 보려면 get-help Add-AdminFlowPowerAppContext -full을 입력합니다.

앱의 컨텍스트 흐름에서 제거

이 PowerShell 명령을 사용하여 흐름과 앱 간의 종속성을 제거합니다. Remove-AdminFlowPowerAppContext는 특정 흐름에서 앱 컨텍스트를 제거합니다.

    Remove-AdminFlowPowerAppContext -EnvironmentName <String> -FlowName <String> -AppName <String> [-ApiVersion <String>] [<CommonParameters>]

    - To see the examples, type: "get-help Remove-AdminFlowPowerAppContext -examples".
    - For more information, type: "get-help Remove-AdminFlowPowerAppContext -detailed".
    - For technical information, type: "get-help Remove-AdminFlowPowerAppContext -full".

Power Automate 명령

Power Automate와 관련된 관리를 수행하려면 다음과 같은 중요한 명령을 사용하세요.

관리자용 Power Automate 및 Power Apps cmdlet의 전체 목록은 Power Platform 관리자용 PowerShell 시작하기를 참조하세요.

모든 흐름 표시

Get-AdminFlow

테넌트의 모든 흐름 목록을 반환합니다.

흐름 담당자 역할 세부 정보 표시

Get-AdminFlowOwnerRole –EnvironmentName 'EnvironmentName' –FlowName 'FlowName'

지정된 흐름의 담당자 세부 사항을 반환합니다.

참고

환경PowerApps와 마찬가지로, FlowName은 고유 식별자(guid)이며 흐름의 표시 이름과 다릅니다.

흐름 사용자 세부 정보 표시

Get-AdminFlowUserDetails –UserId $Global:currentSession.userId

흐름 사용에 관한 사용자 세부 정보를 반환합니다. 이 예에서는 현재 로그인한 PowerShell 세션 사용자의 사용자 ID를 입력으로 사용합니다.

흐름 사용자 세부 정보 제거

Remove-AdminFlowUserDetails –UserId 'UserId'

Microsoft 데이터베이스에서 흐름 사용자의 세부 정보를 완전히 삭제합니다. 흐름 사용자 세부 정보를 제거하려면 입력 사용자가 담당하는 모든 흐름을 삭제해야 합니다.

참고

UserId 필드는 사용자의 Microsoft Entra 레코드의 개체 ID로, Azure PortalMicrosoft Entra ID>사용자>프로필>개체 ID 아래에서 찾을 수 있습니다. 여기에서 이 데이터에 액세스하려면 관리자여야 합니다.

모든 흐름을 CSV 파일로 내보내기

Get-AdminFlow | Export-Csv -Path '.\FlowExport.csv'

테넌트의 모든 흐름을 테이블 형식 보기 .csv 파일로 내보냅니다.

Dataverse 솔루션에 흐름 추가

Add-AdminFlowsToSolution -EnvironmentName <String>

환경의 모든 비솔루션 흐름을 마이그레이션합니다.

매개 변수 변형을 사용하여 특정 흐름만 마이그레이션하거나, 특정 솔루션에 추가하거나, 한 번에 설정된 수의 흐름만 마이그레이션할 수 있습니다.

자세한 기술 정보는 Add-AdminFlowsToSolution을 참조하십시오.

API 연결 명령

테넌트에서 API 연결을 보고 관리합니다.

기본 환경에 모든 기본 연결 표시

Get-AdminPowerAppEnvironment -Default | Get-AdminPowerAppConnection

기본 환경에 있는 모든 API 연결 목록을 표시합니다. 기본 연결은 Power AppsDataverse>연결 탭에서 찾을 수 있습니다.

테넌트의 모든 사용자 지정 커넥터 표시

Get-AdminPowerAppConnector

테넌트의 모든 사용자 지정 커넥터 세부 정보 목록을 반환합니다.

참고

Get-AdminPowerAppConnector는 솔루션에 있는 사용자 지정 커넥터를 나열하지 않습니다. 이것은 알려진 제한 사항입니다.

데이터 손실 방지(DLP) 정책 명령

이러한 cmdlet은 테넌트의 DLP 정책을 제어합니다.

DLP 정책 만들기

New-DlpPolicy

로그인한 관리자의 테넌트에 대한 새 DLP 정책을 생성합니다.

DLP 객체 목록 검색

Get-DlpPolicy

로그인한 관리자의 테넌트에 대한 정책 객체를 얻습니다.

노트

  • PowerShell을 사용하여 DLP 정책을 볼 때 커넥터의 표시 이름은 DLP 정책이 생성된 시점 또는 정책 내에서 커넥터가 마지막으로 이동된 시점의 것입니다. 커넥터의 표시 이름에 대한 새로운 변경 사항은 반영되지 않습니다.
  • PowerShell을 사용하여 DLP 정책을 볼 때 이동되지 않은 기본 그룹의 새 커넥터는 반환되지 않습니다.

이러한 두 가지 알려진 문제에 대한 해결 방법은 영향을 받는 커넥터를 정책 내의 다른 그룹으로 이동한 다음 다시 올바른 그룹으로 이동하는 것입니다. 이렇게 하면 각 커넥터가 올바른 이름으로 표시됩니다.

DLP 정책 업데이트

Set-DlpPolicy

정책 표시 이름과 같은 정책의 세부 정보를 업데이트합니다.

정책 제거

Remove-DlpPolicy

DLP 정책 삭제.

DLP 리소스 예외 cmdlet

이러한 cmdlet를 사용하면 DLP 정책에서 특정 리소스를 면제하거나 면제 해제할 수 있습니다.

DLP 정책에 대한 기존 면제 리소스 목록 검색

Get-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

DLP 정책에 대한 새 면제 리소스 목록 만들기

New-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -NewDlpPolicyExemptResources 

DLP 정책에 대한 면제 리소스 목록 업데이트

Set-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -UpdatedExemptResources 

DLP 정책에 대한 면제 리소스 목록 제거

Remove-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

DLP 정책에서 리소스를 제외하려면 다음 정보가 필요합니다.

  • 테넌트 ID(GUID)
  • DLP 정책 ID(GUID)
  • 리소스 ID(GUID로 끝남)
  • 리소스 종류

앱의 경우 PowerShell cmdlet Get-PowerApp 및 흐름의 경우 Get-Flow를 사용하여 리소스 ID 및 유형을 검색할 수 있습니다.

제거 스크립트 예제

f239652e-dd38-4826-a1de-90a2aea584d9 ID로 흐름을 면제하고 06002625-7154-4417-996e-21d7a60ad624 ID로 앱을 면제하려면 다음 cmdlet을 실행하세요.

1. PS D:\> $flow = Get-Flow -FlowName f239652e-dd38-4826-a1de-90a2aea584d9 
2. PS D:\> $app = Get-PowerApp -AppName 06002625-7154-4417-996e-21d7a60ad624 
3. PS D:\> $exemptFlow = [pscustomobject]@{ 
4. >>             id = $flow.Internal.id 
5. >>             type = $flow.Internal.type 
6. >>         } 
7. PS D:\> $exemptApp = [pscustomobject]@{ 
8. >>             id = $app.Internal.id 
9. >>             type = $app.Internal.type 
10. >>         } 
11. PS D:\> $exemptResources = [pscustomobject]@{ 
12. >>             exemptResources = @($exemptFlow, $exemptApp) 
13. >>         } 
14. PS D:\> New-PowerAppDlpPolicyExemptResources -TenantId b1c07da8-2ae2-47e7-91b8-d3418892f507 -PolicyName 65da474a-70aa-4a59-9ae1-65a2bebbf98a -NewDlpPolicyExemptResources $exemptResources 
15. 
16. exemptResources 
17. --------------- 
18. {@{id=/providers/Microsoft.ProcessSimple/environments/Default-b1c07da8-2ae2-47e7-91b8-d3418892f507/flows/f239652e-dd38-4826-a1de-90a2aea584d9; type=Microsoft.ProcessSimple/environments/flows}, @{id=/providers/Microsoft.PowerApps/apps/06002625-7154-4417-996e-21d7a60ad.. 

다음 시나리오의 DLP 면제 경험

# 시나리오 경험
1 사용자는 DLP를 준수하지 않지만 DLP가 면제되는 앱을 시작합니다. 앱 실행은 DLP 시행 여부와 관계없이 진행됩니다.
2 제작자는 DLP를 준수하지 않지만 DLP가 면제되는 앱을 시작합니다. DLP 면제 여부에 관계없이 DLP 규정 준수는 앱 저장 작업을 차단하지 않습니다. DLP 규정 미준수 경고는 DLP 면제에 관계없이 표시됩니다.
3 제작자는 DLP를 준수하지 않지만 DLP가 면제되는 흐름을 저장합니다. DLP 면제 여부에 관계없이 DLP 규정 준수는 흐름 저장 작업을 차단하지 않습니다. DLP 규정 미준수 경고는 표시되지 않습니다.

거버넌스 오류 메시지 콘텐츠 명령

다음 cmdlet은 최종 사용자를 조직의 거버넌스 참조 자료로 안내할 수 있습니다. 이 명령에는 거버넌스 문서에 대한 링크와 거버넌스 제어에 의해 메시지가 표시되는 경우에 대한 거버넌스 연락처가 포함되어 있습니다. 예를 들어 거버넌스 오류 메시지 콘텐츠가 설정되면 Power Apps 데이터 손실 방지 정책 런타임 적용 메시지에 나타납니다.

거버넌스 오류 메시지 콘텐츠 설정

New-PowerAppDlpErrorSettings -TenantId 'TenantId' -ErrorSettings @{  
  ErrorMessageDetails = @{ 
    enabled = $True  
    url = "https://contoso.org/governanceMaterial" 
  } 
  ContactDetails= @{  
    enabled = $True 
    email = "admin@contoso.com" 
  } 
} 

거버넌스 오류 메시지 URL 및 이메일은 독립적으로 또는 함께 표시될 수 있습니다. enabled 필드를 사용하여 거버넌스 오류 메시지를 활성화하거나 비활성화할 수 있습니다.

거버넌스 오류 메시지 콘텐츠 시나리오

# 시나리오 상태
1 사용자가 DLP을 준수하지 않는 Power Apps를 사용하여 만든 앱을 시작합니다 일반적으로 사용 가능
2 제작자는 Power Apps 캔버스 앱을 공유하지만 공유 권한이 없습니다. 일반적으로 사용 가능
3 제작자는 Power Apps 캔버스 앱을 모든 사람과 공유하지만 모든 사람과 공유할 권한은 없습니다. 일반적으로 사용 가능
4 제작자는 DLP을 준수하지 않는 Power Apps을 사용하여 만든 앱을 저장합니다 일반적으로 사용 가능
5 제작자가 DLP를 준수하지 않는 Power Automate 흐름을 저장합니다. 일반적으로 사용 가능
6 사용자는 Dataverse 환경에 연결된 보안 그룹에 대한 보안 그룹 멤버십 없이 앱을 시작합니다 일반적으로 사용 가능

거버넌스 오류 메시지 콘텐츠 표시

Get-PowerAppDlpErrorSettings -TenantId 'TenantId' 

거버넌스 오류 메시지 콘텐츠 업데이트

Set-PowerAppDlpErrorSettings -TenantId 'TenantId' -ErrorSettings @{  
  ErrorMessageDetails = @{ 
    enabled = $True  
    url = "https://contoso.org/governanceMaterial" 
  } 
  ContactDetails= @{  
    enabled = $True 
    email = "admin@contoso.com" 
  } 
} 

연결 위반에 대해 DLP 정책 적용 - 환경

이러한 cmdlet을 사용하면 환경 또는 테넌트 수준에서 연결 위반에 대해 DLP 정책을 적용할 수 있습니다.

연결 위반에 대해 DLP 정책 적용

환경의 연결에 DLP 정책을 적용할 수 있습니다. 적용하면 DLP 정책을 위반하는 기존 연결이 비활성화되고 더 이상 DLP 정책을 위반하지 않는 이전에 비활성화된 연결이 활성화됩니다.

Start-DLPEnforcementOnConnectionsInEnvironment -EnvironmentName [Environment ID]
환경 적용 스크립트 예시
Start-DLPEnforcementOnConnectionsInEnvironment -EnvironmentName c4a07cd6-cb14-e987-b5a2-a1dd61346963 

연결 위반에 대해 DLP 정책 적용 - 테넌트

테넌트의 연결에 DLP 정책을 적용할 수 있습니다. 적용하면 DLP 정책을 위반하는 기존 연결이 비활성화되고 더 이상 DLP 정책을 위반하지 않는 이전에 비활성화된 연결이 활성화됩니다.

Start-DLPEnforcementOnConnectionsInTenant

평가판 라이선스 차단 명령

명령:

Remove-AllowedConsentPlans
Add-AllowedConsentPlans
Get-AllowedConsentPlans

허용된 동의 플랜 cmdlet을 사용하면 테넌트에서 특정 유형의 동의 플랜에 대한 액세스 권한을 추가하거나 제거할 수 있습니다. "내부"동의 계획은 사용자가 Power Apps/Power Automate 포털/데스크톱용 Power Automate를 통해 직접 등록할 수 있는 평가판 라이선스 또는 개발자 계획입니다. "임시 구독" 또는 "바이럴" 동의 계획은 사용자가 https://signup.microsoft.com에서 직접 등록할 수 있는 평가판 라이선스입니다. 관리자는 Microsoft Entra ID 또는 Microsoft 365 관리 포털을 통해 사용자를 할당할 수 있습니다.

기본적으로 모든 유형의 동의 계획이 테넌트에서 허용됩니다. 그러나 Power Platform 관리자는 사용자가 자신에게 평가판 라이선스를 할당하는 것을 차단하되 사용자를 대신하여 평가판 라이선스를 할당하는 기능은 유지하려고 할 수 있습니다. 이 규칙은 Remove-AllowedConsentPlans -Types "Internal" 명령을 사용하고 Microsoft Entra ID에서 AllowAdHocSubscriptions 설정을 비활성화하여 수행할 수 있습니다.

중요

Remove-AllowedConsentPlans을 사용하면 지정된 유형의 모든 기존 플랜이 테넌트의 모든 사용자에게서 제거되며 복구할 수 없습니다. 이 명령은 해당 유형의 향후 모든 할당을 차단합니다. Power Platform 관리자가 해당 유형의 플랜을 다시 활성화하려는 경우 Add-AllowedConsentPlans를 사용할 수 있습니다. 허용된 동의 플랜의 현재 상태를 보려면 Get-AllowedConsentPlans를 사용할 수 있습니다.

질문이 있는 경우

의견, 제안 또는 질문이 있으면 Power Apps 커뮤니티 보드 관리에 게시하십시오.

참조 항목

Power Apps 관리 모듈을 사용하여 시작합니다.
Microsoft.PowerApps.Administration.PowerShell
프리뷰: 프로그래밍 기능 및 확장성 개요