Forum Discussion
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"