다음을 통해 공유


Windows PowerShell 및 PowerShell Core용 Microsoft Power BI Cmdlet

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

PowerShell 모듈

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

설명 모듈 이름 PowerShell 갤러리 링크
Power BI Cmdlet용 롤업 모듈 NA 마이크로소프트파워BIMgmt1.2.1111
Power BI Cmdlet에 대한 관리 모듈 MicrosoftPowerBIMgmt.Admin Module MicrosoftPowerBIMgmt.관리자
Power BI Cmdlet에 대한 용량 모듈 MicrosoftPowerBIMgmt.Capacities Module MicrosoftPowerBIMgmt.용량
Power BI Cmdlet에 대한 데이터 모듈 MicrosoftPowerBIMgmt.Data Module MicrosoftPowerBIMgmt.데이터
Power BI Cmdlet에 대한 프로필 모듈 MicrosoftPowerBIMgmt.Profile Module MicrosoftPowerBIMgmt.프로필
Power BI용 보고서 모듈 MicrosoftPowerBIMgmt.Reports Module MicrosoftPowerBIMgmt.보고서
Power BI용 작업 영역 모듈 MicrosoftPowerBIMgmt.Workspaces Module MicrosoftPowerBIMgmt.작업 공간

지원되는 환경 및 PowerShell 버전

  • Windows PowerShell v3.0 이상(.NET 4.7.1 이상 포함).
  • PowerShell Core(v6) 이상: PowerShell Core에서 지원하는 모든 OS 플랫폼.

설치

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

Install-Module -Name MicrosoftPowerBIMgmt

선택적으로 롤업 모듈 대신 개별 모듈(필요에 따라)을 설치할 수 있습니다(예: Workspaces 모듈만 원하는 경우).

Install-Module -Name MicrosoftPowerBIMgmt.Workspaces

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

Update-Module -Name MicrosoftPowerBIMgmt

제거(설치 해제)

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

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

사용법

Power BI 엔터티와 상호 작용하는 cmdlet에서 지원되는 두 가지 범위는 다음과 같습니다.

  • Individual은 현재 사용자에게 속한 엔터티에 액세스하는 데 사용됩니다.
  • 조직은 회사 전체의 엔터티에 액세스하는 데 사용됩니다. 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'

기본적으로 보고서는 사용자의 내 작업 영역에 배치됩니다. 다른 작업 공간에 배치하려면 or -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

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

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

데이터셋 가져오기

Power BI 데이터 세트 가져오기:

Get-PowerBIDataset

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

스토리지 모드에 Premium Files를 사용하도록 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의 경우 인증된 세션을 다시 사용하여 사용자 지정 REST 요청을 수행할 수 있습니다.Connect-PowerBIServiceAccount

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 지원 사이트에 피드백을 제출하세요.