|
32 | 32 | #>
|
33 | 33 |
|
34 | 34 | Param(
|
35 |
| - [string]$SQLInstance='localhost', |
| 35 | + [string]$SQLInstance='reportsdb', |
36 | 36 | [string]$myuser,
|
37 | 37 | [string]$mypass
|
38 | 38 | )
|
@@ -607,21 +607,76 @@ if(!(test-path -path "$fullfolderPathSUB\HTMLReport.css"))
|
607 | 607 | }
|
608 | 608 |
|
609 | 609 |
|
610 |
| -Write-Output "Timed Subscriptions..." |
| 610 | +Write-Output "Visual Timed Subscriptions..." |
611 | 611 | $RunTime = Get-date
|
612 | 612 |
|
613 |
| -#Foreach ($Sked in $Skeds) |
614 |
| -#{ |
615 |
| - # OutPut FileName |
616 |
| - $HTMLFileName = "$fullfolderPathSUB\Schedule.html" |
| 613 | +$HTMLFileName = "$fullfolderPathSUB\Visual_Subscription_Schedule.html" |
617 | 614 |
|
618 | 615 |
|
619 |
| - $Skeds | select Folder, Report, State, RecurrenceType, RunTime, Weeks_Interval, Minutes_Interval, ` |
620 |
| - Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, ` |
621 |
| - Week_of_Month, Sun, Mon, Tue, Wed, Thu, Fri, Sat, RunHour, ` |
622 |
| - 00Z, 01Z, 02Z, 03Z, 04Z, 05Z, 06Z, 07Z, 08Z, 09Z, 10Z, 11Z, 12Z, 13Z, 14Z, 15Z, 16Z, 17Z, 18Z, 19Z, 20Z, 21Z, 22Z, 23Z ` |
623 |
| - | ConvertTo-Html -PostContent "<h3>Ran on : $RunTime</h3>" -CSSUri "HtmlReport.css"| Set-Content $HTMLFileName |
624 |
| -#} |
| 616 | +$Skeds | select Folder, Report, State, RecurrenceType, RunTime, Weeks_Interval, Minutes_Interval, ` |
| 617 | +Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, ` |
| 618 | +Week_of_Month, Sun, Mon, Tue, Wed, Thu, Fri, Sat, RunHour, ` |
| 619 | +00Z, 01Z, 02Z, 03Z, 04Z, 05Z, 06Z, 07Z, 08Z, 09Z, 10Z, 11Z, 12Z, 13Z, 14Z, 15Z, 16Z, 17Z, 18Z, 19Z, 20Z, 21Z, 22Z, 23Z ` |
| 620 | +| ConvertTo-Html -PostContent "<h3>Ran on : $RunTime</h3>" -CSSUri "HtmlReport.css"| Set-Content $HTMLFileName |
| 621 | + |
| 622 | +# Script out the Create Subscription Commands |
| 623 | +Write-Output "Timed Subscription Create commands..." |
| 624 | +$mySubs = |
| 625 | +" |
| 626 | +USE [ReportServer]; |
| 627 | +
|
| 628 | +select |
| 629 | + 'exec CreateSubscription @id='+char(39)+convert(varchar(40),S.[SubscriptionID])+char(39)+', '+ |
| 630 | + '@Locale=N'+char(39)+S.[Locale]+char(39)+', '+ |
| 631 | + '@Report_Name=N'+char(39)+R.Name+char(39)+', '+ |
| 632 | + '@ReportZone='+char(39)+ convert(varchar,S.[ReportZone])+char(39)+', '+ |
| 633 | + '@OwnerSid='+char(39)+ '0x'+convert(varchar(max),Owner.[Sid],2)+char(39)+', '+ |
| 634 | + '@OwnerName=N'+char(39)+ SUSER_SNAME(Owner.[Sid])+char(39)+', '+ |
| 635 | + '@OwnerAuthType='+char(39)+ convert(varchar,Owner.[AuthType])+char(39)+', '+ |
| 636 | + '@DeliveryExtension=N'+char(39)+S.[DeliveryExtension]+char(39)+', '+ |
| 637 | + '@InactiveFlags='+char(39)+ convert(varchar,S.[InactiveFlags])+char(39)+', '+ |
| 638 | + '@ExtensionSettings=N'+char(39)+ replace(convert(varchar(max),S.[ExtensionSettings]),char(39),char(39)+char(39))+char(39)+', '+ |
| 639 | + '@ModifiedBySid='+char(39)+ '0x'+convert(varchar(max),Modified.[Sid],2)+char(39)+', '+ |
| 640 | + '@ModifiedByName=N'+char(39)+isnull(SUSER_SNAME(Modified.[Sid]),'')+char(39)+', '+ |
| 641 | + '@ModifiedByAuthType='+char(39)+ convert(varchar,Modified.AuthType)+char(39)+', '+ |
| 642 | + '@ModifiedDate='+char(39)+ convert(varchar, S.[ModifiedDate],120)+char(39)+', '+ |
| 643 | + '@Description=N'+char(39)+S.[Description]+char(39)+', '+ |
| 644 | + '@LastStatus=N'+char(39)+S.[LastStatus]+char(39)+', '+ |
| 645 | + '@EventType=N'+char(39)+S.[EventType]+char(39)+', '+ |
| 646 | + '@MatchData=N'+char(39)+ replace(convert(varchar(max),S.[MatchData]),char(34),char(39)+char(39))+char(39)+', '+ |
| 647 | + '@Parameters=N'+char(39)+ replace(convert(varchar(max),S.[Parameters]),char(39),char(39)+char(39))+char(39)+', '+ |
| 648 | + '@DataSettings=N'+char(39)+ replace(convert(varchar(max),isnull(S.[DataSettings],'')),char(39),char(39)+char(39))+char(39)+', '+ |
| 649 | + '@Version='+char(39)+ convert(varchar,S.[Version])+char(39) as 'ExecString' |
| 650 | +from |
| 651 | + [Subscriptions] S inner join [Catalog] CAT on S.[Report_OID] = CAT.[ItemID] |
| 652 | + inner join [Users] Owner on S.OwnerID = Owner.UserID |
| 653 | + inner join [Users] Modified on S.ModifiedByID = Modified.UserID |
| 654 | + left outer join [SecData] SD on CAT.PolicyID = SD.PolicyID AND SD.AuthType = Owner.AuthType |
| 655 | + left outer join [ActiveSubscriptions] A on S.[SubscriptionID] = A.[SubscriptionID] |
| 656 | + inner join [ReportServer].[dbo].[Catalog] R on S.Report_OID = r.ItemID; |
| 657 | +" |
| 658 | + |
| 659 | +if ($serverauth -eq "win") |
| 660 | +{ |
| 661 | + $SubCommands = Invoke-Sqlcmd -MaxCharLength 10000000 -ServerInstance $SQLInstance -Query $mySubs |
| 662 | +} |
| 663 | +else |
| 664 | +{ |
| 665 | + $SubCommands = Invoke-Sqlcmd -MaxCharLength 10000000 -ServerInstance $SQLInstance -Username $myuser -Password $mypass -Query $mySubs |
| 666 | +} |
| 667 | + |
| 668 | +# Script Out |
| 669 | +if ($SubCommands) |
| 670 | +{ |
| 671 | + New-Item "$fullfolderPathSUB\Timed_Subscriptions.sql" -type file -force |Out-Null |
| 672 | + |
| 673 | + foreach ($TSub in $SubCommands) |
| 674 | + { |
| 675 | + $TSub.ExecString | out-file -FilePath "$fullfolderPathSUB\Timed_Subscriptions.sql" -append -encoding ascii -width 500000 |
| 676 | + } |
| 677 | + |
| 678 | +} |
| 679 | + |
625 | 680 |
|
626 | 681 |
|
627 | 682 | # --------------------
|
|
0 commit comments