Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
8 years ago

Configuring Power BI Server through Power shell

Hi,

If you want to install Power BI Server through powershell (SQL Server 2016 and PoweBI Server(March 2018))

you can use following commands

 

 

 

$rsConfig = Get-WmiObject –namespace "root\Microsoft\SqlServer\ReportServer\RS_PBIRS\v15\Admin" -class MSReportServer_ConfigurationSetting   -filter "InstanceName='PBIRS'"

 

$methResult = $rsConfig.GenerateDatabaseCreationScript($PowerBIDatabaseName, 1033, "true")

Invoke-SqlCmd

Set-Location SQLSERVER:\SQL\$SQLServerName\$InstanceName

invoke-sqlcmd -Query $methResult["Script"] -Username $UserName -Password $Password -OutputSqlErrors $true | Out-Null

 

Set-Location -Path C:\Windows\System32

$methResult = $rsconfig.GenerateDatabaseRightsScript("NT Service\PowerBIReportServer", $PowerBIDatabaseName, $false, $true)

Set-Location SQLSERVER:\SQL\$SQLServerName\$InstanceName

invoke-sqlcmd -Query $methResult["Script"] -Username $UserName -Password $Password -OutputSqlErrors $true | Out-Null

 

Set-Location -Path C:\Windows\System32

$rsConfig.SetDatabaseConnection($SQLServerInstanceName,$PowerBIDatabaseName, 2, "NT Service\PowerBIReportServer", "")

 

$rsConfig.SetVirtualDirectory("ReportServerWebService",$WebServiceVirtualDirectoryName,0)

$rsConfig.ReserveURL("ReportServerWebService", "http://+:80", 1033)

$rsConfig.SetVirtualDirectory("ReportServerWebApp",$WebPortalVirtualDirectoryName,0)

$rsConfig.ReserveURL("ReportServerWebApp", "http://+:80", 1033)

$rsConfig.ReserveURL("PowerBIWebApp", "http://+:80", 1033)

$rsConfig.ReserveURL("OfficeWebApp", "http://+:80", 1033)

 

$rsconfig.SetServiceState($false, $false, $false)

Restart-Service $rsConfig.ServiceName

$rsconfig.SetServiceState($true, $true, $true)

 

 

Older SQL 

The version in following command must be updated

$rsConfig = Get-WmiObject –namespace "root\Microsoft\SqlServer\ReportServer\RS_PBIRS\v15\Admin" -class MSReportServer_ConfigurationSetting   -filter "InstanceName='PBIRS'"
To get the version use following command:      

gwmi -namespace "root\Microsoft\SqlServer\ReportServer\RS_PBIRS" -class "__Namespace"

 

Also in following commands: 

$rsConfig.SetVirtualDirectory("ReportServerWebApp",$WebPortalVirtualDirectoryName,0)

$rsConfig.ReserveURL("ReportServerWebApp", "http://+:80", 1033)

"ReportServerWebApp"

should be changed to 

"ReportManager"

 

 

 

No Replies