Windows PowerShell 및 PowerShell Core용 Microsoft Power BI Cmdlet

Microsoft Power BI에 대한 PowerShell 참조를 시작합니다. 여기서는 Power BI를 대상으로 하는 PowerShell 모듈에 대한 리소스를 찾을 수 있습니다.

PowerShell 모듈

다음은 이 참조에서 다루는 Power BI PowerShell 모듈의 표입니다.

Description 모듈 이름 PowerShell 갤러리 링크
Power BI Cmdlet용 롤업 모듈 MicrosoftPowerBIMgmt MicrosoftPowerBIMgmt
Power BI Cmdlet용 관리 모듈 MicrosoftPowerBIMgmt.Admin MicrosoftPowerBIMgmt. 관리
Power BI Cmdlet용 용량 모듈 MicrosoftPowerBIMgmt.Capacities MicrosoftPowerBIMgmt.Capacities
Power BI Cmdlet용 데이터 모듈 MicrosoftPowerBIMgmt.Data MicrosoftPowerBIMgmt.Data
Power BI Cmdlet에 대한 프로필 모듈 MicrosoftPowerBIMgmt.Profile MicrosoftPowerBIMgmt.Profile
Power BI용 보고서 모듈 MicrosoftPowerBIMgmt.Reports MicrosoftPowerBIMgmt.Reports
Power BI용 작업 영역 모듈 MicrosoftPowerBIMgmt.Workspaces MicrosoftPowerBIMgmt.Workspaces

지원되는 환경 및 PowerShell 버전

  • v3.0 이상을 .NET 4.7.1 이상으로 Windows PowerShell.
  • PowerShell Core(v6) 이상은 PowerShell Core에서 지원하는 모든 OS 플랫폼에서 지원됩니다.

설치

cmdlet은 PowerShell 갤러리 사용할 수 있으며 관리자 권한 PowerShell 세션에 설치할 수 있습니다.

Install-Module -Name MicrosoftPowerBIMgmt

필요에 따라 롤업 모듈 대신 개별 모듈을 설치할 수 있습니다(예: 작업 영역 모듈만 원하는 경우).

Install-Module -Name MicrosoftPowerBIMgmt.Workspaces

이전 버전이 있는 경우 다음을 실행하여 최신 버전으로 업데이트할 수 있습니다.

Update-Module -Name MicrosoftPowerBIMgmt

제거

모든 Power BI PowerShell cmdlet을 제거하려면 관리자 권한 PowerShell 세션에서 다음을 실행합니다.

Get-Module MicrosoftPowerBIMgmt* -ListAvailable | Uninstall-Module -Force

사용량

두 범위는 Power BI 엔터티와 상호 작용하는 cmdlet에서 지원됩니다.

  • 개인은 현재 사용자에 속하는 엔터티에 액세스하는 데 사용됩니다.
  • 조직은 회사 전체의 엔터티에 액세스하는 데 사용됩니다. Power BI 테넌트 관리자만 사용할 수 있습니다.

-Scope 매개 변수가 cmdlet에 없는 경우 엔터티는 관리 API를 지원하지 않습니다.

Power BI에 로그인

Connect-PowerBIServiceAccount   # or use aliases: Login-PowerBIServiceAccount, Login-PowerBI

작업 영역 가져오기

사용자의 작업 영역을 가져옵니다. 기본적으로(즉, 매개 변수가 없는 -First ) 사용자에게 할당된 처음 100개의 작업 영역이 표시됩니다.

Get-PowerBIWorkspace

매개 변수를 -All 사용하여 사용자에게 할당된 모든 작업 영역을 표시합니다.

Get-PowerBIWorkspace -All

테넌트 관리자인 경우 다음을 추가하여 -Scope Organization테넌트에서 모든 작업 영역을 볼 수 있습니다.

Get-PowerBIWorkspace -Scope Organization -All

작업 영역 업데이트

사용자 작업 영역의 이름 또는 설명을 업데이트합니다.

Set-PowerBIWorkspace -Scope Organization -Id "3244f1c1-01cf-457f-9383-6035e4950fdc" -Name "Test Name" -Description "Test Description"

작업 영역에 새 사용자 추가

지정된 작업 영역에 사용자를 추가합니다.

Add-PowerBIWorkspaceUser -Scope Organization -Id 3244f1c1-01cf-457f-9383-6035e4950fdc -UserEmailAddress john@contoso.com -AccessRight Admin

지정된 작업 영역에서 사용자 제거

지정된 작업 영역에서 사용자의 사용 권한을 제거합니다.

Remove-PowerBIWorkspaceUser -Scope Organization -Id 3244f1c1-01cf-457f-9383-6035e4950fdc -UserEmailAddress john@contoso.com

작업 영역 마이그레이션 상태 가져오기

Power BI 작업 영역 마이그레이션 상태를 가져옵니다.

Get-PowerBIWorkspaceMigrationStatus -Id 038f9a64-1fcd-42f2-957a-13a63b3d3235

작업 영역 복원

삭제된 작업 영역을 테넌트 관리자로 보려면 다음을 수행합니다.

Get-PowerBIWorkspace -Scope Organization -Deleted -All

삭제된 작업 영역 복원:

Restore-PowerBIWorkspace -Id "3244f1c1-01cf-457f-9383-6035e4950fdc" -RestoredName "TestWorkspace" -AdminEmailAddress "john@contoso.com"

분리된 작업 영역 복구

할당된 관리자가 없으면 작업 영역이 분리됩니다. 테넌트 관리자인 경우 다음을 실행하여 분리된 모든 작업 영역을 봅니다.

Get-PowerBIWorkspace -Scope Organization -Orphaned -All

이 문제를 해결하려면 다음을 사용합니다.

Add-PowerBIWorkspaceUser -Scope Organization -Id f2a0fae5-1c37-4ee6-97da-c9d31851fe17 -UserPrincipalName 'john@contoso.com' -AccessRight Admin

보고서 가져오기

사용자에 대한 모든 보고서를 가져옵니다.

Get-PowerBIReport

테넌트 관리자인 경우 다음을 할당하여 테넌트에서 모든 보고서를 볼 수 있습니다.-Scope Organization

Get-PowerBIReport -Scope Organization

대시보드 가져오기

사용자에 대한 대시보드를 가져옵니다.

Get-PowerBIDashboard

테넌트 관리자인 경우 다음을 추가하여 -Scope Organization테넌트에서 모든 대시보드를 볼 수 있습니다.

Get-PowerBIDashboard -Scope Organization

타일 가져오기

대시보드 내에서 타일을 가져옵니다.

Get-PowerBITile -DashboardId 9a58d5e5-61bc-447c-86c4-e221128b1c99

가져오기

Power BI 가져오기:

Get-PowerBIImport

보고서 만들기

*.pbix 파일을 업로드하여 Power BI에서 보고서를 만듭니다.

New-PowerBIReport -Path .\newReport.pbix -Name 'New Report'

기본적으로 보고서는 사용자의 내 작업 영역에 배치됩니다. 다른 작업 영역에 배치하려면 다음 또는 -Workspace 매개 변수를 -WorkspaceId 사용합니다.

New-PowerBIReport -Path .\newReport.pbix -Name 'New Report' -WorkspaceId f95755a1-950c-46bd-a912-5aab4012a06d

보고서 내보내기

Power BI 보고서를 *.pbix 파일로 내보냅니다.

Export-PowerBIReport -Id b48c088c-6f4e-4b7a-b015-d844ab534b2a -OutFile .\exportedReport.pbix

작업 영역이 내 작업 영역 외부에 있는 경우 다음 매개 변수를 -Workspace 사용하여 WorkspaceId 내보냅니다.

Export-PowerBIReport -Id b48c088c-6f4e-4b7a-b015-d844ab534b2a -OutFile .\exportedReport.pbix -WorkspaceId 3bdd9735-0ab5-4f21-bd5d-87e7f1d7fb84

데이터 집합 가져오기

Power BI 데이터 세트를 가져옵니다.

Get-PowerBIDataset

데이터 세트 스토리지 모드 업데이트

스토리지 모드에 프리미엄 파일을 사용하도록 Power BI 데이터 세트를 설정합니다.

Set-PowerBIDataset -Id 038f9a64-1fcd-42f2-957a-13a63b3d3235 -TargetStorageMode PremiumFiles

데이터 원본 가져오기

데이터 세트에 대한 Power BI 데이터 원본을 가져옵니다.

Get-PowerBIDatasource -DatasetId 65d7d7e5-8af0-4e94-b20b-50a882ae15e1

테이블 가져오기

데이터 세트에 포함된 Power BI 테이블을 가져옵니다.

Get-PowerBITable -DatasetId 65d7d7e5-8af0-4e94-b20b-50a882ae15e1

Power BI Rest API 호출

해당 cmdlet이 없는 Power BI API 인증된 세션을 Connect-PowerBIServiceAccount 다시 사용하여 사용자 지정 REST 요청을 수행할 수 있습니다.

Invoke-PowerBIRestMethod -Url 'reports/4eb4c303-d5ac-4a2d-bf1e-39b35075d983/Clone' -Method Post -Body ([pscustomobject]@{name='Cloned report'; targetModelId='adf823b5-a0de-4b9f-bcce-b17d774d2961'; targetWorkspaceId='45ee15a7-0e8e-45b0-8111-ea304ada8d7d'} | ConvertTo-Json -Depth 2 -Compress)

PowerShell 외부에서 인증된 세션을 사용하려면 다음을 사용하여 액세스 토큰을 가져옵니다.

Get-PowerBIAccessToken -AsString

문제 해결 오류

cmdlet에서 반환된 오류에 대한 자세한 내용을 보려면 다음을 사용합니다.

Resolve-PowerBIError -Last

이 정보는 Power BI에 대한 지원 티켓을 여는 데 유용할 수 있습니다.

문제 및 피드백

버그를 찾거나 Power BI용 PowerShell Cmdlet에 대해 구현된 특정 기능을 확인하려면 문제를 제출하세요.

문제가 PowerShell cmdlet보다 광범위한 경우 Power BI 커뮤니티 또는 공식 Power BI 지원 사이트에 피드백을 제출하세요.