Script PowerShell sous Windows 2008 Server

mars 12, 2009 11:35 by Thierry

Introduction

Power Shell est la nouvelle interface de ligne de commande utilisé sur les plateformes Windows de dernière génération. Elle ajoute à l'invite de commande classique de nouvelle fonctionnalités basées sur le language objet et améliore l'automatisation des procéssus d'administration.

Installation de Power Shell sous Windows 2008

Entrer dans le panneau de configuration puis "Programmes et Fonctionnalités". Cliquer sur "Activer ou désactiver des fonctionnalités Windows".

 

Cliquer sur "Fonctionnalités",

 

Sélectionner la fonctionnalité "Windows Powser Shell" et cliquer sur "Suivant", puis "Installer",

Configurer les stratégies d'exécution de Power Shell

Il existe 4 stratégies d'exécution pour Power Shell sous Windows 2008 Server :

  • Restricted :
    • Saisie interactive de commandes dans la console -> Autorisé
    • Lancement de script -> Interdit
  • AllSigned :
    • Lancement de script "signés" -> Autorisé mais confirmation requise
  • RemoteSigned :
    • Les scripts locaux (signés ou non) -> Autorisé (Les scripts téléchargés doivent être obligatoirement signés)
    • Pas de confirmation lors de l'exécution d'un script
  • Unrestricted :
    • Aucune restriction

Par défaut, c'est la stratégie "Restricted" qui est en place sur un serveur Windows 2008 Server. Pour vérifier cette configuration, vous pouvez utiliser la commande "Get-ExecutionPolicy" (dans la console Power Shell).

Pour modifier la stratégie appliquée au serveur vous pouvez utiliser la commande "Set-ExecutionPolicy" suivi du mode désiré.

Le mode par défaut étant très restrictif il est nécessaire, voir obligatoire de modifier la stratégie native. Le mode "Unrestricted" est a mon avis trop dangereux pour être activé, il reste donc à faire son choix entre le mode "AllSigned" et "RemoteSigned" suivant vos exigences en terme de sécurté.

Bon scripting...


Soyez le premier à noter ce billet

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Copier Coller .NET / Open Office

janvier 14, 2009 17:29 by Jeremy

Le copier coller dans les applications .NET est extremement simple à mettre en place.

Le code d'un copier coller d'une image se coderait ainsi en .NET :  Clipboard.SetData(DataFormats.Dib,MonImage);

Mais il peut arriver que certaines applications cibles ne le prennent pas en compte. Par exemple le copier coller vers open office est assez étrange. En effet avec les methodes classique de copier/Coller du .NET il n'est pas possible de le réaliser. En se baladant ici on peut voir que beaucoup de personnes rencontrent ce problème. Pour exemple, il suffit d'utiliser un logiciel tel que Paint .NET, de selectionner un contenu et de le recopier dans Open Office.

Pour contourner ce  probleme, il suffit de faire comme suit:

   System.Collections.Specialized.StringCollection Maliste = new System.Collections.Specialized.StringCollection();
           Maliste.Add(MonImage); // MonImage represente le chemin complet vers l'image 
           Clipboard.SetFileDropList(Maliste);

 Et voila. Le tout fonctionnant a merveille. L'inconvénient dans cette solution est qu'il faut recopier un copie de l'image sur le disque dur pour pouvoir la mettre en tant que lien dans le ClipBoard. Mais c'est un inconvénient minime en comparaison a ce que l'on peut en retirer.

 


Soyez le premier à noter ce billet

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Un petit tour au pays merveilleux de SSIS ...

novembre 18, 2008 19:12 by Franck

cet article se veut le premier d'une série consacrée à SQL Server 2005 et particulièrement la plateforme Integration Services. Ce billet est basé sur SQL Server 2005, mais bien évidemment, SQL Server 2008 reste au rendez-vous.

Juste pour mémoire, Integration Services inclus un outil graphique de construction de packages qui vont avoir pour vocation de mener des opérations d'intégration et de transformation de données. Le sujet du jour s'intéresse à un élément de transformation du flux de données qu'est "l'extraction de terme".

Si on travaille par exemple sur une application de gestion d'incidents, l'équipe support va saisir au fur et à mesure de ses interventions, des informations non structurées concernant les incidents. Le manager de cette équipe, va être intéressé dans ses attributions, par les éléments qui reviennent le plus souvent dans ces incidents (les produits, les modules, les personnes, etc ...). Pour aider notre manager dans son travail d'analyse, SSIS dispose d'un outil adapté, le fameux "extracteur de termes".

Sur différents critères, l'extracteur de terme va fournir une liste de termes, de phrases, avec pour chacun, un score d'occurence. Le manager pourra par exemple ainsi savoir que le terme "Microsoft Office" apparaît en tête de liste des termes les plus utilisés par les opérateurs du support.

alors comment ça marche ?

Pour l'exemple, utilisons simplement une table qui contient un champ "description" dans lequel les opérateurs ont saisi de manière non structurée les informations de support.

Notre package SSIS est très simple, il ressemble à ceci :

Le package est bien sûr composé d'une source de données, dont le flux va se déverser dans notre fameux "extracteur de termes". A noter au passage la conversion de données, due au fait que notre extracteur ne fonctionne qu'avec des types de données DT_WSTR ou DT_NTEXT.

Le paramétrage de l'extracteur de terme est relativement simple, il suffit de cocher le champ sur lequel va fonctionner l'extracteur. On peut par ailleurs enrichir notre extracteur en spécifiant dans l'onglet "exclusion" les termes qui devront être ignorés, ceux-ci étant positionné dans une autre source de données (base SQL, Excel, etc).

le flux est ensuite déversé dans notre exemple dans un fichier texte, mais on peut imaginer d'enchaîner des traitements beaucoup plus complexes de réaction par rapport à des niveaux n'occurence critique ou autre.

 

Pour plus de détails sur cet outil, n'oubliez pas MSDN : http://msdn.microsoft.com/en-us/library/ms141809(SQL.90).aspx

 


Soyez le premier à noter ce billet

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Ajouter un pack de langue dans Windows 2008

octobre 28, 2008 19:18 by Thierry

L'ajout de pack de langue sous Windows 2008 a évolué par rapport aux versions précédentes.

Sous Windows 2003 Server, l'installation d'un pack se traduisait par le lancement d'un exécutable associé. Sous Windows 2008 Server l'utilitaire d'ajout est incorporé au système.

Les pack de langue pour Windows 2008 Server sont disponibles sur le site Microsoft à l'adresse : http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=e9f6f200-cfaf-4516-8e96-e4d4750397ff

Pour lancer l'utilitaire, exécuter la commande "lpksetup"

Cliquer sur "Install languages",

Sélectionner le dossier ou sont disposés les fichiers de langue (.cab), les différentes langues disponibles apparaitront.

Cliquer sur Next puis Install,

L'installation est terminée... reste a choisir votre langue d'affichage par défaut (fermeture de session).

Pour effectuer le changement de langue pour le clavier il faut entrer dans les options régionales.

 


Actuellement noté 4.0 par 3 personne(s)

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Migration de base Citrix IMA sur un autre serveur SQL Server

octobre 24, 2008 10:29 by Thierry

La migration d'une base Citrix IMA peut être nécessaire lors de renouvellement de materiel ou réorganisation de l'architecture technique. Dans ce billet nous allons découvrir pas à pas les tâches à exécuter afin de réaliser cette migration.

Pour commencer, rechercher le fichier "MF20.DSN" qui se trouve dans le répertoire "%systemroot\Program Files\Citrix \Independant Management Architecture\". Ce fichier intègre les paramètres de connexion à la base de donnée Citrix IMA. Voici un exemple de fichier :

[ODBC]
DRIVER=SQL Server
UID=Administrateur
Trusted_Connection=Yes
DATABASE=DATASTORE-CPS
WSID=CPS1
APP=Citrix IMA
SERVER=SQL1\CPS

Suivre les intructions suivantes pour la migration : 

1. Modifier les informations "SERVER" et "DATABASE" du fichier "MF20.DSN" afin de pointer vers votre nouvelle base de données.

2. Exécuter la commande dsmaint config [/user:<DOMAINE/Utilisateur] [/pwd:<password>] [/dsn:<filename>] Pour le paramètre dsn, indiquer le chemin complet : "%systemroot\Program Files\Citrix \Independant Management Architecture\MF20.DSN". La commande doit vous retourner "connexion à réussie" et "paramètres appliqués".

3. Arreter et redémarrer le service "CITRIX IMA".

 

4. Exécuter les opération 1 à 3 sur tous les serveurs de la ferme.

Si vous modifier le nom du fichier MF20.dns vous pouvez consulter la modification dans la base de registre HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\DataSourceName . 


Actuellement noté 5.0 par 4 personne(s)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Equadex.Team.NbCertifications += 4;

octobre 22, 2008 16:59 by ppmax
Ces deux derniers jours ont été très fructueux pour les membres d’Equadex : 4 certifications de plus dans deux domaines différents : le développement Web (70-528) et le développement Windows (70-526). Les 4 certifiés sont :
  • Anthony ALLEBEE (70-526)
  • Pierre PETTERA (70-528)
  • Magalie SANSUS (70-526)
  • Jérémy TYRIAUX (70-528)
Poursuivons nos efforts, le titre de MCPD n'est pas loin ! En attendant... champagne !

Actuellement noté 5.0 par 6 personne(s)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Gestion d'erreur d'application

octobre 8, 2008 14:52 by Jeremy

Dans le cadre d’un développement d’une application, on essaie tant bien que mal de gérer l’ensemble des exceptions qui peuvent survenir lors de l’utilisation d’une application. Cependant, nous ne sommes jamais à l’abri de l’utilisation hasardeuse que peut avoir l’utilisateur lambda (pour pas dire béta).

Aussi, il n’est pas rare de voir apparaitre ce genre de message assez agaçant pour le développeur, car il ne peut rien faire d’autre que de subir le message « banal » de Windows.

 

Cependant, il existe une parade à ce message.

En effet, il serait fort intéressant de pouvoir personnaliser ce message pour le rendre plus attractif, ou tout simplement de masquer ce message pour faire croire à l’utilisateur que tout marche pour le mieux. Nous verrons la première approche, car Windows de base connait très bien la seconde approche.

 

namespace WindowsApplication5
{
    static class Program
    {
        /// <summary>
        /// Point d'entrée principal de l'application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
        /// <summary>
        /// Methode de gestion de l'erreur
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
        {
            //On affiche ici la fenetre personnalisée
            FRM_Erreur maForm = new FRM_Erreur();
            maForm.ShowDialog();
        }
    }
}

Il suffit donc de s’abonner à l’evenement d’erreur de l’application. Cet evenement sera levé lorsqu’une erreur non gérée sera apparue.

FRM_Erreur dans ce cas, sera une simple fenetre montrant un label. Il peut tout a fait etre envisageable de faire passer l’exception a la fenetre pour afficher un detail de l’erreur.

Bon tres bien, nous avons donc une erreur qui est geré. Suite à cette gestion, on peut facilement imaginer des améliorations possibles  : Envoyer un mail à l'administrateur pour l'avertir du probleme, Faire une impression écran du moment de l'erreur pour l'envoyer avec le mail (pour que l'administrateur puisse reproduire la suite d'action qui a pu amener au problème). Mais tout ceci est une autre histoire Wink

 

 


Actuellement noté 4.2 par 6 personne(s)

  • Currently 4,166667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

La messagerie base de données SQL Server 2005

octobre 1, 2008 12:45 by Franck
Microsoft SQL Server 2005 intègre un outil fort intéressant qui permet de planifier des travaux plus ou moins complexes sur les bases de données. C'est fort pratique, il n'est plus nécessaire de le faire à la main, et on peut faire appel à des tâches SSIS... que du bonheur ... En revanche, ce qui serait bien, ce serait de ne pas avoir à consulter manuellement l'historique des logs, mais d'être automatiquement averti en cas de problème (ou pas) pour réagir en fonction... Heureusement, le database mail est là !

Le database mail, késako ?

 

On envoie un mail tout simplement pour dire  que la tâche est terminée, et surtout lorsqu'elle s'est terminée par un échec...  Alors comment faire ?

Première étape : configurer la messagerie base de données   

Au préalable, l'utilisateur doit avoir le rôle SYSADMIN :

Ensuite, on peut lancer le wizard de configuration du database Mail :

 

Le wizard propose une série d'étapes, la première option permet de configurer la messagerie dans son ensemble.

 

Bien sûr si le composant de messagerie de base de données n’est pas activé, il faut le faire ….

Ensuite, la configuration continue par la configuration d’un compte de messagerie qui sera chargé d’envoyer les alertes par mail.Un compte de messagerie contient toutes les informations nécessaires à SQL Server pour envoyer les mails via un serveur SMTP.

Ensuite le profil …

Un profil est une liste triée de comptes. C’est le profil qui va être utilisé dans SQL Server Agent pour envoyer les alertes.

 Les paramètres par défaut de la configuration du système …

Le récapitulatif qui va bien …

et le finish …

 

 

 

Deuxième étape : configurer SQL Server Agent

L’étape suivante consiste à indiquer à SQL Server Agent, au niveau du système d’alerte, d’activer le profil de messagerie de base de données, et de sélectionner celui qui a été créé précédemment.

Ensuite sur la tâche SQL Server Agent, on va spécifier quelle est la personne à qui le profil de messagerie doit envoyer le mail. Le Database mail permet d’en envoyer à des opérateurs. S’il n’existe pas déjà, il faut donc créer un opérateur :

 

et enfin, indiquer ensuite au travail SQL Server Agent, l’envoyer une notification à l’opérateur lors de l’échec du travail.

 

Conclusion

Il s’agit d’une utilisation basique du database Mail à des fin d’administration ou de gestion, mais au-delà de cela, il s’agit d’une réelle solution d’entreprise permettant aux applications base de données d’envoyer des mails aux utilisateurs : résultats d’une requête, des fichiers, etc … On peut très bien imaginer tout un tas d’applications pratiques dans les solutions courante de gestion :

  • envoi une alerte avec un résumé à un responsable commercial, lorsqu’un devis est édité avec un prix de vente en dessous des seuils autorisés,
  • Un seuil de vente est atteint et génère une alerte particulière avec en pièce jointe un tableau de bord,
  • ...

 


Actuellement noté 4.3 par 4 personne(s)

  • Currently 4,25/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Ouverture du blog !

septembre 25, 2008 10:25 by Franck

Vous le vouliez, vous l'avez !

Le blog est enfin ouvert, il vous permettra d'étaler votre expertise pour épater vos collègues, et surtout n'oubliez pas, un bug ou blague douteuse = 1 article, 5 articles = 1 BDC ... et puis si vous en êtes d'accord, on garde quand même la BDC pour évènement exceptionnel ...

A vos keyboards !

 


Actuellement noté 3.3 par 11 personne(s)

  • Currently 3,272727/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5