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ó