我可以使用 Powershell 生成 SSRS 报告(带参数)并将其打印到网络打印机吗?
我将使用 SQL 代理作业轮询表以获取新订单条目。当收到订单时,我想生成一份 SSRS 报告并将其打印到我们网络上的许多远程打印机之一(打印机将是输入参数之一),例如,在下订单时在适当的仓库中打印拣货单.
我们目前使用批处理文件打印到本地打印机,但程序经常挂起并且不能很好地扩展。
我可以使用 Powershell 生成 SSRS 报告(带参数)并将其打印到网络打印机吗?
我将使用 SQL 代理作业轮询表以获取新订单条目。当收到订单时,我想生成一份 SSRS 报告并将其打印到我们网络上的许多远程打印机之一(打印机将是输入参数之一),例如,在下订单时在适当的仓库中打印拣货单.
我们目前使用批处理文件打印到本地打印机,但程序经常挂起并且不能很好地扩展。
在这种情况下:
报告名称:工单系统
参数为:日期和部门
报告格式: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 模块查询您的数据库。
希望有帮助。