de-DEen-GB
 
MVP - Most Valuable Professional
rss

Just can't get enough of IT

This blog is about mostly anything in IT. But the primary focuses are Microsoft Technologies like Exchange, Office 365, Azure and Cloud Security.

Description

This script copies a single receive connector from a source Exchange Server to a single target Exchange server or to all other Exchange servers.

The primary purposes of this script are:

  • Simplify migration of legacy Exchange receive connectors (Exchange 2007 or Exchange2010) to a modern Exchange server (Exchange 2013 or Exchange 2016)
  • Simplify receive connector distribution across multiple Exchange servers (Exchange 2013 or Exchange 2016)

Examples

Copy Exchange 2013/2016 receive connector nikos-one-RC2 from server MBX01 to server MBX2

.\Copy-ReceiveConnector.ps1 -SourceServer MBX01 -ConnectorName nikos-one-RC2 `
-TargetServer MBX2 -DomainController MYDC1.mcsmemail.de

Copy Exchange 2013/2016 receive connector nikos-one-RC2 from server MBX01 to all other Exchange 2013 servers

.\Copy-ReceiveConnector.ps1 -SourceServer MBX01 -ConnectorName nikos-one-RC1 `
-CopyToAllOther -DomainController MYDC1.mcsmemail.de

Copy Exchange 2013/2016 receive connector nikos-two relay from Exchange 2007 server MBX2007 to Exchange 2013 server MBX01 and reset network bindings

.\Copy-ReceiveConnector.ps1 -SourceServer MBX2007 -ConnectorName "nikos-two relay" `
-TargetServer MBX01 -MoveToFrontend -ResetBindings `
-DomainController MYDC1.mcsmemail.de

Version History

  • 1.0, Initial community release
  • 1.1 Domain Controller parameter added, permissions group copy added
  • 1.2 Move to FrontendTransport added, optional permission copy added, reset bindings added
  • 1.3 Update receive connector, if receive connector exists
  • 1.4 Fix to handle connector updates properly
  • 1.41 Minor fixes and update for Exchange 2016
  • 1.5 Issue #2 fixed
  • 1.6 Issue #3 fixed

Links

Script last updated: 2018-03-26

Additional Credits

Additional credits go to Jeffery Land, https://jefferyland.wordpress.com

Follow

Read More »

The PowerShell script to purge IIS and Exchange Server 2013 has been updated to support email reporting.

When executed by a scheduled task it is extremely helpful to Exchange Administrators to receive some sort of conformation of the script execution.

If using the SendMail switch, a summary report is sent as an Html email

Parameters added:

.PARAMETER SendMail
Switch to send an Html report

.PARAMETER MailFrom
Email address of report sender

.PARAMETER MailTo
Email address of report recipient

.PARAMETER MailServer 
SMTP Server for email report

Links

 


This post has first been posted on my legacy blog.

Read More »

Description

This script adds a new scheduled task for an Exchange Server 2013 environment in a new task scheduler group "Exchange".

When providing a username and password the scheduled task will be configured to "Run whether user is logged on or not".

When username and password are provided the Register-ScheduledTask cmdlet verfies the logon credentials and will fails, if the credentials provided (username/password) are not valid.

Note: The cmdlet Register-ScheduledTask consumes the user password in clear text.

Examples

# EXAMPLE 
# Create a new scheduled task using a dedicated service account
.\New-ScheduledExchangeTask.ps1 -TaskName "My Task" -ScriptName TaskScript1.ps1 -ScriptPath D:\Automation -TaskUser DOMAIN\ServiceAccount -Password P@ssw0rd

# EXAMPLE
# Create a simple scheduled task
.\New-ScheduledExchangeTask.ps1 -TaskName "My Task" -ScriptName TaskScript1.ps1 -ScriptPath D:\Automation 

Version History

  • 1.0, Initial community release

Links

Additional Credits

Follow

Read More »
Last updated: 2016-11-28

Exchange Server 2013Description

This script removes/disables HealthMailboxes that show an inconsistent error when querying monitoring mailboxes using

Get-Mailbox -Monitoring

and receiving a warning like

"WARNING: The object DOMAINNAME/Microsoft Exchange System Objects/Monitoring Mailboxes/Health_Mailbox_GUID has been corrupted,

Examples

# Remove the HealthMailbox(es) having an empty database attribute

.\Fix-HealthMailboxes.ps1 -Remove   

Version History

  • 1.0, Initial community release
  • 1.1, Some PowerShell hygiene

Links

Follow

 

Read More »
On February 26, 2015
0 Comment
1243 Views

When you maintain a number of servers which require to trigger the same scheduled task manually, you can simply the process by triggering the scheduled task remotely.

In this example I assume that the script is being executed on a dedicated management server (aka job server) within an Exchange Server 2013 environment. The scheduled task must exist on all servers having the same name.

Create a simple PowerShell script at a file location of your choice (i.e. D:\Scripts\Start-RemoteScheduledTasks.ps1)

$cimSession = New-CimSession -ComputerName SERVER1,SERVER2,SERVER3,SERVER4
Start-ScheduledTask TASKNAME -CimSession $cimSession
Remove-CimSession $cimSession

Now create a new shortcut on your server desktop with the following configuration:

Target: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "& D:\Scripts\Start-RemoteScheduledTasks.ps1"

If required, select "Run as Adminstrator" in Shortcut -> Advanced settings.

Enjoiy.


This post has been published originally on my legacy blog SF-Tools.

Read More »