Es gibt oft Vorteile wieso kein Roaming-Profil verwendet wird. Recht mĂĽhsam bei den lokalen Profilen ist es aber, dass die Signatur unter Microsoft Outlook jedes mal neu erzeugt werden muss. Um dies per Login-Script zu automatisieren, habe ich ein kleines Script geschrieben. Dies sucht sich die Informationen aus dem AD und schreibt diese in ein HTM Dokument.
- '
- ' Create_Signatures.vbs
- '
- ' 2010 Banzer Alessandro
- '
- ' Benutzername und Domäne abfragen
- On Error Resume Next
- Set objNW = WScript.CreateObject("WScript.Network")
- strUserDomain = objNW.UserDomain
- strUserName = objNW.UserName
- Set objNW = Nothing
- ' WinNT Namen in AD Namen ĂĽbersetzen
- ' siehe http://www.rlmueller.net/NameTranslateFAQ.htm
- Const ADS_NAME_INITTYPE_GC = 3
- Const ADS_NAME_TYPE_NT4 = 3
- Const ADS_NAME_TYPE_1779 = 1
- Set objTrans = CreateObject("NameTranslate")
- objTrans.Init ADS_NAME_INITTYPE_GC, ""
- objTrans.Set ADS_NAME_TYPE_NT4, strUserDomain & "\" & strUserName
- strUserDN = objTrans.Get(ADS_NAME_TYPE_1779)
- Set objTrans = Nothing
- ' Benutzer Objekt aus den AD holen und Attribute in Variablen speichern
- ' siehe http://www.rlmueller.net/References/ADUCProperties.xls
- Set objUser = GetObject("LDAP://" & strUserDN)
- strFirstname = objUser.givenName
- strLastname = objUser.sn
- strJobTitle = objUser.title
- strDepartment = objUser.Department
- strStreet = objUser.StreetAddress
- strPostalCode = objUser.PostalCode
- strCity = objUser.l
- strPhone = objUser.telephonenumber
- strFax = objUser.facsimiletelephonenumber
- strMobile = objUser.mobile
- strEmail = objUser.mail
- strWeb = objUser.wWWHomePage
- strCompany = objUser.company
- strCountry = objUser.co
- strCountryC = objUser.c
- Set objUser = Nothing
- ' Testen, ob Verzeichnis schon vorhanden und wenn nötig anlegen.
- Set WshShell = WScript.CreateObject("WScript.Shell")
- strAppData = WshShell.RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData")
- Set WshShell = Nothing
- Set objFS = CreateObject("Scripting.FileSystemObject")
- strSignatureDir = strAppData & "\Microsoft\Signatures"
- If Not objFS.FolderExists(strSignatureDir) Then
- objFS.CreateFolder(strSignatureDir)
- End If
- ' Signatur als HTM Datei Schreiben
- Set objFile = objFS.CreateTextFile(strSignatureDir & "\" & strUserName & ".htm")
- objFile.WriteLine("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>")
- objFile.WriteLine("<HTML xmlns:o = 'urn:schemas-microsoft-com:office:office'><HEAD><TITLE>" & strFirstname & " " & strLastname & " Signatur</TITLE>")
- objFile.WriteLine("<META content='text/html; charset=windows-1252' http-equiv=Content-Type>")
- objFile.WriteLine("<META name=GENERATOR content='MSHTML 8.00.7600.16490'></HEAD>")
- objFile.WriteLine("<BODY><DIV align=left><FONT size=1 face=Arial>")
- objFile.WriteLine("<u>______________________________________</u><BR> ")
- objFile.WriteLine("<BR>" & strFirstname & " " & strLastname)
- If strDepartment = "" Then
- objFile.WriteLine("<BR>" & strJobTitle)
- Else
- objFile.WriteLine("<BR>" & strJobTitle & ", " & strDepartment)
- End If
- objFile.WriteLine("<BR> <BR>" & strCompany)
- objFile.WriteLine("<BR>" & strStreet)
- objFile.WriteLine("<BR>" & strCountryC & " " & strPostalCode & " " & strCity & ", " & strCountry)
- If Not strMobile = "" Then
- objFile.WriteLine("<BR>Tel. " & strPhone & "")
- objFile.WriteLine("<BR>Mobile " & strMobile & "")
- objFile.WriteLine("<BR>Fax " & strFax & "")
- Else
- objFile.WriteLine("<BR>Tel. " & RTrim(strPhone) & ", Fax " & strFax )
- End If
- objFile.WriteLine("<BR>E-Mail <a href='mailto:" & strEmail & "'>" & LCase(strEmail) & "</a>")
- objFile.WriteLine("<BR>Internet <a href='http://" & strWeb & "'>" & strWeb & "</a>")
- objFile.WriteLine("<BR><u>______________________________________</u></FONT></DIV></BODY></HTML>")
- Set objFile = Nothing
- Set objFS = Nothing
- ' end of file











