IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Comportement étrange : Creation de signature Outlook automatique depuis l'AD


Sujet :

VBScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 162
    Par défaut Comportement étrange : Creation de signature Outlook automatique depuis l'AD
    Bonjour à toutes et à tous,
    nous avons mis en place dans notre société un script qui créé automatiquement la signature Outlook d'un utilisateur lors de l'ouverture de session Windows (les données sont récupérées dans l'Active Directory)

    Les premiers tests étaient concluant cepandant le script semble instable, une fois il fonctionne, l'autre fois non...
    Lorsqu'il ne fonctionne pas nous avons le message du code suivant :
    "Erreur: utilisateur inconnu ou mauvaise definition Active Directory ..."

    En laissant le poste éteind pendant quelques heures, le code peut refonctionner. Bref c'est assez incompréhensible.

    Voici le code du script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    '---------------------------------------------------------------------------------------------------------
    '        Signature Outlook  via paramètres utilisateur Active Directory
     
    '---------------------------------------------------------------------------------------------------------
    '
    '
    '
    'Définition des variables et vérification de l'existance du dossier ....\Microsoft\Signatures
    	set netw=createobject("wscript.network")
    	Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
    	set oshell = createobject("wscript.shell")
    	if not FileSystem.folderexists (oshell.expandenvironmentstrings("%userprofile%") & "\Application Data\Microsoft\Signatures") then
    		FileSystem.CreateFolder(oshell.expandenvironmentstrings("%userprofile%") & "\Application Data\Microsoft\Signatures")
    	End If
    	Set OutPutFileTxt = FileSystem.CreateTextFile(oshell.expandenvironmentstrings("%userprofile%") & "\Application Data\Microsoft\Signatures\ma_signature.txt", True)
    	Set OutPutFileHtml = FileSystem.CreateTextFile(oshell.expandenvironmentstrings("%userprofile%") & "\Application Data\Microsoft\Signatures\ma_signature.htm", True)
    'Suppression du fichier RTF si existant
    	if FileSystem.fileexists (oshell.expandenvironmentstrings("%userprofile%") & "\Application Data\Microsoft\Signatures\ma_signature.rtf") then
    		FileSystem.DeleteFile(oshell.expandenvironmentstrings("%userprofile%") & "\Application Data\Microsoft\Signatures\ma_signature.rtf")
    	End If
    'Send START Message
    '	WScript.Echo "Creation signature Outlook en cours ... Cliquer sur OK pour continuer."
    'Définition des OU Active Directory
    '
    '
    '
    '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    '!!!! xxxx = A définir suivant votre configuration AD !!!!!
    '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    '
    '
    '
    	Set oContainer=GetObject("notre OU")
    	EnumerateUsers oContainer
    '
    'Message de fin de procédure sur Erreur
    	WScript.Echo "Erreur: utilisateur inconnu ou mauvaise definition Active Directory ..."
    	WScript.Quit(0) 
    'Sub Programme de recherche "EnumerateUsers"
    	Sub EnumerateUsers(oCont)
    	Dim oUser
    	For Each oUser In oCont
    		Select Case LCase(oUser.Class)
    			Case "user"
    			If oUser.sAMAccountName=netw.username Then
    'Affichage des paramètres de l'utilisateur
    			BtnCode = oshell.Popup("Nom: " & oUser.givenname & " " & ucase(oUser.sn) & chr(13) & "Titre: " &oUser.title & chr(13) & "Service: " & oUser.department & chr(13) & "Adresse: " &  oUser.postOfficeBox & ", " & oUser.streetAddress & ", " & oUser.postalCode & " " & oUser.l & chr(13) & "Tel: " & oUser.telephoneNumber & chr(13) & "GSM: " & oUser.mobile & chr(13) & "Fax: " & oUser.facsimileTelephoneNumber & chr(13) & "Email: " & oUser.mail & chr(13) & chr(13), 0, "Voulez-vous continuer: ?", 4 + 64)
    				If BtnCode=6 then
    ' Création du fichier au format TXT
    					OutPutFileTxt.WriteLine " "
    					OutPutFileTxt.WriteLine oUser.givenname & " " & ucase(oUser.sn)
    					If not IsEmpty(oUser.title) then
    					OutPutFileTxt.WriteLine oUser.title
    					Else
    					OutPutFileTxt.WriteLine oUser.department
    					End If
    					OutPutFileTxt.WriteLine oUser.physicalDeliveryOfficeName
    					OutPutFileTxt.WriteLine oUser.streetAddress
    					OutPutFileTxt.WriteLine "F - " & oUser.postalCode & " " & oUser.l
    					If Not IsEmpty(oUser.telephoneNumber) Then
    						OutPutFileTxt.WriteLine "Tél : + 33 (0)" & right(oUser.telephoneNumber,13)
    					End If
    					If Not IsEmpty(oUser.mobile) Then
    						OutPutFileTxt.WriteLine "Port. : + 33 (0)" & right(oUser.mobile,13)
    					End If
    					If Not IsEmpty(oUser.facsimileTelephoneNumber) Then
    						OutPutFileTxt.WriteLine "Fax : + 33 (0)" & right(oUser.facsimileTelephoneNumber,13)
    					End If
    					OutPutFileTxt.WriteLine "Nos infos"
    					OutPutFileTxt.WriteLine lcase(oUser.mail)
    					OutPutFileTxt.WriteLine oUser.wwwhomepage
    					OutPutFileTxt.Close
    'Création du fichier au format HTML
    					OutPutFileHtml.WriteLine "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">"
    					OutPutFileHtml.WriteLine "<HTML><HEAD>"
    					OutPutFileHtml.WriteLine "<META http-equiv=Content-Type content=""text/html; charset=windows-1252"">"
    					OutPutFileHtml.WriteLine "<META content=""MSHTML 6.00.2800.1459"" name=GENERATOR></HEAD>"
    					OutPutFileHtml.WriteLine "<BODY>"
    					OutPutFileHtml.WriteLine "<BR>"
    					OutPutFileHtml.WriteLine "<B><FONT face=Verdana size=2>" & oUser.givenname & " " & ucase(oUser.sn) & "</FONT><BR></B>"
    					If Not IsEmpty(oUser.title) then
    						OutPutFileHtml.WriteLine "<B><I><FONT face=Verdana size=2>" & oUser.title & "</FONT><BR></I></B>"
    					Else
    						OutPutFileHtml.WriteLine "<B><I><FONT face=Verdana size=2>" & oUser.department & "</FONT><BR></I></B>"
    					End If
    					OutPutFileHtml.WriteLine "<FONT face=Verdana size=1>" & oUser.physicalDeliveryOfficeName & "</FONT><BR>"
    					OutPutFileHtml.WriteLine "<FONT face=Verdana size=1>" & oUser.streetAddress & "</FONT><BR>"
    					OutPutFileHtml.WriteLine "<FONT face=Verdana size=1>F - " & oUser.postalCode & " " & oUser.l & "</FONT><BR>"
    					If Not IsEmpty(oUser.telephoneNumber) Then
    						OutPutFileHtml.WriteLine "<FONT face=Verdana size=1>Tél : + 33 (0)" & right(oUser.telephoneNumber,13) & "</FONT><BR>"
    					End If
    					If Not IsEmpty(oUser.mobile) Then
    						OutPutFileHtml.WriteLine "<FONT face=Verdana size=1><FONT face=Verdana size=1>Port. : + 33 (0)" & right(oUser.mobile,13) & "</FONT><BR>"
    					End If
    					If Not IsEmpty(oUser.facsimileTelephoneNumber) Then
    						OutPutFileHtml.WriteLine "<FONT face=Verdana size=1>Fax : + 33 (0)" & right(oUser.facsimileTelephoneNumber,13) & "</FONT><BR>"
    					End If
    					OutPutFileHtml.WriteLine "<FONT face=Verdana size=1>nos infos</FONT><BR>"
    					OutPutFileHtml.WriteLine "<FONT face=verdana size=1><A href=""mailto:"
    					OutPutFileHtml.WriteLine oUser.mail
    					OutPutFileHtml.WriteLine """>" & lcase(oUser.mail) & "</A></FONT><BR>"
    					OutPutFileHtml.WriteLine "      </SPAN><A href=" & oUser.wWWHomePage & "><SPAN"
    					OutPutFileHtml.WriteLine "      lang=fr><U><FONT face=Verdana"
    					OutPutFileHtml.WriteLine "      size=1>" & oUser.wWWHomePage & "</U></SPAN></A></P>"
    					OutPutFileHtml.Close
    'Message de FIN normale de la procédure
    					WScript.Echo "Définition signature terminée"
    					WScript.Quit(0) 
    				else
    'Message de d'ABANDON de la procédure
    					WScript.Echo "Procédure annulée"
    					WScript.Quit(0) 
    				End If
    			End If
    			Case "organizationalunit", "container"
    				EnumerateUsers oUser
    		End Select
    	Next
    	End Sub
    '
    WScript.Quit(0)
    C'est un code trouvé sur Internet, si quelqu'un pouvait se pencher dessus et m'expliquer pourquoi ce dernier fonctionne aléatoirement ce serait super !!

    Je cherche depuis 15 jours, sans réponse et sans idée.
    Où si quelqu'un a un code plus "propre" et fiable pour le même résultat je suis preneur aussi

    A+
    Fredo

  2. #2
    Invité de passage
    Inscrit en
    Novembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1
    Par défaut
    bonjour

    as tu trouvé une réponse, sinon j'ai une solution

  3. #3
    Membre expérimenté
    Inscrit en
    Mai 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 189
    Par défaut
    par curiosité ca m'interresse bien de savoir ^^

  4. #4
    Membre éclairé
    Profil pro
    Webmaster
    Inscrit en
    Mai 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2008
    Messages : 281
    Par défaut
    moi aussi cela m'intéresse !

Discussions similaires

  1. [OL-2010] Dézipper PJ extraites automatiquement depuis Outlook
    Par 2lester dans le forum VBA Outlook
    Réponses: 3
    Dernier message: 22/01/2013, 12h39
  2. Creation de signature Outlook
    Par tkwebch dans le forum VBScript
    Réponses: 1
    Dernier message: 28/08/2012, 15h17
  3. [SP-2007] Creation d'un meeting Worspace depuis Outlook
    Par rems67 dans le forum SharePoint
    Réponses: 1
    Dernier message: 12/08/2009, 09h24
  4. Comportement étrange depuis WIndows 2003
    Par lolo le belge dans le forum Visual C++
    Réponses: 9
    Dernier message: 19/11/2006, 21h50
  5. Réponses: 2
    Dernier message: 22/09/2003, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo