Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2213 connectés 

  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Poste de travail

  Déploiement Signature Outlook 2010

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Déploiement Signature Outlook 2010

n°108028
jp79
Posté le 13-03-2013 à 15:53:26  profilanswer
 

Bonjour,  
Nous aurons très prochainement une nouvelle charte graphique, et dans cette charte, il sera question des mails.
Tous nos mails devront intégrer un même modèle de signature(nom+tél+mail+logo+adresse la boite) et utiliser la même police.
Donc 1ère question concerne le déploiement de la signature sur tous les profils, comme faire ? comment utiliser des infos de l'AD ?
Et la 2ème question concerne la police, peut-on forcer l'utilisation d'une police pour les mails (sans passer sur tous les postes) ?
Pour info, nous avons Outlook 2007 en client messagerie, et Exchange 2010.
Merci d'avance pour votre aide.
Cdt

mood
Publicité
Posté le 13-03-2013 à 15:53:26  profilanswer
 

n°108029
Je@nb
Modérateur
Kindly give dime
Posté le 13-03-2013 à 16:08:52  profilanswer
 

Si Exchange 2010 te fais pas chier avec des signatures sur les clients, crée une transport rule avec ta signature et zou, ça  ira chercher les champs dans l'AD.

n°108032
jp79
Posté le 13-03-2013 à 16:19:32  profilanswer
 

OK, merci bien pour la réponse.
J'avais lu dans des forums que l'inconvénient de cette solution était que la signature se mettait tout en bas du mail. Ce qui fait que pour un mail où il y a x réponse dedans, la signature est affiché x fois tout en bas du mail.
Es-tu au courant de ça ? est ce que c'est vrai ?

n°108033
Je@nb
Modérateur
Kindly give dime
Posté le 13-03-2013 à 16:23:18  profilanswer
 

Hmmm il y a des chances ta raison, faudrait tester.

n°108034
jp79
Posté le 13-03-2013 à 16:27:56  profilanswer
 

oui je vais tester ça,  
merci en tout cas

n°108036
NewsletTux
<Insérez ici votre vie />
Posté le 13-03-2013 à 18:00:35  profilanswer
 

Hello
Chez moi c'est un couple de scripts PHP/shell (avec samba) home made qui permet de déployer les signatures dans l'intranet (ça sous-entend que tu as un intranet avec les infos nécessaires dedans...)


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°108042
ShonGail
En phase de calmitude ...
Posté le 14-03-2013 à 05:09:57  profilanswer
 

IDEM ici,
 
Une tâche planifiée lance un powershell qui récupère dans AD les infos voulues pour les mettre en csv.
Il génère les .txt et .rtf pour chaque user.
Il lance un programme en .net qui génère une image png à partir d'un modèle, pour chaque user avec ses propres infos.
 
Après c'est un script GPO qui copie sur chaque poste client à l'ouverture de session les fichiers générés (txt, rtf et png) , et un template html
Il tape dans la BDR pour placer la signature sur le compte de l'user sous Outlook et la paramétrer pour les nouveaux messages.
 
Après je peux aider sur le powershell ou le script GPO mais pas sur le .net, c'est pas moi :D
Mais la signature devra être sous forme d'image ou non ?

n°108043
rodrigo35
Posté le 14-03-2013 à 08:18:06  profilanswer
 

Plop,
chez nous c'est un script VB qui génère 2 fichiers HTML et fixe 2 lignes dans le registre:
1) un HTML avec une signature classique -> uniquement pour les new mail
2) un autre HTML bien plus light -> pour les réponse et transferts
 
le VBS est fixé dans une GPO et hop, feu!

n°108047
akizan
Eye Sca Zi
Posté le 14-03-2013 à 08:58:48  profilanswer
 

ShonGail a écrit :

IDEM ici,
 
Une tâche planifiée lance un powershell qui récupère dans AD les infos voulues pour les mettre en csv.
Il génère les .txt et .rtf pour chaque user.
Il lance un programme en .net qui génère une image png à partir d'un modèle, pour chaque user avec ses propres infos.
 
Après c'est un script GPO qui copie sur chaque poste client à l'ouverture de session les fichiers générés (txt, rtf et png) , et un template html
Il tape dans la BDR pour placer la signature sur le compte de l'user sous Outlook et la paramétrer pour les nouveaux messages.
 
Après je peux aider sur le powershell ou le script GPO mais pas sur le .net, c'est pas moi :D
Mais la signature devra être sous forme d'image ou non ?


 
Cte truc de fou o.O
Mais c'est nickel, une image, perso je préfère avec des petits logos, ça fait plus pro.

n°108049
Je@nb
Modérateur
Kindly give dime
Posté le 14-03-2013 à 09:10:53  profilanswer
 

Une image comme signature ? Cet overkill :/

mood
Publicité
Posté le 14-03-2013 à 09:10:53  profilanswer
 

n°108057
ShonGail
En phase de calmitude ...
Posté le 14-03-2013 à 09:48:39  profilanswer
 

C'est le client qui veut ça.
Et c'est pas mal. Dans le HTML, y'a juste le ALT et un href pour que l'image pointe vers le site de la boite.
Au début c'était du HTML avec éléments graphiques. Mais ça passait mal sur certaines messageries et le destinataire se retrouvait avec une signature dénaturée.
Après si on est un extrémiste, le txt pur, rien d'autre, c'est sûr ...


Message édité par ShonGail le 14-03-2013 à 09:49:19
n°108059
jp79
Posté le 14-03-2013 à 10:27:09  profilanswer
 

Merci pour vos réponses.
On m'a donné le modèle de la signature en word .dot. ça doit reprendre des infos de l'AD + le logo. J'ai transformé le .dot en .htm pour essayer de l'intégrer dans la règle de transport.
Je me familiarise déjà avec les transport hub parce que c'est la 1ère fois que j'utilise ça . Mais le logo pour l'instant ne ressort pas. je continue les essais.

n°108099
jp79
Posté le 15-03-2013 à 09:13:29  profilanswer
 

@Rodrigo35 ta solution m'intéresse, pourrais-tu me donner plus d'infos stp ?
Car l'inconvénient de la transport rule est que l'utilisateur ne voit pas sa signature (et ne peut donc pas la modifier), or y a des infos qu'il faut qu'il y ait dans la signature mais qu'on na pas dans l'AD.
Donc je pencherais plus pour une signature mise sur les postes client (déployé ou non via une GPO)
Merci d'avance.

n°108100
rodrigo35
Posté le 15-03-2013 à 09:29:53  profilanswer
 

voila le bout de code que nous utilisons.
bon alors il est certainement améliorable hein, mais chez nous il fait le job ^^
 
je ne suis pas à l'origine de tout le code, je me suis inspiré de scripts existants et j'ai fait ma ptite adaptation ^^
 
le script:
- fait une recherche dans l'AD
- génère les 2 signatures
- indique dans le registre quelle signature utiliser quand
 
 
 
 
 
 
 
'Option Explicit
On Error Resume Next
 
' 1. déclaration des variables
'-----------------------------
' Objets requête LDAP, réseau et utilisateur
Dim qQuery, objSysInfo, objuser
' Objet Outlook
Dim Outlook
 
' Informations sur l'utilisateur
Dim FullName, EMail, Title, PhoneNumber, MobileNumber, FaxNumber, OfficeLocation, Department
Dim web_address, StreetAddress, Town, State, Company
Dim ZipCode, PostOfficeBox
 
' Locatisations de répertoire
Dim FolderLocation, UserDataPath
 
' Chaîne réutilisable
Dim SignatureEnvoi, SignatureReponse, Localisation, LocalisationReponse
 
' Version d'outlook
dim outlookver
 
' Divers
dim CheckTime
 
 
 
 
 
 
' Initialisation de variables - les changements doivent être faits ici sur cette variable
'--------------------------------------
Localisation = "Signatures"
SignatureEnvoi = "Signature-envoi"
SignatureReponse = "Signature-reponse"
'--------------------------------------
 
' En premier, obtenir la version d'outlook
'--------------------------------------------------
set outlook = createobject("outlook.application" )
outlookver = Left(outlook.version, InStr(outlook.version, "." )-1)
set Outlook = nothing
 
' Petite boucle basée sur le temps pour attendre la fermeture d'outlook
'----------------------------------------------------------------------------
 
CheckTime = timer
while (timer - checktime) < 10
        ' on ne fait rien, on attend juste que Outlook se termine...
Wend
 
 
 
 
 
 
 
' On récupère les informations utilisateurs de l'AD par l'intermédiaire d'une requête LDAP
'---------------------------------------------------------------------------------------------------
Set objSysInfo = CreateObject("ADSystemInfo" )
objSysInfo.RefreshSchemaCache
qQuery = "LDAP://" & objSysInfo.Username
Set objuser = GetObject(qQuery)
FullName = objuser.displayname
EMail = objuser.mail
Company = objuser.Company
Title = objuser.title
PhoneNumber = objuser.TelephoneNumber
FaxNumber = objuser.FaxNumber
OfficeLocation = objuser.physicalDeliveryOfficeName
StreetAddress = objuser.streetaddress
PostofficeBox = objuser.postofficebox
Department = objUser.Department
ZipCode = objuser.postalcode
Town = objuser.l
MobileNumber = objuser.TelephoneMobile
web_address = objUser.wWWHomePage
 
 
 
 
' CREATION DE LA SIGNATURE D'ENVOI
'---------------------------------------------------------------------
Dim SignEnvoi, RegistreEnvoi
Set SignEnvoi = CreateObject("WScript.Shell" )
 
' Modification du chemin contenant la signature dans la base de registre basée sur la version d'outlook
RegistreEnvoi = "HKEY_CURRENT_USER\Software\Microsoft\Office\"&OutlookVer&".0\Common\General\Signatures"
SignEnvoi.RegWrite RegistreEnvoi , Localisation
 
' Création du chemin local contenant les signatures
'--------------------------------------------------
UserDataPath = SignEnvoi.ExpandEnvironmentStrings("%appdata%" )
FolderLocation = UserDataPath &"\Microsoft\"&Localisation&"\"
 
' On précise ici la signature Nouveau message
'-----------------------------------------------------------
SignEnvoi.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\"&outlookVer&".0\Common\MailSettings\NewSignature" , SignatureEnvoi
SignEnvoi.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\"&OutlookVer&".0\Outlook\Options\Mail\EnableLogging" , "0", "REG_DWORD"
 
 
 
 
 
' on vérifie si le chemin local des signatures existe. sinon on le crée.
'-----------------------------------------------------------------------
Dim DossierEnvoi
Set DossierEnvoi = CreateObject("Scripting.FileSystemObject" )
If (DossierEnvoi.FolderExists(FolderLocation)) Then
Else
Call DossierEnvoi.CreateFolder(FolderLocation)
End if
 
 
 
' On crée le fichier de signature
'-------------------------------------------
Dim SIGNATURE1
Dim FicEnvoi,afile1, SignFoll1, Folcoll1, SubFoll1
Dim aQuote
aQuote = chr(34)
 
' Adaptation du modèle
'-------------------------------------------
Set SIGNATURE1 = CreateObject("Scripting.FileSystemObject" )
 
' on efface toutes les signatures présente dans le chemin local des signatures
'------------------------------------------------------------------------------------
SIGNATURE1.DeleteFile(Folderlocation & "*.*" )
 
' suppresion de tout répertoire dans ce dossier
'------------------------------------------------------
set SignFoll1 = SIGNATURE1.GetFolder(FolderLocation)
Set Folcoll1 = SignFoll1.SubFolders
For Each subfol in Folcoll1
        subFol.Delete true
Next
 
Set FicEnvoi = SIGNATURE1.CreateTextFile(FolderLocation&"\"&SignatureEnvoi&".htm",True)
FicEnvoi.Close
Set FicEnvoi = SIGNATURE1.OpenTextFile(FolderLocation&"\"&SignatureEnvoi&".htm", 2)
 
' Signature en code HTML. Vous pouvez modifier à  loisir ce code pour l'adapter selon vos besoins.
'--------------------------------------
dest_sign = "<!DOCTYPE HTML PUBLIC " & aQuote & "-//W3C//DTD HTML 4.0 Transitional//EN" & aQuote & ">" & vbCrLf
dest_sign = dest_sign & "<html>"
dest_sign = dest_sign & "<head>"
dest_sign = dest_sign & "<style>"
dest_sign = dest_sign & "body {"
dest_sign = dest_sign & "color : #365D91;"
dest_sign = dest_sign & "font-family : Calibri;"
dest_sign = dest_sign & "font-size : 11.0pt;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & "</style>"
dest_sign = dest_sign & "</head>"
dest_sign = dest_sign & "<body>"
dest_sign = dest_sign & "<a href="&aQuote&"SOMEWHERE"&aQuote&"><img border=0 width=595 height=144 src="&aQuote&"EMPLACEMENT IMAGE HAUT"&aQuote&"></a>"
dest_sign = dest_sign & "<style>"
dest_sign = dest_sign & "<!--"
dest_sign = dest_sign & ".texte {"
dest_sign = dest_sign & "        font-family: Calibri;"
dest_sign = dest_sign & "        font-size: 11.0pt;"
dest_sign = dest_sign & "        color: #000000;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & ".username {"
dest_sign = dest_sign & "        font-family: Calibri;"
dest_sign = dest_sign & "        font-size: 11.0pt;"
dest_sign = dest_sign & "        color: #000000;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & ".title {"
dest_sign = dest_sign & "        font-family: Calibri;"
dest_sign = dest_sign & "        font-size: 11.0pt;"
dest_sign = dest_sign & "        font-style: Italic;"
dest_sign = dest_sign & "        color: #000000;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & ".site {"
dest_sign = dest_sign & "        font-family: Calibri;"
dest_sign = dest_sign & "        font-size: 11.0pt;"
dest_sign = dest_sign & "        color: #000000;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & ".telephone {"
dest_sign = dest_sign & "        font-family: Calibri;"
dest_sign = dest_sign & "        font-size: 11.0pt;"
dest_sign = dest_sign & "        color: #000000;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & ".mobile {"
dest_sign = dest_sign & "        font-family: Calibri;"
dest_sign = dest_sign & "        font-size: 11.0pt;"
dest_sign = dest_sign & "        color: #000000;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & "-->"
dest_sign = dest_sign & "</style>"
dest_sign = dest_sign & "<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>"
dest_sign = dest_sign & "<div class="&aQuote&"username"&aQuote&">"&Fullname&"</div>"
dest_sign = dest_sign & "<div class="&aQuote&"title"&aQuote&">"&Title&"</div>"
dest_sign = dest_sign & "<div class="&aQuote&"site"&aQuote&">"&OfficeLocation&"</div>"
dest_sign = dest_sign & "<div class="&aQuote&"telephone"&aQuote&">"&PhoneNumber&"</div>"
dest_sign = dest_sign & "<div class="&aQuote&"mobile"&aQuote&">"&MobileNumber&"</div>"
dest_sign = dest_sign & "<div class="&aQuote&"web"&aQuote&"><a href="&aQuote&"http://"&web_address&aQuote&">"&web_address&"</a></div>"
dest_sign = dest_sign & "<div class="&aQuote&"texte"&aQuote&">------------------------</div>"
dest_sign = dest_sign & "<a href="&aQuote&"SOMEWHERE"&aQuote&"><img border=0 width=595 height=144 src="&aQuote&"EMPLACEMENT IMAGE BAS"&aQuote&"></a>"
dest_sign = dest_sign & "</body>"
dest_sign = dest_sign & "</html>"
 
' Fin de la personnalisation
'--------------------------------------
 
FicEnvoi.write dest_sign
FicEnvoi.Close  
 
 
 
 
 
 
' On crée ici les signatures
' A partir d'ici, toute la méthode n'est pas supportée par Microsoft.
'---------------------------------------------------------------------
Dim SignReponse, RegistreReponse
Set SignReponse = CreateObject("WScript.Shell" )
 
' Modification du chemin contenant la signature dans la base de registre basée sur la version d'outlook
RegistreReponse = "HKEY_CURRENT_USER\Software\Microsoft\Office\"&OutlookVer&".0\Common\General\Signatures"
SignReponse.RegWrite RegistreReponse , Localisation
 
' Création du chemin local contenant les signatures
'--------------------------------------------------
UserDataPath = SignReponse.ExpandEnvironmentStrings("%appdata%" )
FolderLocation = UserDataPath &"\Microsoft\"&Localisation&"\"
 
' On précise ici la signature reponse
'-----------------------------------------------------------
'SignEnvoi.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\"&outlookVer&".0\Common\MailSettings\NewSignature" , SignatureEnvoi
SignReponse.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\"&OutlookVer&".0\Common\MailSettings\ReplySignature" , SignatureReponse
SignReponse.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\"&OutlookVer&".0\Outlook\Options\Mail\EnableLogging" , "0", "REG_DWORD"
 
 
 
 
 
' on vérifie si le chemin local des signatures existe. sinon on le crée.
'-----------------------------------------------------------------------
Dim DossierReponse
Set DossierReponse = CreateObject("Scripting.FileSystemObject" )
If (DossierReponse.FolderExists(FolderLocation)) Then
Else
Call DossierReponse.CreateFolder(FolderLocation)
End if
 
 
 
' On crée le fichier de signature
'-------------------------------------------
Dim SIGNATURE2
Dim FicReponse,afile2, SignFoll2, Folcoll2, SubFoll2
Dim aQuote2
aQuote2 = chr(34)
 
' Adaptation du modèle
'-------------------------------------------
Set SIGNATURE2 = CreateObject("Scripting.FileSystemObject" )
 
' on efface toutes les signatures présente dans le chemin local des signatures
'------------------------------------------------------------------------------------
'SIGNATURE2.DeleteFile(Folderlocation & "*.*" )
 
' suppresion de tout répertoire dans ce dossier
'------------------------------------------------------
set SignFoll2 = SIGNATURE2.GetFolder(FolderLocation)
Set Folcoll2 = SignFoll2.SubFolders
For Each subfol in Folcoll2
        subFol.Delete true
Next
 
Set FicReponse = SIGNATURE2.CreateTextFile(FolderLocation&"\"&SignatureReponse&".htm",True)
FicReponse.Close
Set FicReponse = SIGNATURE2.OpenTextFile(FolderLocation&"\"&SignatureReponse&".htm", 2)
 
' Signature en code HTML. Vous pouvez modifier à  loisir ce code pour l'adapter selon vos besoins.
'--------------------------------------
dest_sign = "<!DOCTYPE HTML PUBLIC " & aQuote2 & "-//W3C//DTD HTML 4.0 Transitional//EN" & aQuote2 & ">" & vbCrLf
dest_sign = dest_sign & "<html>"
dest_sign = dest_sign & "<head>"
dest_sign = dest_sign & "<style>"
dest_sign = dest_sign & "body {"
dest_sign = dest_sign & "color : #365D91;"
dest_sign = dest_sign & "font-family : Calibri;"
dest_sign = dest_sign & "font-size : 11.0pt;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & "</style>"
dest_sign = dest_sign & "</head>"
dest_sign = dest_sign & "<body>"
dest_sign = dest_sign & "<style>"
dest_sign = dest_sign & "<!--"
dest_sign = dest_sign & ".texte {"
dest_sign = dest_sign & "        font-family: Calibri;"
dest_sign = dest_sign & "        font-size: 11.0pt;"
dest_sign = dest_sign & "        color: #000000;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & ".username {"
dest_sign = dest_sign & "        font-family: Calibri;"
dest_sign = dest_sign & "        font-size: 11.0pt;"
dest_sign = dest_sign & "        color: #000000;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & ".title {"
dest_sign = dest_sign & "        font-family: Calibri;"
dest_sign = dest_sign & "        font-size: 11.0pt;"
dest_sign = dest_sign & "        font-style: Italic;"
dest_sign = dest_sign & "        color: #000000;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & ".site {"
dest_sign = dest_sign & "        font-family: Calibri;"
dest_sign = dest_sign & "        font-size: 11.0pt;"
dest_sign = dest_sign & "        color: #000000;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & ".telephone {"
dest_sign = dest_sign & "        font-family: Calibri;"
dest_sign = dest_sign & "        font-size: 11.0pt;"
dest_sign = dest_sign & "        color: #000000;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & ".mobile {"
dest_sign = dest_sign & "        font-family: Calibri;"
dest_sign = dest_sign & "        font-size: 11.0pt;"
dest_sign = dest_sign & "        color: #000000;"
dest_sign = dest_sign & "}"
dest_sign = dest_sign & "-->"
dest_sign = dest_sign & "</style>"
dest_sign = dest_sign & "<div class="&aQuote2&"username"&aQuote2&">"&Fullname&"</div>"
dest_sign = dest_sign & "<div class="&aQuote2&"title"&aQuote2&">"&Title&"</div>"
dest_sign = dest_sign & "<div class="&aQuote2&"site"&aQuote2&">"&OfficeLocation&"</div>"
dest_sign = dest_sign & "<div class="&aQuote2&"telephone"&aQuote2&">"&PhoneNumber&"</div>"
dest_sign = dest_sign & "<div class="&aQuote2&"mobile"&aQuote2&">"&MobileNumber&"</div>"
dest_sign = dest_sign & "<div class="&aQuote2&"texte"&aQuote2&">------------------------</div>"
dest_sign = dest_sign & "</body>"
dest_sign = dest_sign & "</html>"
 
' Fin de la personnalisation
'--------------------------------------
 
FicReponse.write dest_sign
FicReponse.Close  
 
 
 
 
'---------------------------------------------------------------------
' Cette section prend le profil courant d'Outlook et y place le nom de la signature par défaut
'---------------------------------------------------------------------
 
' Use this version to set all accounts in the default mail profile to use a previously created signature
Call SetDefaultSignature(SignatureEnvoi,"" )
Call SetReplySignature(SignatureReponse,"" )
 
 
Sub SetDefaultSignature(strSignName, strProfile)
        Const HKEY_CURRENT_USER = &H80000001
        strComputer = "."
 
        If Not IsOutlookRunning Then
                Set objreg = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv" )
                strKeyPath = "Software\Microsoft\Windows NT\" & "CurrentVersion\Windows " & "Messaging Subsystem\Profiles\"
                ' get default profile name if none specified
                If strProfile = "" Then
                        objreg.GetStringValue HKEY_CURRENT_USER, strKeyPath, "DefaultProfile", strProfile
                End If
                ' build array from signature name
                myArray = StringToByteArray(strSignName, True)
                strKeyPath = strKeyPath & strProfile & "\9375CFF0413111d3B88A00104B2A6676"
 
                objreg.EnumKey HKEY_CURRENT_USER, strKeyPath, arrProfileKeys
                For Each subkey In arrProfileKeys
                        strsubkeypath = strKeyPath & "\" & subkey
                        objreg.SetBinaryValue HKEY_CURRENT_USER, strsubkeypath, "New Signature", myArray
                Next
        Else
                strMsg = "Please shut down Outlook before " & "running this script."
                MsgBox strMsg, vbExclamation, "SetDefaultSignature"
        End If
End Sub  
 
Sub SetReplySignature(strSignName, strProfile)
        Const HKEY_CURRENT_USER = &H80000001
        strComputer = "."
 
        If Not IsOutlookRunning Then
                Set objreg = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv" )
                strKeyPath = "Software\Microsoft\Windows NT\" & "CurrentVersion\Windows " & "Messaging Subsystem\Profiles\"
                ' get default profile name if none specified
                If strProfile = "" Then
                        objreg.GetStringValue HKEY_CURRENT_USER, strKeyPath, "DefaultProfile", strProfile
                End If
                ' build array from signature name
                myArray = StringToByteArray(strSignName, True)
                strKeyPath = strKeyPath & strProfile & "\9375CFF0413111d3B88A00104B2A6676"
 
                objreg.EnumKey HKEY_CURRENT_USER, strKeyPath, arrProfileKeys
                For Each subkey In arrProfileKeys
                        strsubkeypath = strKeyPath & "\" & subkey
                        objreg.SetBinaryValue HKEY_CURRENT_USER, strsubkeypath, "Reply-Forward Signature", myArray
                Next
        Else
                strMsg = "Please shut down Outlook before " & "running this script."
                MsgBox strMsg, vbExclamation, "SetReplySignature"
        End If
End Sub  
 
 
Function IsOutlookRunning()
        strComputer = "."
        strQuery = "Select * from Win32_Process " & "Where Name = 'Outlook.exe'"
        Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
        Set colProcesses = objWMIService.ExecQuery(strQuery)
        For Each objProcess In colProcesses
                If UCase(objProcess.Name) = "OUTLOOK.EXE" Then
                        IsOutlookRunning = True
                Else
                        IsOutlookRunning = False
                End If
        Next
End Function
 
Public Function StringToByteArray (Data, NeedNullTerminator)
        Dim strAll
        strAll = StringToHex4(Data)
        If NeedNullTerminator Then
                strAll = strAll & "0000"
        End If
        intLen = Len(strAll) \ 2
        ReDim arr(intLen - 1)
        For i = 1 To Len(strAll) \ 2
                arr(i - 1) = CByte ("&H" & Mid(strAll, (2 * i) - 1, 2))
        Next
        StringToByteArray = arr
End Function
 
Public Function StringToHex4(Data)
        ' Input: normal text
        ' Output: four-character string for each character,
        ' e.g. "3204" for lower-case Russian B,
        ' "6500" for ASCII e
        ' Output: correct characters
        ' needs to reverse order of bytes from 0432
        Dim strAll
        For i = 1 To Len(Data)
                ' get the four-character hex for each character
                strChar = Mid(Data, i, 1)
                strTemp = Right("00" & Hex(AscW(strChar)), 4)
                strAll = strAll & Right(strTemp, 2) & Left(strTemp, 2)
        Next
        StringToHex4 = strAll
End Function

n°108101
rodrigo35
Posté le 15-03-2013 à 09:31:33  profilanswer
 

le tout dans un joli "signature.vbs" et hop

n°108102
jp79
Posté le 15-03-2013 à 09:33:19  profilanswer
 

Ok super, merci bcp @rodrigo35, je teste ça au plus vite.

n°108105
akizan
Eye Sca Zi
Posté le 15-03-2013 à 10:30:36  profilanswer
 

oula la, c'est pas du joli, joli :)
 
'Option Explicit
On Error Resume Next


Message édité par akizan le 15-03-2013 à 10:30:44
n°108108
rodrigo35
Posté le 15-03-2013 à 10:58:47  profilanswer
 

j'avoue....
je ne m'en suis même pas rendu compte ^^
(bon, vous aurez donc bien compris que je ne suis pas développeur ^^)

n°108157
jp79
Posté le 15-03-2013 à 15:44:17  profilanswer
 

Je viens de tester, ça a l'air de fonctionner, reste qq règlages par contre, je n'ai plus accès aux signatures dans mon Outlook, j'y accède en allant dans les options mais c'est verrouillé.
je ne vois pas dans le code, qu'est-ce qui a pu le faire ? une idée ?

n°108170
rodrigo35
Posté le 15-03-2013 à 19:04:34  profilanswer
 

essaye le clic droit sur la signature fixée par le script.... je ne suis pas au bureau là, mais au pire lundi je regarderai !!

n°108238
jp79
Posté le 18-03-2013 à 10:10:04  profilanswer
 

le clic droit dans le mail sur la signature me permet de voir quelle est la signature active, je peux seulement changer de signature mais pas les modifier, les personnaliser.

n°108239
rodrigo35
Posté le 18-03-2013 à 10:18:02  profilanswer
 

apres verif, chez nous c'est pareil, ça vient du fait que la signature à appliquer est fixée par le registre....
à la limite tu peux tester en virant les HKEY_CURRENT_USER\Software\Microsoft\Office\"&outlookVer&".0\Common\MailSettings
 
ainsi, les signatures sont créées mais ne sont pas forcées dans outlook....

n°108354
jp79
Posté le 20-03-2013 à 09:47:27  profilanswer
 

Oui ça fonctionne manuellement sur mon poste si je renomme la clé MailSettings ou si je la supprime du registre, mais je n'arrive pas à le faire en code.  
J'ai essayé en rajoutant ça dans le code mais sans succès :
 
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell" )
WshShell.RegDelete ("HKEY_CURRENT_USER\Software\Microsoft\Office\"&outlookVer&".0\Common\MailSettings" )
 
une idée ?

n°108356
rodrigo35
Posté le 20-03-2013 à 10:18:44  profilanswer
 

mets en commentaire les lignes:
' On précise ici la signature Nouveau message  
'-----------------------------------------------------------  
SignEnvoi.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\"&outlookVer&".0\Common\MailSettings\NewSignature" , SignatureEnvoi  
SignEnvoi.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\"&OutlookVer&".0\Outlook\Options\Mail\EnableLogging" , "0", "REG_DWORD"  
 
et  
 
' On précise ici la signature reponse  
'-----------------------------------------------------------  
'SignEnvoi.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\"&outlookVer&".0\Common\MailSettings\NewSignature" , SignatureEnvoi  
SignReponse.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\"&OutlookVer&".0\Common\MailSettings\ReplySignature" , SignatureReponse  
SignReponse.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\"&OutlookVer&".0\Outlook\Options\Mail\EnableLogging" , "0", "REG_DWORD"  
 
 
de cette façon, je pense que les signatures se créent, mais ne s'appliquent pas automatiquement, donc tu dois garder la main pour sélectionner celle que tu veux

n°108357
jp79
Posté le 20-03-2013 à 10:35:38  profilanswer
 

Ah Yess, super, ça marche.  
Merci bcp pour ton aide rodrigo35.

n°108358
rodrigo35
Posté le 20-03-2013 à 10:37:37  profilanswer
 

de rien ^^

n°108359
jp79
Posté le 20-03-2013 à 10:40:53  profilanswer
 

Et au sujet de la police par défaut du mail, est-ce que je peux la forcer aussi dans un script ? est ce que c'est possible ?
Parce que là la police fonctionne bien dans la signature mais pas dans le corps du mail.

n°108360
rodrigo35
Posté le 20-03-2013 à 11:48:22  profilanswer
 

houlla...
là tu dépasses mon niveau de compétence ^^
 
je pense que tout doit plus ou moins pouvoir etre défini par script, mais reste a trouver la bonne ligne de registre

n°108413
jp79
Posté le 21-03-2013 à 10:39:52  profilanswer
 

OK pas grave, j'ai trouvé ça sur le net pour ceux que ça intéresse pour la police par défaut, un tour ici http://thommck.wordpress.com/2009/ [...] eferences/.
merci encore

n°108523
jp79
Posté le 22-03-2013 à 10:19:41  profilanswer
 

Encore besoin de votre aide svp ;
voilà ton script rodrigo35 marche super bien, le seul truc où je cherche comment faire et où je demande de l'aide c'est , une fois la nouvelle signature créée, j'aimerais qu'elle ne soit pas effacé et remplacé.
Car là je fais des essais, j'ai la nouvelle signature, je la personnalise et au redémarrage de ma session, ça m'efface mes modifs.
J'aimerais juste rajouter dans le code, si cette nouvelle signature est créé, on sort du script,  
merci d'avance

n°108525
rodrigo35
Posté le 22-03-2013 à 10:23:24  profilanswer
 

je verrai bien au début du script un:
 
If (dossier_des_signatures.FolderExists(emplacement)) Then  
 
exit ou end ou quelque chose du style
 
End if

n°108529
jp79
Posté le 22-03-2013 à 10:54:54  profilanswer
 

oui c'est ce que je pensais mais je trouvais pas la bonne formule pour sortir, exit marchait pas, du coup j'ai trouvé ça sur le net et mis ça comme ligne
 
If (DossierEnvoi.FolderExists(FolderLocation)) Then
wscript.quit
 
et ça fonctionne !
Donc encore une fois merci bien rodrigo35 pour ton aide !!

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Poste de travail

  Déploiement Signature Outlook 2010

 

Sujets relatifs
[Outlook 2007] Déplacer les .ost par GPODestinataire automatique outlook
Inconvenients Outlook sur serveur TSE [résolu]GPP deploiement imprimantes
Deploiement dans profils <username>Emplacement du formulaire de sécurité d'outlook faux
Déploiement d'une nouvelle infrastructure réseauExchange 2010 probleme d'envoi de mails
[résolu] Déploiement imprimantes via GPO Preferences capricieuxProblème Règle de Transport Exchange 2010
Plus de sujets relatifs à : Déploiement Signature Outlook 2010


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR