none
Wie kann man die Email Konfiguration bei SQL Server Reporting Services automatisieren? RRS feed

  • 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

    Donnerstag, 6. September 2012 11:21

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!";


    Olaf Helper
    Blog Xing


    • Bearbeitet Olaf HelperMVP Donnerstag, 13. September 2012 07:40
    • Als Antwort markiert Dirk Hondong Donnerstag, 13. September 2012 07:54
    Donnerstag, 13. September 2012 07:38

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

    Montag, 10. September 2012 09:55
    Beantworter
  • 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

    Dienstag, 11. September 2012 17:36
  • 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.


    Olaf Helper
    Blog Xing

    Mittwoch, 12. September 2012 09:52
  • 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

    Mittwoch, 12. September 2012 12:45
  • 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!";


    Olaf Helper
    Blog Xing


    • Bearbeitet Olaf HelperMVP Donnerstag, 13. September 2012 07:40
    • Als Antwort markiert Dirk Hondong Donnerstag, 13. September 2012 07:54
    Donnerstag, 13. September 2012 07:38
  • Bulls-Eye!

    Ich denke, damit kann ich nun wirklich was anfangen.

    Werde ich definitiv ausprobieren.

    Vielen Dank.

    Gruß und schönes WoEnde

    Dirk


    May you never suffer the sentiment of spending a day without any purpose

    Donnerstag, 13. September 2012 07:54