Advertisement
Guest User

Untitled

a guest
Oct 25th, 2014
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. $reportserver = "myServer"
  2. $url = "http://$($reportserver)/reportserver/reportservice2005.asmx?WSDL"
  3. $ssrs = New-WebServiceProxy -uri $url -UseDefaultCredential
  4.  
  5. $proxyNamespace = $ssrs.GetType().Namespace
  6.  
  7. $myDataSource = New-Object ("$proxyNamespace.DataSource")
  8. $myDataSource[0].Name = "myDS"
  9. $myDataSource[0].Item = New-Object ("$proxyNamespace.DataSourceReference")
  10. $myDataSource[0].Item.Reference = "/Data Sources/MyDS"
  11.  
  12. $reports = $ssrs.ListChildren('/DH', $false)
  13.  
  14. $reports | ForEach-Object {
  15. $reportPath = $.path
  16. Write-Host "Report: " $reportPath
  17. $dataSources = $ssrs.GetItemDataSources($reportPath)
  18. $dataSources | ForEach-Object {
  19. Write-Host "Old source: $($.Name), $($.Item.ConnectString)"
  20. $ssrs.SetItemDataSources($reportPath, @($myDataSource))
  21. Write-Host "New source: $($.Name), $($_.Item.ConnectString)"
  22. }
  23.  
  24. Write-Host "------------------------" }
  25.  
  26. cls;
  27.  
  28. #Set variables:
  29. $reportserver = "myServer";
  30. $newDataSourcePath = "/Data Sources/MyDS"
  31. $newDataSourceName = "MyDS";
  32. $reportFolderPath = "/DH"
  33. #------------------------------------------------------------------------
  34.  
  35. $ssrs = New-WebServiceProxy -uri $url -UseDefaultCredential
  36.  
  37. $reports = $ssrs.ListChildren($reportFolderPath, $false)
  38.  
  39. $reports | ForEach-Object {
  40. $reportPath = $_.path
  41. Write-Host "Report: " $reportPath
  42. $dataSources = $ssrs.GetItemDataSources($reportPath)
  43. $dataSources | ForEach-Object {
  44. $proxyNamespace = $_.GetType().Namespace
  45. $myDataSource = New-Object ("$proxyNamespace.DataSource")
  46. $myDataSource.Name = $newDataSourceName
  47. $myDataSource.Item = New-Object ("$proxyNamespace.DataSourceReference")
  48. $myDataSource.Item.Reference = $newDataSourcePath
  49.  
  50. $_.item = $myDataSource.Item
  51.  
  52. $ssrs.SetItemDataSources($reportPath, $_)
  53.  
  54. Write-Host "Report's DataSource Reference ($($_.Name)): $($_.Item.Reference)"
  55. }
  56.  
  57. Write-Host "------------------------"
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement