Computer >> Máy Tính >  >> Phần mềm >> Thư

Tạo chữ ký Outlook 2010/2013 bằng thông tin quảng cáo

Trong bài viết này, chúng tôi sẽ trình bày cách tự động tạo chữ ký người dùng trong Outlook 2010/2013 dựa trên dữ liệu từ Active Directory. Tình huống sau sẽ được xem xét:lần đầu tiên người dùng miền mới đăng nhập vào máy trạm, tập lệnh PowerShell sẽ tự động tạo tệp chữ ký người dùng Outlook với thông tin liên hệ của nó được truy xuất từ ​​Active Directory.

Để tập lệnh này hoạt động chính xác, tất cả người dùng trong AD phải được điền đầy đủ các thuộc tính bắt buộc. Trong ví dụ này, chúng tôi sẽ sử dụng các thuộc tính Active Directory sau trong chữ ký của người dùng:

  • Tên người dùng đầy đủ (trong trường hợp của tôi, những dữ liệu này được lưu trữ trong thuộc tính Mô tả)
  • Vị trí (Title)
  • Tên công ty (Company)
  • Mã bưu điện, thành phố và địa chỉ (Mã bưu điện, Thành phố, Địa chỉ đường phố)
  • Số điện thoại (OfficePhone)
  • E-mail (Thư)
  • Trang web (Trang chủ)

Tạo chữ ký Outlook 2010/2013 bằng thông tin quảng cáo

Bạn cần tạo 3 tệp có mẫu chữ ký cho Outlook trong htm (HTML), rtf (Văn bản đa dạng thức) và txt (Văn bản thuần túy). Thiết kế, nội dung và hình thức của các mẫu chữ ký trong các tệp này phải tuân thủ các yêu cầu đối với chính sách chữ ký e-mail của công ty.

Tạo tệp signature.htm chứa mã HTML sau:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head></head>
<body>
<div id style="font-family:Arial&;color:#5B9BD5;">
<span style="font-size:10pt;color:#000000;">
<b><p>Best Regards</p>
<p>@NAME</p>      </span>
<span style="font-size:9.0pt;">
<p>&nbsp;</p>
<p>@DESCRIPTION</p>
<p>@COMPANY</p></b>
<p> &nbsp;</p></span>
<span style="font-size:8.0pt;">
<p> @POSTALCODE, @CITY, @STREETADDRESS</p>
<p> Phone.@OFFICEPHONE</p>
<p> <a href="https://@WEBSITE">@WEBSITE</a></p>
<p>e-mail:<a href="mailto:@EMAIL">@EMAIL</a></span>
</div>
</body>
</html>

Tạo chữ ký Outlook 2010/2013 bằng thông tin quảng cáo

Nội dung của signature.rtf signature.txt các tệp phải như sau:

Best Regards,
@NAME
@DESCRIPTION
@COMPANY
@POSTALCODE, @CITY, @STREETADDRESS
Phone. @OFFICEPHONE
e-mail:@EMAIL
site:@WEBSITE

Tạo thư mục OutlookSignature trong C:\ Users \ Public \ Downloads để lưu trữ các mẫu chữ ký cho Outlook và chữ ký của người dùng máy tính. Trong C:\ Users \ Public \ Downloads \ OutlookSignature tạo một thư mục con Mẫu và sao chép ba tệp chứa các mẫu chữ ký vào đó. Bạn có thể làm điều đó theo cách thủ công hoặc sử dụng Tùy chọn chính sách nhóm (GPP).

Tạo chữ ký Outlook 2010/2013 bằng thông tin quảng cáo

Tạo tệp mới outlooksignature.ps1 với mã PowerShell sau (Tôi sẽ mô tả ngắn gọn về từng khối mã)

Xác định tập hợp các biến. Biến $ User chứa tên của người dùng mà tập lệnh được chạy từ tài khoản của họ. Chỉ định tên và phần mở rộng của tệp cũng như đường dẫn đến chúng trong các biến khác.

$User = $env:UserName
$FileName = "signature"
$FileExtension = "htm","rtf","txt"
$Path = "C:\Users\Public\Downloads"
$PathSignature = "$Path\OutlookSignature"
$PathSignatureTemplates = "$Path\OutlookSignature\Templates"
$PathSignatureUser = "$PathSignature\$User"
$AppSignatures =$env:APPDATA + "\Microsoft\Signatures"

Nhập mô-đun PowerShell để truy cập AD. Sử dụng lệnh ghép ngắn Get-ADUser, nhận các giá trị của các thuộc tính người dùng trong Active Directory mà bạn cần và lưu chúng vào đối tượng $ AD_user.

Lưu ý . Để lệnh ghép ngắn Get-ADUser hoạt động trong Windows 7, RSAT phải được cài đặt trên máy tính của bạn. Thành phần Mô-đun Active Directory dành cho Windows PowerShell cũng phải được bật (Bảng điều khiển -> Chương trình và Tính năng -> Bật / Tắt Tính năng của Windows -> Công cụ quản trị máy chủ từ xa -> Công cụ quản trị vai trò -> Công cụ AD DS và AD LDS.

Import-module activedirectory
$AD_user = Get-ADUser $User -Properties Title,Company,Description,Fax,HomePage,Mail,OfficePhone,PostalCode,City,StreetAddress

Tạo một thư mục để lưu trữ các tệp chữ ký của người dùng và sao chép các mẫu vào đó:

New-Item -Path "$PathSignature\$User" -ItemType Container –Force
foreach ($Ext in $FileExtension)
{
Copy-Item -Force "$PathSignatureTemplates\$FileName.$Ext" "$PathSignatureUser\$FileName.$Ext"
}

Sau đó, sử dụng thay thế tính năng, thay thế dữ liệu trong các mẫu bằng dữ liệu người dùng từ AD:

foreach ($Ext in $FileExtension)
{
(Get-Content "$PathSignatureUser\$FileName.$Ext") | Foreach-Object {
$_`
-replace "@NAME", $AD_user.Description `
-replace "@DESCRIPTION", $AD_user.title `
-replace "@COMPANY", $AD_user.Company `
-replace "@STREETADDRESS", $AD_user.StreetAddress `
-replace "@POSTALCODE", $AD_user.PostalCode `
-replace "@CITY", $AD_user.City `
-replace "@OFFICEPHONE", $AD_user.OfficePhone `
-replace "@EMAIL", $AD_user.Mail `
-replace "@WEBSITE", $AD_user.Homepage `
} | Set-Content "$PathSignatureUser\$FileName.$Ext"
}

Bây giờ bạn chỉ cần sao chép các tệp có chứa mẫu chữ ký vào thư mục, trong đó Outlook 2010/2013/2016 lưu trữ chữ ký - % APPDATA% \ Microsoft \ Signatures (C:\ Users \ tên người dùng \ AppData \ Roaming \ Microsoft \ Signatures).

foreach ($Ext in $FileExtension)
{
Copy-Item -Force "$PathSignatureUser\$FileName.$Ext" "$AppSignatures\$User.$Ext"
write-host "$PathSignatureUser\$FileName.$Ext"
write-host "$AppSignatures\$User.$Ext"
}

Để Outlook sử dụng các tệp này với các mẫu chữ ký khi khởi động, hãy làm như sau:

  1. Xóa Lần chạy đầu tiên giá trị từ HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ \ Outlook \ Setup
  2. Trong HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ \ Common \ MailSettings, tạo hai giá trị chuỗi với tên Chữ ký mới ReplySignature , sẽ chứa tên mẫu và chữ ký (trong trường hợp của chúng tôi, tên mẫu giống với tên tài khoản AD)

Để làm việc trong các phiên bản MS office khác nhau, bạn phải thêm mã này:

#Office 2010
If (Test-Path HKCU:'\Software\Microsoft\Office\14.0') {
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Office\14.0\Outlook\Setup -Name First-Run -Force -ErrorAction SilentlyContinue -Verbose
New-ItemProperty HKCU:'\Software\Microsoft\Office\14.0\Common\MailSettings' -Name 'ReplySignature' -Value $User -PropertyType 'String' -Force
New-ItemProperty HKCU:'\Software\Microsoft\Office\14.0\Common\MailSettings' -Name 'NewSignature' -Value $User -PropertyType 'String' -Force
}
#Office 2013
If (Test-Path HKCU:'\Software\Microsoft\Office\15.0') {
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Office\15.0\Outlook\Setup -Name First-Run -Force -ErrorAction SilentlyContinue -Verbose
New-ItemProperty HKCU:'\Software\Microsoft\Office\15.0\Common\MailSettings' -Name 'ReplySignature' -Value $User -PropertyType 'String' -Force
New-ItemProperty HKCU:'\Software\Microsoft\Office\15.0\Common\MailSettings' -Name 'NewSignature' -Value $User -PropertyType 'String' -Force
}

Tạo chữ ký Outlook 2010/2013 bằng thông tin quảng cáo

Chỉ cần làm cho tập lệnh PowerShell này chạy một lần bằng Tùy chọn Chính sách Nhóm khi người dùng đăng nhập vào hệ thống. Do đó, Outlook sẽ sử dụng chữ ký mà chúng tôi đã tạo cho các e-mail gửi đi. Hình ảnh đầu tiên của bài viết cho thấy một mẫu chữ ký này.

Một số mẹo

  • Nếu Outlook hiển thị chữ ký HTM với khoảng cách lớn (gấp đôi) giữa các dòng thì đó là lỗi Outlook. Tốt hơn nên tạo chữ ký HTM ngay trong Outlook và sử dụng chữ ký đó làm mẫu (được lưu trữ trong% APPDATA% \ Microsoft \ Signatures)
  • Bạn cũng có thể thêm ảnh người dùng từ thuộc tính thumbnailPhoto của Active Directory vào chữ ký. Vì không có bất kỳ cách đơn giản nào để thêm hình ảnh vào chữ ký Outlook, như trong mục ở trên, tốt hơn là bạn nên tạo một mẫu chữ ký có chứa bất kỳ hình ảnh nào trong Outlook và bằng cách sao chép thay thế tệp hình ảnh trong thư mục mẫu trong tập lệnh PowerShell (hình ảnh được lưu trữ trong % AppData% \ Microsoft \ Signatures \ .files ).
  • Trong Exchange 2007 trở lên, bạn có thể chèn chữ ký đơn giản nhất vào tất cả các email bằng Quy tắc truyền tải