Monday, September 24, 2012

Setting up a Corporate Signature

Exchange 2007
Exchange 2007 has the Transport Rules feature which you can use to set up a default disclaimer for each outgoing email message.
  1. Open the Exchange Management Console.
  2. In Organization Configuration select Hub Transport and then select the Transport Rules tab.
  3. In the Actions Pane click New Transport Rule…
  4. Name your rule and optionally add a Comment. For instance;
    Name: Corporate disclaimer
    Comment: This transport rule adds a standardized disclaimer text to all outgoing emails.
  5. Press Next.
  6. On the Conditions screen select the following 2 conditions;
    • from users inside or outside the organization
    • sent to users inside or outside the organization
  7. In the bottom pane, modify the conditions so that they read;
    • from users Inside the organization
    • and sent to users Outside the organization
  8. Press Next.
  9. In the Actions screen select the action;
    • append disclaimer text using font, size, color with separator and fall back to action if unable to apply.
  10. In the bottom pane you can modify the conditions to your preference.
    • Click on disclaimer text to set your default text.
      Note that the disclaimer text is Plain Text only so you can't type HTML code. If you want to add a link, you'll have to type it in full.
  11. Once done, press Next.
  12. You can set any exception as you see fit. You can continue without any exceptions as well.
  13. Press Next.
  14. On the Create Rule screen you'll see the PowerShell command that will be executed when clicking the New button.
  15. After pressing the New button the wizard has been completed and a summary is shown. Assuming it completed successfully, your Transport Rule has been created and is active now. Clicking Finish will close the New Transport Rule dialog.
Disclaimer options in Exchange 2007
Disclaimer options in Exchange 2007

Exchange 2010

Exchange 2010 also has the Transport Rules feature just as Exchange 2007 but has support for some additional customization as well. The most notable regarding signatures is that HTML code is now supported and that you can also use user information that has been stored in Active Directory to construct the signature dynamically.
  1. Open the Exchange Management Console.
  2. In  Organization Configuration select Hub Transport and then select the Transport Rules tab.
  3. In the Actions Pane click New Transport Rule…
  4. Name your rule and optionally add a Comment. For instance;
    Name: Corporate signature
    Comment: This transport rule adds a standardized signature and disclaimer text to all outgoing emails.
  5. Press Next.
  6. On the Conditions screen select the following 2 conditions;
    • from users that are inside or outside the organization
    • sent to users that are inside or outside the organization, or partners
  7. In the bottom pane, modify the conditions so that they read;
    • from users that are Inside the organization
    • and sent to users that are Outside the organization
  8. Press Next.
  9. In the Actions screen select the action;
    • append disclaimer text and fall back to action if unable to apply.
  10. In the bottom pane you can modify the conditions to your preference.
    • Click on disclaimer text to insert your default disclaimer text and add variables to include user information (see below for an overview of variables which you can use).
      Note that the disclaimer text allows you to use HTML code (including in-line CSS). This will allow you for instance to set different font size and colors for the signature and disclaimer part, add a horizontal line, hyperlink text or include a logo.
    • You can use up to 5000 characters
    • When a Plain Text message is sent, the HTML tags are automatically stripped off.
  11. Once done, press Next.
  12. You can set any exception as you see fit. You can continue without any exceptions as well.
  13. Press Next.
  14. On the Create Rule screen you'll see the PowerShell command that will be executed when clicking the New button.
  15. After pressing the New button the wizard has been completed and a summary is shown. Assuming it completed successfully, your Transport Rule has been created and is active now. Clicking Finish will close the New Transport Rule dialog.
Supported variables
You can use the following variables in your disclaimer text. When using them, place them between %% characters.
Example: %%DisplayName%%
UserLogonName
DisplayName
FirstName
Initials
LastName

PhoneNumber
OtherPhoneNumber
HomePhoneNumber
OtherHomePhoneNumber
PagerNumber
MobileNumber
FaxNumber
OtherFaxNumber
Email
Street
POBox
City
State
ZipCode
Country

Title
Department
Manager
Office
Company

Notes
CustomAttribute1 – CustomAttribute15

Disclaimer template text in Exchange 2010
Disclaimer template text with HTML and variables in Exchange 2010

Outlook Signature deployment via script

If you are not using Exchange or are looking for a client (Outlook) level solution to generate your signatures, you can do this via a script. There are various ways to do this of course but there are a couple of common things to keep in mind when going for a custom script;
  • The signature has to end up in the user's Signatures folder.
  • A single signature contains a Plain Text, HTML and Rich Text version of your template with their corresponding file formats;
    *.txt, *.htm and *.rtf
  • You'll need to query Active Directory via LDAP if you want to include user specific information.
  • Consider how you want to update the signature. For instance;
    Are you going to run the script each time at logon or only once and then users can run the script manually via a Start Menu shortcut?
  • Are you going to disable access to the Signature feature via Group Policies?
  • Note that you cannot set the deployed signature as the default via Group Policies; this requires an additional script that queries the mail profile registry and sets the appropriate registry keys (see below script example for further details).
Below you'll find a sample script to help you on your way, it is not intended for use as-is.
'Option Explicit
On Error Resume Next

   Dim strSigName
   Dim strFullName, strTitle, strCompany, strTel, strFax, strEmail, strWeb, strCorpEmail
   Dim boolUpdateStyle

'==========================================================================
' Some script variables
'==========================================================================

'  Name signature
   strSigName  = "Standard Signature"
'  If signature exists, overwrite (true) or leave alone (false)?
   boolUpdateStyle = true

'==========================================================================
' Set some static information
'==========================================================================

'  Company information
   strCompany  = "Your Company Name"
   strTel      = "+12 1234 567890"
   strFax      = "+12 9876 543210"
   strWeb      = "http://www.yourdomain.com"

'  Fallback email address when no address is found
   strCorpEmail = "contact@yourdomain.com"

'==========================================================================
' Read User's Active Directory information
'==========================================================================
   Dim objSysInfo, objUser

   Set objSysInfo = CreateObject("ADSystemInfo")
   Set objUser    = GetObject("LDAP://" & objSysInfo.Username)

   strFullName = objUser.displayname
   strTitle    = objUser.title
   strEmail    = objuser.emailaddress

   If Trim(strTitle) = "" Then strTitle = "_"
   If Trim(strEmail) = "" Then strEmail = strCorpEmail

   Set objUser    = Nothing
   Set objSysInfo = Nothing


'==========================================================================
' Get Signature Folder
'==========================================================================
   Dim objShell
   Set objShell = CreateObject("WScript.Shell")
   strSigFolder = ObjShell.ExpandEnvironmentStrings("%appdata%") & "\Microsoft\Signatures\"
   Set objShell = Nothing


'==========================================================================
' Get Signature Folder
'==========================================================================
   Dim objFSO, objFile
   Set objFSO   = CreateObject("Scripting.FileSystemObject")

   If Not (objFSO.FolderExists(strSigFolder)) Then
      Call objFSO.CreateFolder(strSigFolder)
   End If

   strHTMFile = strSigFolder & strSigName & ".htm"
   strRTFFile = strSigFolder & strSigName & ".rtf"
   strTXTFile = strSigFolder & strSigName & ".txt"


'==========================================================================
' Create HTM File
'==========================================================================
'chr(47) = /

   Err.Clear
   Set objFile = objFSO.CreateTextFile(strHTMFile, boolUpdateStyle, False)
   If Err.Number = 0 Then
      objFile.Write " <" & Chr(47) & "title> <" & Chr(47) & "head> <body>"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "<p> <span style=""FONT-SIZE: 10pt; COLOR:#1F497D; FONT-FAMILY: Calibri"">"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write strFullName & "<br />"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write strTitle & "<br />"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write strCompany & "<br />"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "T: " & strTel & "   F: " & strFax & "<br />"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "E: <a href=""mailto:" & strEmail & """ style=""FONT-SIZE: 10pt; COLOR:#1F497D; </font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">FONT-FAMILY: Calibri"""</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write ">" & strEmail & "<" & Chr(47) & "a>"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "   <a href=""" &strWeb & """ style=""FONT-SIZE: 10pt; COLOR:#1F497D; FONT-FAMILY: </font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">Calibri"""</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write ">" & strWeb & "<" & Chr(47) & "a>"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "<" & Chr(47) & "p>"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "<span style=""FONT-SIZE: 10pt; COLOR: Green; FONT-FAMILY: Calibri"">"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "<span style=""FONT-SIZE: 18pt; COLOR: Green; FONT-FAMILY: Webdings"">P<" & Chr(47) & </font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">"span>"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "Please consider the environment - do you really need to print this email?<br />"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "<" & Chr(47) & "span><" & Chr(47) & "p>"&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "<" & Chr(47) & "body> <" & Chr(47) & "html> "&vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.close</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">   End If</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">'==========================================================================</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">' Create TXT File</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">'==========================================================================</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">   Err.Clear</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">   Set objFile = objFSO.CreateTextFile(strTXTFile, boolUpdateStyle, False)</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">   If Err.Number = 0 Then</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write strFullName & vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write strTitle & vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write strCompany & vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "T: " & strTel   & "   F: " & strFax & vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "E: " & strEmail & vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write strWeb & vbCrLf & vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.Write "Please consider the environment - do you really need to print this email?" & vbCrLf</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.close</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">   End If</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">'==========================================================================</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">' Create RTF File</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">'==========================================================================</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">   Err.Clear</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">   Set objFile = objFSO.CreateTextFile(strRTFFile, boolUpdateStyle, False)</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">   If Err.Number = 0 Then</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objfile.write "{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">{\f1\froman\fprq2\fcharset2 Webdings;}}" & vbCrLF</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objfile.write "{\colortbl;\red031\green073\blue125;\red0\green0\blue255;\red0\green128\blue0;}" & </font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">vbCrLF</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objfile.write "{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">\sb100\sa100\cf1\lang2057\f0\fs20 " & strFullName & "\line "</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objfile.write strTitle & "\line " & strCompany & "\line T: " & strTel & "   F: " & strFax & "\line E: "</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objfile.write "{\field{\*\fldinst{HYPERLINK ""mailto:" & strEmail & """}}{\fldrslt{\ul " & strEmail & </font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">"}}}\ulnone\f0\fs20    "</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objfile.write "{\field{\*\fldinst{HYPERLINK """ & strWeb & """}}{\fldrslt{\ul " & strWeb & "}}}\ulnone</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">\f0\fs20\par" & vbCrLF</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objfile.write "\cf3\f1\fs36 P\fs20  \f0 Please consider the environment - do you really need to print </font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">this email?\par" & vbCrLF</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objfile.write "\pard\cf1\lang1033\par" & vbCrLF</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objfile.write "}" & vbCrLF</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">      objFile.close</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">   End If</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2"><br></font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">'==========================================================================</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">' Tidy-up</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">'==========================================================================</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">   set objFile = Nothing</font></p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <font color="#031634" face="Arial, Helvetica, sans-serif" size="2">   set objFSO  = Nothing</font></p> <p style="font-style: normal; margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <br></p> <p> </p> <p style="color: rgb(3, 22, 52); font-family: inherit; font-size: 13px; font-style: normal; margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <br></p> <p style="color: rgb(3, 22, 52); font-family: inherit; font-size: 13px; font-style: normal; margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> <strong>Set generated signature as the default signature<br></strong>As mentioned before, you'll require an additional script if you want to set the generated signature directly as the default in Outlook without any additional user interaction. This additional script can be simplified if all your mail profiles are named the same in your organizations and have been created by a prf-script via the Office Resource Kit (ORT) or Office Customization Tool (OCT).</p> <p style="color: rgb(3, 22, 52); font-family: inherit; font-size: 13px; font-style: normal; margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> When you automated the mail profile creation process, then it could be that the mail profile registry is structured in the same way on all your clients. Setting the created signature as the default can then be done via an import of exported <a href="http://msoutlook.info/question/290" target="_blank" title="Editing the Registry" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold; font-style: inherit; font-family: inherit; vertical-align: baseline; color: rgb(0, 130, 206); text-decoration: none; ">registry</a> keys. If not, you'll have to query the mail profile registry keys via a vbs-script and set the values accordingly. The registry keys involved are structured in the following way;</p> <p style="color: rgb(3, 22, 52); font-family: inherit; font-size: 13px; font-style: normal; margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> Key: <code style="margin: 0px; padding: 0px 3px; border: 0px; font-size: 12px; font-family: Consolas, Monaco, 'Courier New', monospace; vertical-align: baseline; line-height: 1.25; background-color: rgb(238, 238, 238); ">HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\<em style="margin: 0px; padding: 0px; border: 0px; font-family: inherit; vertical-align: baseline; "><profilename></em>\9375CFF0413111d3B88A00104B2A6676\<em style="margin: 0px; padding: 0px; border: 0px; font-family: inherit; vertical-align: baseline; "><########></em></code></p> <p style="color: rgb(3, 22, 52); font-family: inherit; font-size: 13px; font-style: normal; margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> In the key, replace <em style="margin: 0px; padding: 0px; border: 0px; font-family: inherit; vertical-align: baseline; "><profilename></em> with the default mail profile name for your company and<em style="margin: 0px; padding: 0px; border: 0px; font-family: inherit; vertical-align: baseline; "><########></em> with the number representing the mail account ID to be configured with the default signature.</p> <p style="color: rgb(3, 22, 52); font-family: inherit; font-size: 13px; font-style: normal; margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> In this key set the following value names and types;<br>Value name: New Signature<br>Value name: Reply-Forward Signature<br>Value type: REG_BINARY</p> <p style="color: rgb(3, 22, 52); font-family: inherit; font-size: 13px; font-style: normal; margin-bottom: 1em; padding: 0px; border: 0px; vertical-align: baseline; "> As for the value for this key, since these are binary keys, the easiest would be to export these 2 values from a correctly configured machine to determine their corresponding value.</p> <p> </p> <p style="margin-bottom: 1em; padding: 0px; border: 0px; font-size: 13px; font-family: Arial, Helvetica, sans-serif; vertical-align: baseline; color: rgb(3, 22, 52); background-color: rgb(255, 255, 255); "> <em style="margin: 0px; padding: 0px; border: 0px; font-family: inherit; vertical-align: baseline; "><br></em></p> </div> </DIV>

Friday, September 14, 2012

Configuring and Managing Mailbox Database in Exchange server 2010-Part 1


Configuring and Managing Mailbox Database in Exchange server 2010(Part 1)

  • Create a new Mailbox Database-Using EMC

  1. In the Exchange management Console navigate to Organization Configuration > Mailbox. There you can see the difference with Exchange 2007. In Exchange 2010 you must create a Mailbox database in the Organization Configuration section.
  2. In the action pane, click New Mailbox Database.
3. Then you can see the Introduction page. Then you must add a name for the database. You can type maximum 64 characters and must exclude : =\ / ” , ;. characters.
2
4. Then Select Server name on which server you want to create the database. In my lab I selected E14-Srv01.
3
5. Click next. Then appears the set paths screen to set database path and log file path. I don’t have many partitions on the test server but technically you must place the database and log files in different disks sets.
Set database path and log files path. Then select Mount the database checkbox to mount database automatically after creation.
5
 6. Click New to start procedure.
6
7. Then you can see powershell cmdlet EMC used to create mailbox database same as Exchange 2007. Also you will see whether database has been created successfully or has failed.
7
8. Click finish to complete Mailbox database creation task.then new database appears on the Database Management tab.
8
 9. Click Finish to complete Mailbox database creation task. Then new database appears on the Database Management tab.
  • Mount and Dismount the Database-Using EMC 

1. In the Exchange Management Console navigate to Organization Configuration > Mailbox
2. In the result pane select apocopate Database (In this article select members Database).then select Dismount database or Mount Database on action pane.
9
  • Remove Mailbox Database-Using EMC

1. In the Exchange management Console navigate to Organization Configuration > Mailbox
2. In the result pane select apocopate Database (In this article select members Database).then click Remove on Action pane.
10
3. In the appearing confirmation dialog box Click Yes
11
 4. Then appears a completion message box. Click Ok. You must remove database files manually after clicking yes.
12

  • Configure maintenance schedule for a database-Using EMC 

Exchange 2010 doesn’t do anymore online defrag and uses background checksumming .
1. In the Exchange management Console navigate to Organization Configuration > Mailbox
2. On the result pane select appropriate mailbox Database. Then click properties on the action pane.
13
3. Then appears the screen of appropriate Mailbox Database. click maintenance tab.
14
4. Then you can see maintenance schedule list under maintenance schedule. Use customize button to set the custom maintenance schedule.
14
5. Click Ok to save your changes.

Sunday, September 9, 2012

How to Configure Storage Quotas for a Mailbox Database


Description: Bb201753.note(en-us,EXCHG.80).gifNote:
Storage quotas can also be configured on a per-mailbox basis. This allows administrators   to specify custom quota limits for specific mailboxes, while still using the default values       configured for the database for the remaining mailboxes..
When a mailbox size reaches or exceeds a specified storage quota limit, Microsoft Exchange Server    2007 sends a descriptive notification to the mailbox owner. Exchange 2007 allows you to customize    the content of these notification messages.


  1. Start the Exchange Management Console.
  2. In the console tree, expand Server Configuration, and then click Mailbox.
  3. In the result pane, select the server that contains the mailbox database for which you want to       configure storage quotas.
  4. In the work pane, select the mailbox database for which you want to configure storage quotas.
  5. In the action pane, under the name of the mailbox database, click Properties.
  6. In  Properties, click the Limits tab.
  7. On the Limits tab, under Storage limits, complete the following fields:
·         Issue warning at (KB)   Select this check box and use the corresponding text box to specify the maximum storage limit in kilobytes (KB) before a warning is issued to the mailboxes. The value range is from 0 through 2,147,483,647 KB. If a mailbox size reaches or exceeds the value specified, Exchange will send a warning message to that mailbox.
·         Prohibit send at (KB)   Select this check box and use the corresponding text box to specify a prohibit send limit in KB for mailboxes. The value range is from 0 through 2,147,483,647 KB. If a mailbox size reaches or exceeds the specified limit, Exchange will prevent that mailbox user from sending new messages and will display a descriptive error message.
·         Prohibit send and receive at (KB)   Select this check box and use the corresponding text box to specify a prohibit send and receive limit in KB for mailboxes. The value range is from 0 through 2,147,483,647 KB. If a mailbox size reaches or exceeds the specified limit, Exchange will prevent that mailbox user from sending new messages and will not deliver any new messages to the mailbox. Any messages that are sent to the mailbox will be returned to the sender with a descriptive error message.
·         Warning message interval   Use this list to specify a time at which mailboxes in the database are scanned for compliance with the storage limits configured. Exchange will send notification messages to all mailboxes for which the size exceeds one or more of the storage limits. You can select from one of the predefined intervals in the list or create a custom schedule.
To create a custom schedule, click Customize to open the Schedule dialog box. Use the time grid to specify the custom schedule, and then click OK
  1. Click OK.

·         Run the following command to set the warning, prohibit send, and prohibit send and receive   limits for the mailbox database MailboxDatabase1 on Server1 to 200 megabytes (MB), 250 MB, and 280 MB respectively and to configure the storage limit compliance scan to run between     02:00 and 03:00 on Wednesdays and Sundays:

    Set-MailboxDatabase -Identity "Server1\MailboxDatabase1" -IssueWarningQuota 209715200 -ProhibitSendQuota 262144000 -ProhibitSendReceiveQuota 293601280 -QuotaNotificationSchedule "Sun.2:00-Sun.3:00","Wed.2:00-Wed.3:00"