使用PowerShell创建SSRS链接报表时设置指定参数的问题咨询
SSRS链接报表参数配置方案
你可以在现有创建链接报表的脚本基础上,追加参数配置逻辑即可实现需求,完整示例脚本如下:
[string]$webServiceUrl = "http://myssrsserver/ReportServer/ReportService2010.asmx" $ssrsProxy = New-WebServiceProxy -Uri $webServiceUrl -UseDefaultCredential # 新链接报表名称 $itemPath = "Linked server test" # 链接报表存放的父目录路径 $parent = "/A folder" # 关联的源报表路径 $link = "/Reports/A report" # 创建报表属性对象 $type = $ssrsProxy.GetType().Namespace $linkPropertyType = ($type + '.Property') $linkProperty = New-Object ($linkPropertyType) $linkProperty.Name = "Linked report description" $linkProperty.Value = "Linked server test" # 创建链接报表 $ssrsProxy.CreateLinkedItem($itemPath,$parent,$link,$linkProperty) # ---------- 新增参数配置逻辑 ---------- # 替换为实际的参数名和要设置的默认值 $targetParamName = "你的参数名" $customDefaultValue = "指定的参数默认值" # 构造参数配置对象 $itemParameterType = $type + '.ItemParameter' $paramConfig = New-Object ($itemParameterType) $paramConfig.Name = $targetParamName # 设置参数为隐藏状态 $paramConfig.Hidden = $true # 勾选使用默认值,不提示用户输入 $paramConfig.PromptUser = $false $paramConfig.UseDefaultValues = $true # 设置指定默认值,单值也需要用数组格式包裹 $paramConfig.DefaultValues = @($customDefaultValue) # 提交参数配置到链接报表 $linkedReportFullPath = "$parent/$itemPath" $ssrsProxy.SetItemParameters($linkedReportFullPath, @($paramConfig))
配置说明
- 代码中的
你的参数名需要替换为源报表中对应参数的准确名称,大小写必须完全匹配 指定的参数默认值替换为你需要的实际取值,需确保该值在该参数的允许值列表内- 如果需要同时配置多个参数,可重复构造
ItemParameter对象,将所有参数对象放入SetItemParameters的第二个参数数组中即可
内容的提问来源于stack exchange,提问作者the Ben B
相关产品推荐
相关产品推荐

