Publier signature Outlook avec les informations AD (suite)

Vous avez été nombreux à visiter la page “Signature Outlook avec informations de l’AD” de synergeek. Cet article était basé sur le script original du site Nalex.
Avec le passage à Office 2013, et à Windows 8 ou 8.1, il y a eu besoin d’apporter quelques modifications au script que j’avais publié comme aux modèles de signatures.

Je n’ai toujours pas trouvé à ce jour comment forcer l’utilisation d’une signature dans Outlook 2013. Dans la version 2010, il fallait changer une clé de registre mais en 2013, que nenni! Si quelqu’un sait comment faire, allez-y, postez un commentaire.

J’utilise ce package en entreprise et la publication se fait aussi bien vers des machines d’XP à Windows 8.1.; donc aussi bien sur de l’Office 2010 que 2013.

Ce qui a changé dans cette version :

  • Possibilité de publier plusieurs signatures. Par exemple une signature pour les messages en interne et une pour les messages publics.
  • Séparation du prénom et du nom,
  • Ajout du titre venant de l’AD,
  • Ajout d’un préfixe et d’un suffixe au tel mobile et à l’Email. Comme ceci si par exemple un membre à un Mobile, il apparaît avec l’icône, sinon, rien n’apparaît.
  • Comme la cible du script est Outlook, les préfixes dans le format HTML de la signature sont “signés” Office (utilisation des ‘if vml’). Du coup, les images s’affichent pour les destinataires même s’ils définissent ne pas afficher les images dans les messages. Et puis, en cas de transfert du message, les images de la signature restent.
  • Le déroulement du script renvoi un peu plus d’informations à l’écran. C’est mieux pour le debug 😉
  • Détection de Windows 8 et de la version 15 d’Office
  • Ajout du fichier “script.bat”. C’est ce fichier qui sera exécuté par une GPO lors de l’ouverture de la session. Celui-ci créé une unité logique le temps de la mise en place des signatures.

Je poste donc le nouveau zip que vous saurez adapter à vos besoins, c’est sûr. Il contient le batch, le dossier des images et la signature aux formats HTML, RTF et texte.

Télécharger le package

 

A propos Martial Auroy

Mon goût pour les défis et pour la création m’ont amené à la direction de trois services informatiques. Dans le domaine industriel, dans la gestion de production, dans les ressources humaines et la paie. Créatif et Ingénieur de formation, j’ai pu développer et mettre en place des systèmes informatiques divers. Gestion de paies internationale, appareils de mesure dans les ateliers de l’aérospatiale ou des robots pour la fabrication de cosmétiques. Le Web m’est bien connu. La sécurité et la communication ont toujours été parties intégrantes des projets mis en place : Sécurité d’intrusion, d’accès et de traçabilité. Je suis curieux et toujours à la recherche de connaissance. J’aime le cinéma, la philosophie, voyager.

Je vous propose également...

Supprimer une boite partagée avec outlook 2010 ou 2013 (environnement Exchange)

Après avoir fait une délégation de boîte aux lettres sur le serveur Exchange avec Accès …

Signature HTML dans Mail Mac OS X Mavericks

Les méthodes changent entre les différentes version d’OS Apple pour intégrer une signature html dans …

46 commentaires

  1. Bonjour, très bon boulot.
    Par contre, j’ai un souci sur la copie du folder (ligne 196 : path no found) et ligne 212 :
    strUserInfo = getStrUserInfo()
    result = replaceLdapUserInfoInFile(strUserInfo, htlmFile, htmlFileDest, tVariables,”HTML”, signatureName)
    result = replaceLdapUserInfoInFile(strUserInfo, rtfFile, rtfFileDest, tVariables,”RTF”,signatureName)
    result = replaceLdapUserInfoInFile(strUserInfo, txtFile, txtFileDest, tVariables,”TXT”,signatureName)

    qui me retourne : getStrUserInfo

    Une idée ?
    Merci

    • Bonjour et merci du bon boulot.
      Ce script est un peu ancien et je l’avais fait pour Windows 7 et Office 2010. Avec Office 2013, le dossier HTML, TXT et RTF existaient encore. Mais à partir de la version 2016, les signatures ne sont plus dans les mêmes dossiers et le script ne fonctionne plus.
      Le souci du repertoire vient probablement du fait que la fonction getStrUserInfo = ADSysInfo.UserName retourne rien. A voir côté AD.
      cdt
      Martial

  2. Bonjour,

    Merci pour ce script qui vient palier un manque de fonctionnalité dans la messagerie outlook.
    J’ai téléchargé la signature 2013 et mon environnent est sous W7 / W8 / et W10.
    J’ai rajouté 2 lignes pour adapter le script à windows 10.
    1) if InStr(1,strResultat,”10″) >0 then GetOsName=”TEN”
    2) case “TEN”,”EIGHT”,”SEVEN”, “VISTA”:

    Le script fonctionne jusqu’à la ligne 194 caract 3
    call objFSO.CopyFolder (RepSource, RepCible ,TRUE)

    Les dossiers sont bons, le répertoire où doivent être copiés les fichiers est bien créé mais la copie ne se fait pas.

    Merci d’avance pour la solution.

    • l’erreur rencontrée est la suivante : 800A004C (pbm ligne 194 carac 3)

      • Bonjour,
        Je ne me souviens plus trop comment est fait ce script mais très probablement que objFSO vaut null au moment de l’erreur.

        • Merci pour la réponse, ayant un profile système et réseau, je ne suis pas calé en VBS. Comment savoir si la valeur est null et comment puis je corriger cela dans le script?
          Il me détecte sans problème la version OS et oulook 2016 puis toutes les étapes précédentes.
          Cdlt.

  3. Bonjour,
    Merci pour ce script qui reste toujours d’actualité.

    J’ai pu l’adapter à Windows 10 en ajoutant :

    if InStr(1,strResultat,”10″) >0 then GetOsName=”TEN”
    et plus bas case “TEN”,”EIGHT”,”SEVEN”, “VISTA”:

    Par contre je rencontre une erreur à la ligne 194 a savoir :” call objFSO.CopyFolder (RepSource, RepCible ,TRUE) ” erreur: chemin d’accès introuvable; code 800A004C

    La signature ne se créée pas. Le répertoire est bien créé mais reste vide.
    Si vous avez une idée pour solutionner le problème, je suis preneur. J’ai cherché sur le net mais n’étant pas développeur c’est un peu difficile.

    Merci pour votre aide.

    Stéphane.

    • Bonjour,

      J’ai remplacé la ligne par ces instructions trouvé dans un autre script sur internet:
      ‘Déclaration d’un objet FSO
      Dim oFSO
      Set oFSO = CreateObject(“Scripting.FileSystemObject”)

      ‘Copie
      oFSO.CopyFolder “dossier_source”, “dossier_dest”

      Il ne me reste plus que le logo à faire afficher. carré blanc à la place avec croix rouge alors que le fichier est bien dans le repertoire signature.

      cdlt.

  4. Bonjour,

    Le lien est KO.

  5. Bonjour et merci pour ce super script !!

    Par contre une petite question, je n’ai pas trouvé la zone ou l’on peut préciser quelle signature utiliser en inter et/ou en externe ni comment cela se paramétrait…

    Vous pourriez éclairer ma lanterne ?

    Merci d’avance !!!

    • Bonsoir, En effet il n’y en a pas. Je n’ai pas trouvé où mettre cette information. Dans une version antérieure, on faisait une modification d’une clé de registre, mais là, je sèche.
      Si jamais vous trouvez, ce serait sympa de partager ici.
      Martial

  6. Bonjour,

    Merci pour ce super outil!

    Je le teste sous Windows 10 x64pro et Office 2016.

    Le script détecte tout sauf l’OS.

    Est-ce un résultat attendu sous W10?

    Merci d’avance

    • Petit up:

      En placant tel quel les fichiers dézipés du zip “SignatureOutlook2013” téléchargé ici dans le \\mondomaine\netlogon, j’obtiens:
      – sous seven une erreur 800A004C (pbm ligne 193 carac 3)
      – sous ten il ne voit pas la version de l’OS (même si ajouté la variable dans le script) et donc ne copie pas les modèles de signature dans le dossier signature en local sur le pc

      Merci d’avance pour vos idées/solutions

  7. Bonjour
    Merci pour le script, qui est vraiement super pratique. J’ai trouvé pourquoi le fichier txt n’est pas créé correctement:
    il faut modifier l’encodage du fichier model pour le mettre en ANSI.
    Après, c’est ok.

  8. Bonjour

    Nous avons un souci uniquement avec le txt qui ne génère pas les informations mais garde les variables AD (#NOM#….ect)

    La seule solution pour le moment est ensuite de retourner dans l’onglet signature dans outlook et de refaire une modification pour l’enregistrer ce qui modifie les 3 formats.

    Avez vous le même problème pour le format txt ?

    Cordialement

  9. Bonjour

    Tout fonctionne parfaitement sauf la signature en TXT.

    Lorsque je réponds à un message qui est d’origine au format txt brut, il apparait les #NOM# #PRENOM# plus tôt que les informations provenant de l’AD

  10. Bonjour,

    je suis débutant et je ne comprends pas où il faut placer le dossier SignatureOutlook2013,

    existe il une procédure?

    Merci beaucoup

    • Bonjour,
      Non, pas de procédure, et le dossier doit se trouver dans un partage réseau accessible par les utilisateurs qui exécuteront le script. Dans le cas d’une Policy de l’AD, ce serait probablement dans le dossier sysvol ou netlogon du contrôleur de domaine.

    • bonjour lorsque vous installer le dossier ya til des parrametre a modifier dans le code.

      bref j ai deja un model de signaue a mette sur pied. ou doi je modifier et commet le faire

  11. Bonjour
    Ce script est bien pensé j’ai juste un problème …
    Lors de la création de signature, le script me remplace tout les éléments au format html, rtf mais pas au format txt …
    Je me retrouve avec un fichier .txt vide ?
    J’ai un retour d’erreur sur la ligne “objFile.WriteLine strText”
    Quelqu’un a eu la même erreur ???

    • Bonjour à tous,

      Tout d’abord, un grand merci pour ce script !

      Pour répondre au problème du fichier txt vide, pour ma part, j’ai dû recréer manuellement ce fichier, idem pour les images.
      Peut-être que ces fichiers ont été corrompu lors de la création de l’archive .zip.

      Espérant que cela vous permettra d’avancer…

  12. Salut,
    Pour modifier les signatures par défaut dans Outlook 2013, il faut :
    S’assurer que la nouvelle signature a été créée dans le dossier des signatures d’outlook.
    Supprimer la clé de registre:
    HKCU\Software\Microsoft\Office\15.0\Outlook\Setup\First-Run
    Et en ajouter 2 autres :
    HKCU\Software\Microsoft\Office\15.0\Common\MailSettings\NewSignature = nomdelasignatureNewMail
    HKCU\Software\Microsoft\Office\15.0\Common\MailSettings\ReplySignature = nomdelasignatureReplyMail

    Au redémarrage d’Outlook 2013, il va prendre en compte ces paramètres, supprimer les 2 clés, et régénérer la First-Run.
    Reste à appliquer cela dans une GPO et le tour est joué.

    Source: http://support.microsoft.com/kb/2691977/en-us
    enjoy 😉

  13. Bonjour,

    D’abord merci pour ce script.

    Au niveau de son exécution en GPO a partir d’un Windows 2012 , cela fonctionne bien sur les versions 2013 D’outlook mais pas les anciennes

  14. Bonjour,
    Je recherche une solution pour publier une signature avec une image reflétant l’actualité d’une entreprise. Est il possible d automatiser cela ou doit on comme nous le faisons actuellement changer l’image dans toutes les signatures ?
    merci si quelqu un a une solution…

    • Le plus simple, est de changer la signature et d’ajouter une première image. Puis changer l’image par une autre quand bon vous semble.
      Comme la signature est poussée lors de l’ouverture de session, toutes les images suivront.
      Toutes les images sont dans un sous dossier “images”. Quitte à mettre une image d’un pixel en png ou gif transparent quand il n’y a pas d’image.

  15. Encore merci pour ce script!
    En revanche j’ai quelques remarques concernant l’utilisation de celui-ci.
    – Je rencontre aussi l’erreur à la ligne 411 (invalid procedure call or argument) lors la première exécution du script (testé depuis logon et depuis le poste avec le même résultat). Il existe plusieurs signatures déjà existantes dans le répertoire. Ce qui est bizarre c’est qu’au final la nouvelle signature à l’air d’être correctement implémentée…
    – Lors de l’exécution du script une fenêtre Outlook s’affiche me proposant la sélection d’un profil (j’ai plusieurs profils Outlook existants). Comment faire pour ne pas visulaiser cette fenêtre?
    – Dans le cas d’une modification de la signature par l’utilisateur celle-ci n’est pas écrasé lors du prochain logon de l’utilisateur (erreur permission denied dans la fonction “‘*** Ecriture du contenu du fichier de signature personnalisé.”

    Salutations

  16. Bonjour,

    Déjà merci pour le travail réalisé !
    Est ce que ce script fonctionne sur Windows serveur 2012 ?

    Je l’ai testé mais aucune signature n’apparait dans outlook 2010.

    J’ai un DC sur lequel j’ai mes GPO et scripts
    Un serveur Files et un serveur terminal sur lequel est installé l’outlook 2010. Le tout en Windows serveur 2012

    Merci d’avance pour votre retour

    • Bonjour. D2solé mais je n’ai jamais essayé avec Windows 2012. Mais déjà avec Windows 8, la ou les signatures sont bien mises dans le profil de l’utilisateur mais pas en tant que signature par défaut. Il faut aller choisir la signature et la définir par défaut.

  17. Il ne manque plus qu’à trouver pour office 2013, par contre connaissez-vous un moyen de transformer la signature outlook en une image ?

    • Merci beaucoup Tristan. Cela fonctionne jusqu’à la version 2010 d’Office. En version de 2013, je ne retrouve plus cette clé. En fait le nom de la signature n’apparaît plus dans la base de registre. Peut-être un numéro d’ordre ou alors l’enregistrement se fait hors registre.

    • J’ai testé manuellement et la clé de registre pour Outlook 2013 est composée comme ceci:
      [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles\\9375CFF0413111d3B88A00104B2A66760000002]
      Comme on le voit il y a un nom de profile qui reste encore à déterminer, une clé GUID, je ne sais pas si c’est la même partout et enfin un rang, ici le 0000002.
      Au bout de tout ça, il y a une clé binaire “New Signature” qui contient le nom de la signature lors d’un nouveau message et une clé “Reply-Forward Signature” qui contient le nom de la signature pour la réponse ou le transfert.

  18. Merci pour votre réponse rapide,

    Je vais rechercher pour trouver une solution, j’ai essayé de modifier des clées de registre de outlook mais sans succès …

  19. Bonjour à tous

    Tout d’abord merci beaucoup pour ce script 😀
    J’ai réussi à déployer les signatures outlook sur le réseau par contre il m’est impossible de l’activer par défaut pour les nouveaux messages 🙁
    Je connais pas non plus le principe de “NET USE” si quelqu’un pouvait me l’expliquer 😉

    Merci d’avance

    • Effectivement, je n’ai pas plus réussi à l’activer par défaut. Depuis le passage à 2013, je n’ai pas trouvé.
      Pour ce qui est du net use, c’est pour associer un endroit de partage, souvent le dossier ‘Netlogon’ à une unité logique par exemple ‘Y:’
      Si tu trouves comment mettre la signature par défaut, je suis preneur 😉

  20. Bonjour

    On a mis en place cet excellent script.
    En revanche on rencontre une erreur en ligne 411 ==> objFile.writeline strtext
    autre problème, dans la base de registre il définit bien les signatures newmessage and replymessage par défaut.
    Par contre à l’ouverture d’Outlook 2010 ce n’est pas le cas.
    Si vous avez une idée
    On s’arrache les cheveux.
    Dans l’attente.
    Cordialement.

    • Bonsoir,
      L’erreur en ligne 411 est liée à l’écriture du fichier de la signature. La signature existe déjà ?
      Essayez l’exécution directement depuis le poste pour voir ce qui se passe.

      • Bonjour
        Oui on a des signatures déjà existantes sur les postes et les profils
        Le script on le teste directement depuis un poste pas via le netlogon pour l’instant
        En revanche si on supprime la signature existante on a une erreur en ligne 175 aléatoirement et le script ne définit pas dans Outlook 2007 les signatures par défaut à l’envoi et à la réponse
        Pour information on est repassé à Outlook 2007, trop de problème en migration avec Outlook 2010

      • Oui on a déjà une signature
        tous les tests ont été réalisés sur un poste
        le script n’est dans le netlogon
        Si on supprime la signature ça passe avec une erreur ligne 175 aléatoirement
        pour info on reste sur de l’outlook 2007 pro plus
        Sinon, cela ne définit pas la signature par défaut en envoi et en réponse
        D’avance merci

  21. Ou alors : http://www.exclaimer.fr/signature-manager/
    rapide, pratique pas cher, et pas besoin de réinventer la roue à chaque.
    je l’ai mis en place chez un client, ça fonctionne très bien, les modèles sont au format Word ou HTML.
    Ils utilisent le service transport de exchange ou directement dans l’Outlook si exchange hébergé (365).
    Tu reprend les infos AD avec des Templates (glisser déposer des attribut AD), du coup la personne de la com’
    peux s’occuper des signature, sans rien connaitre à la technique.

    Mais bon dés que Martial à l’occasion de développer c’est plus fort que lui 😉

    Aurélien.

    • (…)rapide, pratique pas cher, et pas besoin de (…)
      “Pas cher” mais pas gratuit comme l’est Synergeek.
      L’info est bonne quoi qu’il en soit et rendra service à plus d’un, c’est sûr.
      Martial

    • Pour ma part je trouve que c’est pas donné par rapport au service que cela rend… Mais bon les utilisateurs Microsoft en entreprise sont habitués à se faire racketter (Troll inside ;p !!)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.