1
定期的なスケジュール(以下の画像)で「キャッシュ」される予定のレポートが約50件あります。SSRSキャッシュスケジュールRe
この情報は、レポートサーバーデータベースでのみ入手可能であるか、またはスケジュール情報は、PowerShellを使用して取得することができますか?これまで実行してきたすべての「明白な」メソッドは、情報やブール値を返さない(すべて「偽」)
定期的なスケジュール(以下の画像)で「キャッシュ」される予定のレポートが約50件あります。SSRSキャッシュスケジュールRe
この情報は、レポートサーバーデータベースでのみ入手可能であるか、またはスケジュール情報は、PowerShellを使用して取得することができますか?これまで実行してきたすべての「明白な」メソッドは、情報やブール値を返さない(すべて「偽」)
GetItemHistoryOptions
を使用してレポートアイテムのスケジュールを取得できます。
のメソッドのパラメータScheduleDefinitionOrReference
[ref]
のプロパティに基づいて、情報の表示方法を決定することができます。 Item
の
タイプ、MinuteRecurrence
の一つ、DailyRecurrence
、WeeklyRecurrence
、MonthlyRecurrence
又はMonthlyDOWRecurrence
ことができます。
$svcUrl = 'http://the-host-name/ReportServer/reportservice2010.asmx'
$svc = New-WebServiceProxy -Class 'RS' -Namespace 'RS' -Uri $svcUrl -UseDefaultCredential
$reports = $svc.ListChildren("/", $true) | Where-Object { $_.TypeName -eq "Report" }
$KeepExecutionSnapshots = $false
$ScheduleDefinitionOrReference = New-Object RS.ScheduleDefinitionOrReference
foreach ($report in $reports) {
$result = $svc.GetItemHistoryOptions($report.Path,
[ref]$KeepExecutionSnapshots,
[ref]$ScheduleDefinitionOrReference)
if($ScheduleDefinitionOrReference.Item -is [RS.MonthlyRecurrence])
{
"'$($report.Name)' Schedule Information:"
"StartDateTime: $($ScheduleDefinitionOrReference.StartDateTime)"
"StartDateTime: $($ScheduleDefinitionOrReference.EndDate)"
"EndDateSpecified: $($ScheduleDefinitionOrReference.EndDateSpecified)"
"Days: $($ScheduleDefinitionOrReference.Item.Days)"
$months = Get-Member `
-InputObject $($ScheduleDefinitionOrReference.Item.MonthsOfYear) `
-MemberType Property | Where-Object {
$ScheduleDefinitionOrReference.Item.MonthsOfYear.$($_.Name) -eq $true
}
"Months:$($months.Name -join ",")"
}
}
そして結果はこのようになります:
'MyReport' Schedule Information:
StartDateTime: 12/19/2017 18:00:00
StartDateTime: 01/01/0001 00:00:00
EndDateSpecified: False
Days: 1,3-5
Months:August,December,July,November,October,September
ありがとう!あなたは、このようなコードを使用することができます
MonthlyRecurrence
をフォーマットするたとえば例
これは私が探していたものです。違いは、GetItemHistoryOptions()ではなく、GetExecutionOptions()メソッドを使用して、探していたデータを取得する必要がありました。両方とも同じ方法で、異なるスケジュールオブジェクトで動作します。再度、感謝します! –
素晴らしい!どういたしまして :) –