Aláírások automatikus létrehozása az Outlook 2010/2013 programban a PowerShell használatával

Ebben a cikkben bemutatjuk, hogyan lehet automatikusan létrehozni felhasználói aláírást az Outlook 2010/2013 levelezőprogramban a PowerShell használatával, az Active Directory adatai alapján. A leírt módszernek köszönhetően biztosítani lehet, hogy amikor először jelentkezik be a rendszerbe és elindítja az Outlook programot, minden új tartományi felhasználó, egyetlen sablont használva, automatikusan aláírást készít az Active Directory-ról származó elérhetőségi adataival..

Természetesen ahhoz, hogy egy ilyen szkript helyesen működjön, szükséges, hogy az összes AD-felhasználó rendelkezzen aktuális adatokkal. Ebben a példában a következő Active Directory-attribútumokat fogjuk használni a felhasználói aláírásban:

  • A felhasználó neve oroszul (az esetemben ezeket az adatokat a Leírás attribútumban tárolják),
  • pozíció (Cím attribútum)
  • cégnév (vállalati mező)
  • Irányítószám, város és cím (PostalCode, City, StreetAddress)
  • telefonszám (OfficePhone)
  • levelezési cím (Mail)
  • weboldal címe (honlap)

3 fájlt kell létrehoznunk aláírási sablonokkal az Outlookhoz, formátumokban htm (HTML), rtf (Gazdag szöveg) és txt (Egyszerű szöveg). Az aláírási sablonok kialakításának, tartalmának és megjelenésének ezekben a fájlokban meg kell felelniük a vállalati e-mail aláírás követelményeinek.

Hozzon létre egy fájlt signature.htm a következő html kóddal:







őszintén


@NAME

    


@DESCRIPTION


@COMPANY




@POSTALCODE, @CITY, @STREETADDRESS


tel .: @ OFFICEPHONE


@WEBSITE


E-mail: @EMAIL



A fájl tartalma aláírás.rtf és aláírás.txt így lesz:

őszintén,
@NAME
@DESCRIPTION
@COMPANY
@POSTALCODE, @CITY, @STREETADDRESS
Tel. @OFFICEPHONE
E-mail: @EMAIL
oldal: @WEBSITE

A katalógusban C: \felhasználók\nyilvános\Letöltések hozzon létre egy mappát OutlookSignature, amelyben az Outlook aláírási sablonjait és a számítógép felhasználói aláírásait tárolják. A C: \ Users \ Public \ Downloads \ OutlookSignature könyvtárban hozzon létre egy alkönyvtárat sablonok, amelybe három fájlt kell aláírási sablonokkal másolni (ez manuálisan vagy a Csoportházirend-beállítások (GPP) használatával).

Hozzon létre egy új outlooksignature.ps1 fájlt a következő PowerShell-kóddal (minden kódblokk előtt rövid leírást adok)

Adja meg a változók halmazát. A $ User változó a felhasználónevet tartalmazza, ahonnan a szkript fut. A többi változóba megnevezzük a neveket és a fájlkiterjesztéseket, valamint az elérési utat.

$ Felhasználó = $ env: Felhasználónév
$ FileName = "aláírás"
$ FileExtension = "htm", "rtf", "txt"
$ Path = "C: \ Felhasználók \ Nyilvános \ Letöltések"
$ PathSignature = "$ Path \ OutlookSignature"
$ PathSignatureTemplates = "$ Path \ OutlookSignature \ Templates"
$ PathSignatureUser = "$ PathSignature \ $ felhasználó"
$ AppSignatures = $ env: APPDATA + "\ Microsoft \ Signatures"

Töltse le a PowerShell modult az AD-vel való együttműködéshez. Ezután a Get-ADUser parancsmag segítségével megkapjuk az érdeklődő felhasználói attribútumok értékeit az Active Directory-ban, és elmentjük azokat a $ AD_user objektumba..

megjegyzés. A Get-ADUser parancsmag futtatásához Windows 7 rendszeren az RSAT-t telepíteni kell a számítógépre, és engedélyeznie kell az összetevőt  Active Directory modul a Windows PowerShell számára (Vezérlőpult -> Programok és szolgáltatások -> A Windows szolgáltatások be- és kikapcsolása -> Távoli kiszolgáló adminisztrációs eszközök -> Szerepkör-kezelési eszközök -> AD DS és AD LDS eszközök)

Importmodul aktív könyvtár
$ AD_user = Get-ADUser $ Felhasználó - Tulajdonságok Cím, Vállalat, Leírás, Fax, Honlap, Mail, OfficePhone, PostalCode, City, StreetAddress

Hozzon létre egy könyvtárat a felhasználói aláírási fájlok tárolására, és másolja be a sablon fájlokat bele:

Új elem -Path "$ PathSignature \ $ User" -ItemType Container -Force
foreach ($ Ext in $ FileExtension)

Másolás-elem -Force "$ PathSignatureTemplates \ $ FileName. $ Ext" "$ PathSignatureUser \ $ FileName. $ Ext"

Ezután a csere funkció használatával kicseréljük a sablonokban szereplő adatokat az AD felhasználói adataira:

foreach ($ Ext in $ FileExtension)

(Get-Content "$ PathSignatureUser \ $ FileName. $ Ext") | Foreach-Object
$ _ '
-cserélje ki a "@NAME", $ AD_user.Description '
-helyettesítse a "@DESCRIPTION", $ AD_user.title '
-helyettesítse a "@COMPANY", $ AD_user.Company "
-helyettesítse a "@STREETADDRESS", $ AD_user.StreetAddress '
-cserélje ki a "@POSTALCODE", $ AD_user.PostalCode '
-helyettesítse a "@CITY", $ AD_user.City '
-cserélje ki a "@OFFICEPHONE", $ AD_user.OfficePhone '
-cserélje ki a "@EMAIL", $ AD_user.Mail '
-cserélje ki a "@WEBSITE", $ AD_user.Homepage "
| Set-Content "$ PathSignatureUser \ $ FileName. $ Ext"

Alá kell másolni az aláírási sablonfájlokat a könyvtárba, amelyben az Outlook 2010/2013/2016 az aláírásokat tárolja % APPDATA% \ Microsoft \ Signatures (C: \ felhasználók \ felhasználónév \ AppData \ roaming \ Microsoft \ aláírások).

foreach ($ Ext in $ FileExtension)

Másolat-tétel -Force "$ PathSignatureUser \ $ FileName. $ Ext" "$ AppSignatures \ $ User. $ Ext"
write-host "$ PathSignatureUser \ $ FileName. $ Ext"
write-host "$ AppSignatures \ $ User. $ Ext"

Ahhoz, hogy az Outlook a létrehozott fájlokat az indításhoz aláírási sablonokkal használja, szüksége van

  • Törlés opció Első futás a HKEY_CURRENT_USER \ Software \ Microsoft \ Office \\ Outlook \ Setup ágban
  • A HKEY_CURRENT_USER \ Software \ Microsoft \ Office \\ Common \ MailSettings ágban hozzon létre két karakterláncparamétert a nevekkel NewSignature és ReplySignature, amely tartalmazza a sablon nevét aláírással (példánkban a sablon neve megegyezik a fiók nevével az AD-ben)

Ennek megfelelően, az MS Office különféle verzióinak kezeléséhez a következő kódot kell hozzáadnia:

#Office 2010
If (Test-Path HKCU: '\ Software \ Microsoft \ Office \ 14.0')
Remove-ItemProperty -HKCU elérési út: \ Software \ Microsoft \ Office \ 14.0 \ Outlook \ Setup -Név első futtatása -Force -ErrorAction SilentlyContinue -Verbose
New-ItemProperty HKCU: '\ Software \ Microsoft \ Office \ 14.0 \ Common \ MailSettings' -Név 'ReplySignature' -Érték $ Felhasználó -PropertyType 'String' -Force
New-ItemProperty HKCU: '\ Software \ Microsoft \ Office \ 14.0 \ Common \ MailSettings' - Név 'NewSignature' - Érték $ Felhasználó -PropertyType 'String' -Force

#Office 2013
If (Test-Path HKCU: '\ Software \ Microsoft \ Office \ 15.0')
Remove-ItemProperty -HKCU elérési út: \ Software \ Microsoft \ Office \ 15.0 \ Outlook \ Setup -Név első futtatása -Force -ErrorAction SilentlyContinue -Verbose
New-ItemProperty HKCU: '\ Software \ Microsoft \ Office \ 15.0 \ Common \ MailSettings' -Név 'ReplySignature' -Érték $ Felhasználó -PropertyType 'String' -Force
New-ItemProperty HKCU: '\ Software \ Microsoft \ Office \ 15.0 \ Common \ MailSettings' -Név 'NewSignature' -Érték $ Felhasználó -PropertyType 'String' -Force

Ezt a PowerShell-parancsfájlt továbbra is hozzá kell rendelni a csoportházirend-preferenciák egyszeri futtatásához, amikor a felhasználó bejelentkezik. Ennek eredményeként az Outlook indításakor automatikusan a generált elektronikus aláírást fogja használni a küldött levelekhez (a cikk első képe példát mutat egy ilyen automatikusan létrehozott aláírásra).

Néhány tipp.

  • Ha az Outlook htm aláírást jelenít meg nagy (dupla) behúzással a sorok között, ez egy Outlook hiba. A legjobb, ha htm aláírási sablonnal készít egy fájlt közvetlenül az Outlook programban, és ezt a fájlt sablonként használja (% APPDATA% \ Microsoft \ tárolva). aláírások)
  • Felvehet egy felhasználói fényképet az Active Directory thumbnailPhoto attribútumából az aláíráshoz. mert Nincs egyszerű módszer a kép hozzáadásához az Outlook aláíráshoz, a legegyszerűbb módszer, ahogy a fenti bekezdésben is, egy aláírási sablon létrehozása egy önkényes képpel az Outlookban, és a PowerShell parancsfájl másolásával történő helyettesítése, a képfájl cseréje a sablonkönyvtárban (a kép a könyvtárban található) % AppData% \ Microsoft \ Signatures \ .files).
  • Az Exchange 2007 és újabb verziókban a legegyszerűbb szöveges aláírás, amelyet minden betű automatikusan beilleszt, szállítási szabályok segítségével is megvalósítható