您的位置:首页 > 其它

[SharePoint 2013] Subscribe report within SharePoint mode

2017-01-06 14:02 260 查看
param([string]$path, [string]$fileName, [string]$storage)

$description = "Save in $storage as $fileName."

$matchData31 = '<?xml version="1.0" encoding="utf-16" standalone="yes"?><ScheduleDefinition xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><StartDateTime xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer">2017-01-01T23:00:00.000+01:00</StartDateTime><MonthlyRecurrence xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer"><Days>31</Days><MonthsOfYear><January>true</January><March>true</March><May>true</May><July>true</July><August>true</August><October>true</October><December>true</December></MonthsOfYear></MonthlyRecurrence></ScheduleDefinition>'

$matchData30 = '<?xml version="1.0" encoding="utf-16" standalone="yes"?><ScheduleDefinition xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><StartDateTime xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer">2017-01-01T23:00:00.000+01:00</StartDateTime><MonthlyRecurrence xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer"><Days>30</Days><MonthsOfYear><April>true</April><June>true</June><September>true</September><November>true</November></MonthsOfYear></MonthlyRecurrence></ScheduleDefinition>'

$matchData28 = '<?xml version="1.0" encoding="utf-16" standalone="yes"?><ScheduleDefinition xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><StartDateTime xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer">2017-01-01T23:00:00.000+01:00</StartDateTime><MonthlyRecurrence xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer"><Days>28</Days><MonthsOfYear><February>true</February></MonthsOfYear></MonthlyRecurrence></ScheduleDefinition>'

$eventType = "TimedSubscription"
$extension = "Report Server DocumentLibrary"
$webServiceUri = "http://server/_vti_bin/ReportServer/ReportService2010.asmx"

$rs2010 = New-WebServiceProxy -Uri $webServiceUri -Namespace SSRS.ReportingService2010 -UseDefaultCredential

$parameters = New-Object -TypeName System.Collections.Generic.List[SSRS.ReportingService2010.ParameterValue]
$deliverySettings = New-Object -TypeName SSRS.ReportingService2010.ExtensionSettings
$parameterValues = New-Object -TypeName System.Collections.Generic.List[SSRS.ReportingService2010.ParameterValueOrFieldReference]

$parameterFileName = New-Object -TypeName SSRS.ReportingService2010.ParameterValue
$parameterFileName.Name = "FILENAME"
$parameterFileName.Value = $fileName
$parameterValues.Add($parameterFileName)

$parameterFileExtn = New-Object -TypeName SSRS.ReportingService2010.ParameterValue
$parameterFileExtn.Name = "FILEEXTN"
$parameterFileExtn.Value = $true
$parameterValues.Add($parameterFileExtn)

$parameterTitle = New-Object -TypeName SSRS.ReportingService2010.ParameterValue
$parameterTitle.Name = "TITLE"
$parameterTitle.Value = $fileName
$parameterValues.Add($parameterTitle)

$parameterFormat = New-Object -TypeName SSRS.ReportingService2010.ParameterValue
$parameterFormat.Name = "RENDER_FORMAT"
$parameterFormat.Value = "EXCELOPENXML"
$parameterValues.Add($parameterFormat)

$parameterMode = New-Object -TypeName SSRS.ReportingService2010.ParameterValue
$parameterMode.Name = "WRITEMODE"
$parameterMode.Value = "Overwrite"
$parameterValues.Add($parameterMode)

$parameterAutoCopy = New-Object -TypeName SSRS.ReportingService2010.ParameterValue
$parameterAutoCopy.Name = "AUTOCOPY"
$parameterAutoCopy.Value = $false
$parameterValues.Add($parameterAutoCopy)

$parameterPath = New-Object -TypeName SSRS.ReportingService2010.ParameterValue
$parameterPath.Name = "PATH"
$parameterPath.Value = $storage
$parameterValues.Add($parameterPath)

$deliverySettings.Extension = $extension
$deliverySettings.ParameterValues = $parameterValues.ToArray()

$subscriptions = $rs2010.ListSubscriptions($path)

if($subscriptions.Count -eq 0){
$subscription31 = $rs2010.CreateSubscription($path, $deliverySettings, $description, $eventType, $matchData31, $parameters.ToArray())
Write-Host $subscription31

$subscription30 = $rs2010.CreateSubscription($path, $deliverySettings, $description, $eventType, $matchData30, $parameters.ToArray())
Write-Host $subscription30

$subscription28 = $rs2010.CreateSubscription($path, $deliverySettings, $description, $eventType, $matchData28, $parameters.ToArray())

Write-Host $subscription28
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐