1

我可以使用 Powershell 生成 SSRS 报告(带参数)并将其打印到网络打印机吗?

我将使用 SQL 代理作业轮询表以获取新订单条目。当收到订单时,我想生成一份 SSRS 报告并将其打印到我们网络上的许多远程打印机之一(打印机将是输入参数之一),例如,在下订单时在适当的仓库中打印拣货单.

我们目前使用批处理文件打印到本地打印机,但程序经常挂起并且不能很好地扩展。

4

1 回答 1

2

在这种情况下:
报告名称:工单系统
参数为:日期和部门
报告格式:PDF

#Place adobe in your path
$env:Path = $env:Path + ";C:\Program Files (x86)\Adobe\Reader 11.0\Reader"

#Specify variables and pass parameters and specify format of report PDF (to keep things simple)
$url = "http://$serverName/ReportServer?/$reportFolder/Ticket+System&Date=3-31-2014&Department=Finance&rs:Format=PDF"

#Use alternative credentials as needed to access report server
$webclient = New-Object System.Net.WebClient
$webclient.UseDefaultCredentials = $TRUE

$file = "C:\temp\report.pdf"
$webclient.DownloadFile($url,$file)

#Specify printer \\server\name
$printer = "\\NorthSide\SharpPrinter"

#The /s /o switch may not be necessary. You can test it out.
AcroRd32.exe /s /o /t $file $printer

Get-Process AcroRd32.exe | kill

参考:此链接将指示如何通过 url http://msdn.microsoft.com/en-us/library/ms155391.aspx将参数传递给报告

此链接将指示如何通过 url http://msdn.microsoft.com/en-us/library/ms154040.aspx访问可打印格式的报告

此链接将向您展示如何使用 powershell 通过 url 将此文件写入文件系统。 http://teusje.wordpress.com/2011/02/19/download-file-with-powershell/

此链接将向您展示如何将作业推送到假脱机程序。使用 Powershell 4.0 版 http://technet.microsoft.com/en-us/library/hh849886.aspx

如果您在 sql 代理作业中使用 powershell 时遇到问题,我也可以使用任务计划程序作业进行轮询,并使用 SQLPS 模块查询您的数据库。

希望有帮助。

于 2014-07-31T03:22:23.750 回答