이 도움말에서는 Active Directory의 데이터를 기반으로 Outlook 2010/2013에서 사용자 서명을 자동으로 만드는 방법을 보여줍니다. 다음 시나리오가 고려됩니다. 새 도메인 사용자가 워크스테이션에 처음 로그온할 때 PowerShell 스크립트는 Active Directory에서 검색된 연락처 정보와 함께 Outlook 사용자 서명 파일을 자동으로 생성합니다.
이 스크립트가 올바르게 작동하려면 AD의 모든 사용자가 모든 필수 속성으로 채워져야 합니다. 이 예에서는 사용자 서명에 다음 Active Directory 속성을 사용합니다.
- 전체 사용자 이름(제 경우 이러한 데이터는 설명 속성에 저장됨)
- 직위(제목)
- 회사명(회사)
- 우편번호, 도시 및 주소(PostalCode, City, StreetAddress)
- 전화번호(OfficePhone)
- 이메일(메일)
- 웹사이트(홈페이지)
htm에서 Outlook용 서명 템플릿으로 3개의 파일을 생성해야 합니다. (HTML), rtf (서식 있는 텍스트) 및 txt (일반 텍스트) 형식. 이 파일에 있는 서명 템플릿의 디자인, 내용 및 모양은 회사 전자 메일 서명 정책의 요구 사항을 준수해야 합니다.
signature.htm 파일 생성 다음 HTML 코드 포함:
<!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> </p>
<p>@DESCRIPTION</p>
<p>@COMPANY</p></b>
<p> </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>
signature.rtf의 내용 및 signature.txt 파일은 다음과 같아야 합니다.
Best Regards,
@NAME
@DESCRIPTION
@COMPANY
@POSTALCODE, @CITY, @STREETADDRESS
Phone. @OFFICEPHONE
e-mail:@EMAIL
site:@WEBSITE
OutlookSignature 폴더 만들기 C:\Users\Public\Downloads Outlook의 서명 템플릿과 컴퓨터 사용자의 서명을 저장합니다. C:\Users\Public\Downloads\OutlookSignature에서 Templates 하위 폴더를 만듭니다. 서명 템플릿이 포함된 세 개의 파일을 복사합니다. 수동으로 또는 그룹 정책 기본 설정(GPP)을 사용하여 수행할 수 있습니다.
새 파일 outlooksignature.ps1 만들기 다음 PowerShell 코드 사용(각 코드 블록에 대한 간단한 설명 제공)
변수 집합을 결정합니다. $User 변수에는 스크립트가 실행되는 계정의 사용자 이름이 포함됩니다. 다른 변수에 파일의 이름과 확장자 및 경로를 지정합니다.
$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"
PowerShell 모듈을 가져와 AD에 액세스합니다. Get-ADUser cmdlet을 사용하여 Active Directory에서 필요한 사용자 특성 값을 가져와 $AD_user 개체에 저장합니다.
참고 . Windows 7에서 Get-ADUser cmdlet이 작동하려면 컴퓨터에 RSAT가 설치되어 있어야 합니다. 구성 요소 Windows PowerShell용 Active Directory 모듈 또한 활성화해야 합니다(제어판 -> 프로그램 및 기능 -> Windows 기능 켜기/끄기 -> 원격 서버 관리 도구 -> 역할 관리 도구 -> AD DS 및 AD LDS 도구.
Import-module activedirectory
$AD_user = Get-ADUser $User -Properties Title,Company,Description,Fax,HomePage,Mail,OfficePhone,PostalCode,City,StreetAddress
사용자 서명 파일을 저장할 폴더를 만들고 템플릿을 복사합니다.
New-Item -Path "$PathSignature\$User" -ItemType Container –Force
foreach ($Ext in $FileExtension)
{
Copy-Item -Force "$PathSignatureTemplates\$FileName.$Ext" "$PathSignatureUser\$FileName.$Ext"
}
그런 다음 바꾸기를 사용하여 기능, 템플릿의 데이터를 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"
}
이제 Outlook 2010/2013/2016이 서명을 저장하는 폴더에 서명 템플릿이 포함된 파일을 복사하기만 하면 됩니다. %APPDATA%\Microsoft\Signatures (C:\Users\사용자 이름\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이 시작될 때 이러한 파일을 서명 템플릿과 함께 사용하도록 하려면 다음을 수행하십시오.
- 최초 실행 삭제 HKEY_CURRENT_USER\Software\Microsoft\Office\
\Outlook\Setup
값 - HKEY_CURRENT_USER\Software\Microsoft\Office\
\Common\MailSettings에서 이름이 NewSignature인 두 개의 문자열 값을 만듭니다. 및 답장 서명 , 템플릿 이름과 서명이 포함됩니다(이 경우 템플릿 이름은 AD 계정 이름과 동일함)
다른 MS Office 버전에서 작업하려면 다음 코드를 추가해야 합니다.
#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
}
사용자가 시스템에 로그인할 때 그룹 정책 기본 설정을 사용하여 이 PowerShell 스크립트를 한 번만 실행하도록 하십시오. 결과적으로 Outlook은 보내는 전자 메일에 대해 만든 서명을 사용합니다. 기사의 첫 번째 이미지는 이 서명의 샘플을 보여줍니다.
몇 가지 팁
- Outlook에서 줄 사이에 큰(이중) 공백이 있는 HTM 서명을 표시하면 Outlook 버그입니다. Outlook에서 바로 HTM 서명을 만들어 템플릿으로 사용하는 것이 좋습니다(%APPDATA%\Microsoft\Signatures에 저장됨)
- Active Directory의 thumbnailPhoto 속성에서 사용자 사진을 서명에 추가할 수도 있습니다. 위의 항목처럼 Outlook 서명에 이미지를 추가하는 간단한 방법이 없으므로 Outlook에서 아무 이미지나 포함하는 서명 템플릿을 만들고 PowerShell 스크립트의 템플릿 폴더에 있는 이미지 파일을 복사하여 교체하는 것이 좋습니다. (이미지는 %AppData%\Microsoft\Signatures\
.files 에 저장됩니다. ). - Exchange 2007 이상에서는 전송 규칙을 사용하여 모든 이메일에 가장 간단한 서명을 삽입할 수 있습니다.