Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Function Set-TermInboxRule() {
- param(
- [Parameter(Mandatory=$true, Position=0)]
- [Alias('Username')]
- [System.String]
- $userID
- )
- Import-Module -Name "C:\Program Files\Microsoft\Exchange\Web Services\2.0\Microsoft.Exchange.WebServices.dll"
- $user = Get-ADUser -Identity $userID
- #Enter credential to connect to Exchange
- $psCred = Get-Credential
- $cred = New-Object System.Net.NetworkCredential($psCred.UserName.ToString(),$psCred.GetNetworkCredential().password.ToString())
- #Create template email message
- $service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService
- $service.Credentials = $cred
- $service.AutodiscoverUrl("$($user.UserPrincipalName)",{$true})
- $templateEmail = New-Object Microsoft.Exchange.WebServices.Data.EmailMessage($service)
- $templateEmail.ItemClass = "IPM.Note.Rules.ReplyTemplate.Microsoft"
- $templateEmail.IsAssociated = $true
- $templateEmail.Subject = "$($user.Name) is no longer with <company name>"
- $bodyString = Read-MultiLineInputBoxDialog "Enter the message" "Message" $htmlBodyString
- $bodyString = $bodyString.replace("`n", "<BR>`n")
- $templateEmail.Body = New-Object Microsoft.Exchange.WebServices.Data.MessageBody($bodyString)
- $PidTagReplyTemplateId = New-Object Microsoft.Exchange.WebServices.Data.ExtendedPropertyDefinition(0x65C2, [Microsoft.Exchange.WebServices.Data.MapiPropertyType]::Binary)
- $templateEmail.SetExtendedProperty($PidTagReplyTemplateId, [System.Guid]::NewGuid().ToByteArray())
- $templateEmail.Save([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox)
- #Create Inbox Rule
- $inboxRule = New-Object Microsoft.Exchange.WebServices.Data.Rule
- $inboxRule.DisplayName = "Termination Auto Reply"
- $inboxRule.IsEnabled = $true
- $inboxRule.Conditions.SentToOrCcMe = $true
- $inboxRule.Actions.ServerReplyWithMessage = $templateEmail.Id
- $createRule = New-Object Microsoft.Exchange.WebServices.Data.CreateRuleOperation[] 1
- $createRule[0] = $inboxRule
- $service.UpdateInboxRules($createRule,$true)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement