Articles Tagués ‘Powershell’

Envoyer des mails depuis SSRS en mode NTLM

6 octobre 2011

imageDans mes sujets en brouillon, il y avait la configuration de l’envoi de mail depuis SSRS via un SMTP n’autorisant pas l’accès anonyme (ie. utilisant l’authentification NTLM ou Kerberos).

A chaque fois que j’ai eu à mettre en œuvre les abonnements Reporting Services, je demandais juste à l’admin :

Il me faut du relaying SMTP depuis tel serveur.

Dernièrement, j’ai eu à le faire en partie moi-même et, cerise sur le gâteau, le relaying anonyme (ie. identification implicite via la topologie réseau) n’était pas autorisé.

Pour la configuration SSRS, Fabrice Romelard a très bien expliqué la procédure la semaine dernière.

Le post est ici :

Fabrice Romelard : SQL Server Reporting Services – Activer l’envoi de message nécessitant l’authentification sur le serveur SMTP

Si vous n’avez que 2 mots-clés à retenir, ce sera :

  • rsreportserver.config
  • SMTPAuthenticate=2

Je vais quand même ajouter mon petit plus ;)

Si votre administrateur Exchange vous dit qu’il ne sait pas ajouter le relaying SMTP sur son Exchange (ou que vous souhaitez briller lors d’un diner geeko-mondain), voici la cmdlet Powershell à exécuter.

New-receiveConnector –Name RelayConnector –usage Custom –Bindings '<ip>:25' –fqdn <serveur>.domain.local –RemoteIPRanges '<ip-start>-<ip-end>;' –AuthMechanism 'None' 

La cmdlet ajoute une interface que vous pouvez configurer pour filtrer les IP, le mode d’authentification, etc.

Obtenir les métadonnées d’un cube via PowerShell

13 mai 2010

Cas pratique : obtenir la liste des attributs des dimensions leurs caractéristiques et leurs croisements avec les groupes de mesures (sous format exploitable type Excel évidemment).

Une solution pragmatique eut été d’affecter un stagiaire à cette tâche et de lui demander de prendre le projet et de tout transcrire dans un fichier Excel.
Mais, évidemment, je n’ai pas pour habitude de procéder de la sorte et j’avais besoin de la liste très rapidement.

Je me suis donc tourné vers PowerShell car je sais qu’il y a une extension pour SQL Server et plus précisément pour Analysis Services.

Ce billet n’a pas pour but de vous apprendre PowerShell mais de vous montrer les commandes utiles pour fouiller dans SSAS.

Pour commencer, il faut charger les commandes SSAS :

[Reflection.Assembly]::LoadWithPartialName
("Microsoft.AnalysisServices")

Ensuite, on se connecte au serveur (vous noterez que j’utilise des variables – $server, $cubeid, etc.)

$server = New-Object Microsoft.AnalysisServices.Server
$server.connect($servername)

Ensuite, on récupère le cube dans la bonne base de données

$cube = $server.Databases.Item($database).Cubes.Item($cubeid)

Enfin, je n’ai plus qu’à itérer sur les groupes de mesures pour récupérer les données

foreach ($mg in $cube.MeasureGroups)
{
    foreach ($dim in $mg.Dimensions) {
        foreach ($attr in $dim.CubeDimension.Attributes) {
            $row = $mg.Name + ‘,’+
             $mg.ID + ‘,’+
             $dim.Dimension.Name + ‘,’ +
             $dim.Dimension.ID + ‘,’ +
             $dim.GetType().ToString()
            $row | out-file -append $filename
        }
    }
}

Le modèle objet d’Analysis Services n’est pas compliqué même si ce n’est pas trivial non plus.
Vous pouvez trouver des informations sur ce modèle dans la MSDN ici : http://msdn.microsoft.com/fr-fr/library/microsoft.analysisservices.cube(v=SQL.105).aspx


Suivre

Get every new post delivered to your Inbox.

Joignez-vous à 203 followers