Benutzer mit den meisten Antworten
Wie kann man die Email Konfiguration bei SQL Server Reporting Services automatisieren?

Frage
-
Hallo zusammen,
nun muss ich auch mal eine Frage loswerden.
Wie kann ich relativ problemlos SSRS (NICHT Sharepoint integriert) konfigurieren, um Email-Abos von Reports zu ermöglichen? Mein Problem ist, dass ich nicht nur ein oder zwei, sondern 100+ Server konfigurieren muss (bitte keine Fragen zur Infrastruktur).
Wahrscheinlich bietet sich hier eine Powershell-Lösung an. Aber ich hab noch keinerlei Beispiele gefunden, ausgenommen wenn die SSRS mit Sharepoint zusammen "spielen".
Ich freue mich über jeden Tipp.
Gruß Dirk
May you never suffer the sentiment of spending a day without any purpose
Antworten
-
Ich liebe PowerShell !! Wenn ich das .Net Beispiel aus der Msdn mit den paar Zeile PoSh Script vergleiche ... wie Tag und Nacht.
Hier ein Beispiel Skript; für den Einsatzfall, das in den Einstellungen nur der Smtp-Server geändert, die Email Adresse aber so bleiben soll. Funktioniert und ist ruck-zuck durchgelaufen:
# Configuration Settings: [String] $serverName = "MeinServerName"; [String] $instanceName = "MeinInstanzenName"; [String] $version = "v10"; # v9 = 2005, v10 = 2008/R2, v11 = 2012 [String] $wmiNamespace = "root\Microsoft\SqlServer\ReportServer\RS_$instanceName\$version"; [String] $rsNamespace = $wmiNamespace + "\Admin"; Clear-Host; $cfg = Get-WmiObject ` -namespace $rsNamespace ` -class "MSReportServer_ConfigurationSetting" ` -ComputerName $serverName; Write-Host $cfg.SMTPServer $cfg.SenderEmailAddress; $emailOld = $cfg.SenderEmailAddress; $result = $cfg.SetEmailConfiguration($true, "NeuerSmtpServer", $emailOld); if ($result.HRESULT -eq 0) { Write-Host "Erfolgreich" } else { Write-Host "Fehler!" -BackgroundColor Red } Write-Host "Fertig!";
- Bearbeitet Olaf HelperMVP Donnerstag, 13. September 2012 07:40
- Als Antwort markiert Dirk Hondong Donnerstag, 13. September 2012 07:54
Alle Antworten
-
Hallo Dirk,
da findet man nicht viel zu!
Die Konfiguration (RSReportServer.config) wird hier beschrieben:
http://technet.microsoft.com/en-us/library/ms159155.aspx
Configure a Report Server for E-Mail Delivery (Reporting Services)
bzw. auf deutsch:
http://technet.microsoft.com/de-de/library/ms159155.aspx
Konfigurieren eines Berichtsservers für die E-Mail-Übermittlung (Reporting Services)Anscheinend müssen immer alle Tags vorhanden sein und einfach die ganze Datei auf einen anderen Server kopieren geht natürlich auch nicht.
HTH!
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu -
Hallo,
hat der Beitrag von Christoph weitergeholfen?
Gruss,
RaulRaul Talmaciu, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
Hallo zusammen,
zumindest bin ich ein klein wenig schlauer geworden.
Ich verfahre nun nach dem Prinzip "keep it simple".
Bis dato sind die SSRS ja gänzlich ohne EmailSettings konfiguriert.
Die Einträge, die ich benötige, sind aber nur zwei Tags. Ergo werde ich mit einem Powershellscript die config Datei vorher sichern (just to be sure), dann öffnen, einen String Replace machen und die Datei dann wieder wegschreiben. Ein erster kleiner Test heute sah schon vielversprechend aus.
Gruß Dirk
May you never suffer the sentiment of spending a day without any purpose
-
Hallo Dirk,
ich habe zwar nur ein paar wenige Instanzen, die man auch noch manuell managen kann, aber das hatte ich nun auch interessiert. Über den SSRS Configuration Manager kann man die SMTP Einstellung ja nun auch Remote ändern und dabei erfolgt kein File-Zugriff auf die Config Dateo, also muss es eine Schnittstelle geben.
Zunächst dachte ich an die SOAP API, aber die stellt "nur" Funktion bereit, die es im Report Manager gibt. Dafür geht es aber über WMI und zwar über die MSReportServer_ConfigurationSetting Class. In den Methoden findest Du die SetEmailConfiguration Method, über der man die Einstellung vornehmen kannst.
Wenn mal Zeit ist, erstelle ich dazu ein PowerShell Skript ... es sei denn, Du bist schneller.
-
Hi Olaf,
danke für den Tipp. Falls ich noch etwas Zeit finde, werde ich mir die Sache noch mal anschauen. Meine derzeitige Lösung ist, wie schon erwähnt, etwas einfacher gestrickt und ich hab auch noch nicht getestet, ob Abonnements nun schon möglich sind.
Kann ja sein, dass ich doch noch auf die WMI Lösung zurückgreifen muss.
Gruß Dirk
May you never suffer the sentiment of spending a day without any purpose
-
Ich liebe PowerShell !! Wenn ich das .Net Beispiel aus der Msdn mit den paar Zeile PoSh Script vergleiche ... wie Tag und Nacht.
Hier ein Beispiel Skript; für den Einsatzfall, das in den Einstellungen nur der Smtp-Server geändert, die Email Adresse aber so bleiben soll. Funktioniert und ist ruck-zuck durchgelaufen:
# Configuration Settings: [String] $serverName = "MeinServerName"; [String] $instanceName = "MeinInstanzenName"; [String] $version = "v10"; # v9 = 2005, v10 = 2008/R2, v11 = 2012 [String] $wmiNamespace = "root\Microsoft\SqlServer\ReportServer\RS_$instanceName\$version"; [String] $rsNamespace = $wmiNamespace + "\Admin"; Clear-Host; $cfg = Get-WmiObject ` -namespace $rsNamespace ` -class "MSReportServer_ConfigurationSetting" ` -ComputerName $serverName; Write-Host $cfg.SMTPServer $cfg.SenderEmailAddress; $emailOld = $cfg.SenderEmailAddress; $result = $cfg.SetEmailConfiguration($true, "NeuerSmtpServer", $emailOld); if ($result.HRESULT -eq 0) { Write-Host "Erfolgreich" } else { Write-Host "Fehler!" -BackgroundColor Red } Write-Host "Fertig!";
- Bearbeitet Olaf HelperMVP Donnerstag, 13. September 2012 07:40
- Als Antwort markiert Dirk Hondong Donnerstag, 13. September 2012 07:54