SQL Server Reporting Service:是否为这些 SSRS 区域的配置编写了脚本

问题描述

我正在尝试通过脚本自动完成 SSRS 的完整安装。除了以下内容,我已经能够使用 RSConfig 覆盖所有领域:

  • Web 服务 URL:在 SSRS UI 配置页面中接受认值并按应用
  • 更改数据库:在 SSRS UI 配置页面中,我选择更改数据库并输入适当的值

任何方向都很感激

解决方法

为了自动化 WebService Url 配置,我所做的是使用 PowerShell 创建自签名证书并使用以下脚本绑定安全 HTTPS 网络链接的证书。

$serverClass = get-wmiobject -namespace "root\Microsoft\SqlServer\ReportServer\RS_SSRS\v15\Admin" -class "MSReportServer_ConfigurationSetting"

配置SSRSCertificate "https://$($NewHostNameForCertificate):$SSLPortNumber" $Thumbprint $SSLPortNumber

函数配置SSRSCertificate($sslURL,$certHash,$sslPort) { $certHash = $certHash.ToLower() IIS证书端口绑定 ReserveSSRSURL $sslUrl $LCID CreateCertBinding $ReportServerWebService $certHash $sslPort $LCID CreateCertBinding $ReportManager $certHash $sslPort $LCID }

函数IISCertPortBinding() {
Get-WebBinding -Port $SSLPortNumber -Name "默认网站" | Remove-WebBinding netsh http 删除 sslcert ipport=0.0.0.0:$SSLPortNumber }

函数 ReserveSSRSURL($sslUrl,$lcid) { [XML]$ReportConfigFileContent = Get-Content $ReportConfigFileContentPath
$URLItems = $ReportConfigFileContent.SelectNodes("//URL[UrlString='http://+:$PortNumber']") foreach($URLItems 中的 $URLItem) { $NewURLItem = $URLItem.Clone() $NewURLItem.UrlString = $sslUrl $NewURLItem.AccountSid = "S-1-5-18" $NewURLItem.AccountName = "LocalSystem" $InsertAfterNode = $URLItem; $URLItem.ParentNode.InsertAfter($NewURLItem,$InsertAfterNode) } $ReportConfigFileContent.save($ReportConfigFileContentPath) }

函数 CreateCertBinding($ServiceOrReport,$sslPort,$lcid) { $result = $serverClass.CreateSSLCertificateBinding($ServiceOrReport,"0.0.0.0",$lcid) }