<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title> &#187; Daniel Davies</title>
	<atom:link href="http://risualblogs.com/blog/author/dand/feed/" rel="self" type="application/rss+xml" />
	<link>http://risualblogs.com/blog</link>
	<description></description>
	<lastBuildDate>Fri, 18 May 2012 16:31:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>View what Public Folder Database your Mailbox Databases are pointing to in Exchange 2010</title>
		<link>http://support.risualblogs.com/blog/2012/05/18/view-what-public-folder-database-your-mailbox-databases-are-pointing-to-in-exchange-2010/</link>
		<comments>http://support.risualblogs.com/blog/2012/05/18/view-what-public-folder-database-your-mailbox-databases-are-pointing-to-in-exchange-2010/#comments</comments>
		<pubDate>Fri, 18 May 2012 16:31:58 +0000</pubDate>
		<dc:creator>Daniel Davies</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://3.1409</guid>
		<description><![CDATA[Here is a quick simple command you can run to view what Public Folder Database your Mailbox Databases are pointing to in Exchange 2010. Get-MailboxDatabase&#160; &#124; Sort-Object PublicFolderDatabase &#124;&#160; Ft Name, PublicFolderDatabase &#160; This will give you an output like below Name&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; PublicFolderDatabase &#8212;-&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; DB1&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 01-PF DB2&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 01-PF DB3&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 02-PF DB4&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 02-PF DB5&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 03-PF [...]


Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/02/20/unable-to-restore-a-public-folder-in-exchange-2010-sp1/' rel='bookmark' title='Permanent Link: Unable to restore a Public Folder in Exchange 2010 SP1'>Unable to restore a Public Folder in Exchange 2010 SP1</a> <small>We recently came across an issue where we were unable...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/03/15/powershell-command-to-view-the-amount-of-white-space-in-your-exchange-databases/' rel='bookmark' title='Permanent Link: PowerShell Command to View the Amount of White Space in your Exchange Databases'>PowerShell Command to View the Amount of White Space in your Exchange Databases</a> <small>Just a quick useful command to show the amount of...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/04/05/exchange-powershell-command-to-view-the-last-backup-time-of-your-exchange-databases/' rel='bookmark' title='Permanent Link: Exchange PowerShell Command to View the last backup time of your Exchange Databases'>Exchange PowerShell Command to View the last backup time of your Exchange Databases</a> <small>Just a quick useful command to show you the last...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Here is a quick simple command you can run to view what Public Folder Database your Mailbox Databases are pointing to in Exchange 2010.</p>
<p><strong>Get-MailboxDatabase&#160; | Sort-Object PublicFolderDatabase |&#160; Ft Name, PublicFolderDatabase</strong></p>
<p>&#160;</p>
<p>This will give you an output like below </p>
<p><strong>Name&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; PublicFolderDatabase     <br />&#8212;-&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;      <br />DB1&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 01-PF      <br />DB2&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 01-PF      <br />DB3&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 02-PF      <br />DB4&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 02-PF      <br />DB5&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 03-PF</strong></p>


<p>Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/02/20/unable-to-restore-a-public-folder-in-exchange-2010-sp1/' rel='bookmark' title='Permanent Link: Unable to restore a Public Folder in Exchange 2010 SP1'>Unable to restore a Public Folder in Exchange 2010 SP1</a> <small>We recently came across an issue where we were unable...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/03/15/powershell-command-to-view-the-amount-of-white-space-in-your-exchange-databases/' rel='bookmark' title='Permanent Link: PowerShell Command to View the Amount of White Space in your Exchange Databases'>PowerShell Command to View the Amount of White Space in your Exchange Databases</a> <small>Just a quick useful command to show the amount of...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/04/05/exchange-powershell-command-to-view-the-last-backup-time-of-your-exchange-databases/' rel='bookmark' title='Permanent Link: Exchange PowerShell Command to View the last backup time of your Exchange Databases'>Exchange PowerShell Command to View the last backup time of your Exchange Databases</a> <small>Just a quick useful command to show you the last...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://support.risualblogs.com/blog/2012/05/18/view-what-public-folder-database-your-mailbox-databases-are-pointing-to-in-exchange-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cumulative Update 6 for System Center Operations Manager 2007 R2 has been released</title>
		<link>http://support.risualblogs.com/blog/2012/05/17/cumulative-update-6-for-system-center-operations-manager-2007-r2-has-been-released/</link>
		<comments>http://support.risualblogs.com/blog/2012/05/17/cumulative-update-6-for-system-center-operations-manager-2007-r2-has-been-released/#comments</comments>
		<pubDate>Thu, 17 May 2012 11:07:00 +0000</pubDate>
		<dc:creator>Daniel Davies</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://3.1408</guid>
		<description><![CDATA[Cumulative Update 6 has been released for System Center Operations Manager 2007 R2, this CU fixes the below issues. “Cumulative Update 6 for Operations Manager 2007 R2 resolves the following issues: RMS promotion fails if NetworkName and PrincipalNames are not in sync for agents. UI is limited to only 100 MB for the Memory Usage [...]


Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2011/11/22/cumulative-update-3-for-system-center-service-manager-2010-sp1-released/' rel='bookmark' title='Permanent Link: Cumulative Update 3 for System Center Service Manager 2010 SP1 Released'>Cumulative Update 3 for System Center Service Manager 2010 SP1 Released</a> <small>Just to let you know Cumulative Update 3 for System...</small></li>
<li><a href='http://consulting.risualblogs.com/blog/2012/05/08/update-rollup-1-for-system-center-2012/' rel='bookmark' title='Permanent Link: Update Rollup 1 for System Center 2012'>Update Rollup 1 for System Center 2012</a> <small>Hi There, Update Rollup 1 has been released for System...</small></li>
<li><a href='http://consulting.risualblogs.com/blog/2011/07/20/operations-manager-2012-beta-released/' rel='bookmark' title='Permanent Link: Operations Manager 2012 Beta released'>Operations Manager 2012 Beta released</a> <small>The first public beta of Operations Manager has been released...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p> Cumulative Update 6 has been released for System Center Operations Manager 2007 R2, this CU fixes the below issues.</p>
<p><strong>“Cumulative Update 6 for Operations Manager 2007 R2 resolves the following issues: </strong></p>
<ul>
<li><strong>RMS promotion fails if NetworkName and PrincipalNames are not in sync for agents. </strong></li>
<li><strong>UI is limited to only 100 MB for the Memory Usage field in the wizard. </strong></li>
<li><strong>Additional OIDs in auth certificate are not processed correctly. </strong></li>
<li><strong>AEM creates duplicate computer objects in OpsMgr based on Agents NetBIOS name. </strong></li>
<li><strong>Cannot open reporting pane on OpsMgr 2007 R2 remote console. </strong></li>
<li><strong>Cannot view schedule for scheduled report. </strong></li>
<li><strong>ManagementServerConfigTool with the option &quot;promoterms&quot; fails because it stops polling the SDK Service. </strong></li>
<li><strong>OpsMgr reports are failing on Windows 7 with the error: &quot;Cannot initialize report.&quot; </strong></li>
<li><strong>ACS events have &quot;n/a&quot; as their category in the ACS database. </strong></li>
<li><strong>Watch agentless monitoring listener to detect failure to respond. </strong></li>
<li><strong>SCOM SDK memory leak on cryptography keys and cryptography contexts. </strong></li>
<li><strong>After you click Edit Schedule, a message box appears, and you cannot save the change value. </strong></li>
<li><strong>Audit events can be lost when the AdtServer process crashes.</strong></li>
</ul>
<p> <strong>Cumulative Update 6 for Operations Manager 2007 R2 resolves the following cross-platform issues: </strong>
<ul>
<li><strong>The installation process for the IBM AIX 6.1 agent incorrectly checks for AIX 5.3 packages. </strong></li>
<li><strong>After a system restart, the OpsMgr agent for Solaris may start to run before local file systems are mounted. </strong></li>
<li><strong>On Red Hat Linux version 4 and SUSE Linux version 9, LVM disks are not discovered and cannot be monitored. </strong></li>
<li><strong>The OpsMgr agent for AIX does not report the arguments for monitored processes. </strong></li>
<li><strong>When Microsoft security update MS12-006 is installed on an OpsMgr management server, that management server can no longer communicate with the OpsMgr agent on any Linux or UNIX server. </strong></li>
<li><strong>On HP-UX, OpsMgr cannot discover and monitor a logical volume that is composed of more than 127 physical volumes.</strong></li>
</ul>
<p> <strong>Cumulative Update 6 for Operations Manager 2007 R2 adds the following cross-platform features: </strong>
<ul>
<li><strong>Support for IBM AIX 7.1 (POWER). </strong></li>
<li><strong>Support for Oracle Solaris 11 (x86 and SPARC).”</strong></li>
</ul>
<p>&#160;</p>
<p>You can download the Cumulative update from <a title="http://www.microsoft.com/en-us/download/details.aspx?id=29850" href="http://www.microsoft.com/en-us/download/details.aspx?id=29850">http://www.microsoft.com/en-us/download/details.aspx?id=29850</a></p>


<p>Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2011/11/22/cumulative-update-3-for-system-center-service-manager-2010-sp1-released/' rel='bookmark' title='Permanent Link: Cumulative Update 3 for System Center Service Manager 2010 SP1 Released'>Cumulative Update 3 for System Center Service Manager 2010 SP1 Released</a> <small>Just to let you know Cumulative Update 3 for System...</small></li>
<li><a href='http://consulting.risualblogs.com/blog/2012/05/08/update-rollup-1-for-system-center-2012/' rel='bookmark' title='Permanent Link: Update Rollup 1 for System Center 2012'>Update Rollup 1 for System Center 2012</a> <small>Hi There, Update Rollup 1 has been released for System...</small></li>
<li><a href='http://consulting.risualblogs.com/blog/2011/07/20/operations-manager-2012-beta-released/' rel='bookmark' title='Permanent Link: Operations Manager 2012 Beta released'>Operations Manager 2012 Beta released</a> <small>The first public beta of Operations Manager has been released...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://support.risualblogs.com/blog/2012/05/17/cumulative-update-6-for-system-center-operations-manager-2007-r2-has-been-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Set a Lagged Mailbox Database Copy in Exchange 2010</title>
		<link>http://support.risualblogs.com/blog/2012/05/04/set-a-lagged-mailbox-database-copy-in-exchange-2010/</link>
		<comments>http://support.risualblogs.com/blog/2012/05/04/set-a-lagged-mailbox-database-copy-in-exchange-2010/#comments</comments>
		<pubDate>Fri, 04 May 2012 14:37:09 +0000</pubDate>
		<dc:creator>Daniel Davies</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://3.1402</guid>
		<description><![CDATA[Here is a quick simple command you can run to set a lagged copy time on a Database copy when it already exists. The below command will set the&#160; lag copy for 7 days behind (The maximum you can increase this to is 14 Days) Set-MailboxDatabaseCopy –Identity DatabaseNameMailboxservername -ReplayLagTime 07.00:00:00 Related posts:Add a Lagged Mailbox [...]


Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/02/17/add-a-lagged-mailbox-database-copy-in-exchange-2010/' rel='bookmark' title='Permanent Link: Add a Lagged Mailbox Database Copy in Exchange 2010'>Add a Lagged Mailbox Database Copy in Exchange 2010</a> <small>Here is a quick simple command you can run to...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/09/30/exchange-2010-command-to-set-the-amount-of-days-the-lagged-database-copy-is-lagged/' rel='bookmark' title='Permanent Link: Exchange 2010 Command to Set the Amount of Days the Lagged  Database Copy is Lagged'>Exchange 2010 Command to Set the Amount of Days the Lagged  Database Copy is Lagged</a> <small>Here&#8217;s a quick command that will set the amount of...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/08/22/exchange-2010-restore-from-lag-database/' rel='bookmark' title='Permanent Link: Exchange 2010 Restore From Lag Database'>Exchange 2010 Restore From Lag Database</a> <small>Just a few easy instructions that will allow you to...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Here is a quick simple command you can run to set a lagged copy time on a Database copy when it already exists.</p>
<p>The below command will set the&#160; lag copy for <strong>7 days</strong> behind<strong> (The maximum you can increase this to is 14 Days)</strong></p>
<p>Set-MailboxDatabaseCopy –Identity <strong>DatabaseNameMailboxservername </strong>-ReplayLagTime 07.00:00:00</p>


<p>Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/02/17/add-a-lagged-mailbox-database-copy-in-exchange-2010/' rel='bookmark' title='Permanent Link: Add a Lagged Mailbox Database Copy in Exchange 2010'>Add a Lagged Mailbox Database Copy in Exchange 2010</a> <small>Here is a quick simple command you can run to...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/09/30/exchange-2010-command-to-set-the-amount-of-days-the-lagged-database-copy-is-lagged/' rel='bookmark' title='Permanent Link: Exchange 2010 Command to Set the Amount of Days the Lagged  Database Copy is Lagged'>Exchange 2010 Command to Set the Amount of Days the Lagged  Database Copy is Lagged</a> <small>Here&#8217;s a quick command that will set the amount of...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/08/22/exchange-2010-restore-from-lag-database/' rel='bookmark' title='Permanent Link: Exchange 2010 Restore From Lag Database'>Exchange 2010 Restore From Lag Database</a> <small>Just a few easy instructions that will allow you to...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://support.risualblogs.com/blog/2012/05/04/set-a-lagged-mailbox-database-copy-in-exchange-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CRM 2011 Rollup 8 Released</title>
		<link>http://support.risualblogs.com/blog/2012/05/03/crm-2011-rollup-8-released/</link>
		<comments>http://support.risualblogs.com/blog/2012/05/03/crm-2011-rollup-8-released/#comments</comments>
		<pubDate>Thu, 03 May 2012 14:58:40 +0000</pubDate>
		<dc:creator>Daniel Davies</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://3.1401</guid>
		<description><![CDATA[Just to let you know CRM 2011 Rollup 8&#160; has been released You can download from the following location http://www.microsoft.com/en-us/download/details.aspx?id=29692&#38;WT.mc_id=rss_alldownloads_all Related posts:CRM 2011 Rollup 7 Released Just to let you know CRM 2011 Rollup 7&#160; has... CRM 2011 Rollup 6 Released Just to let you know CRM 2011 Rollup 6&#160; has... Update Rollup 21 for [...]


Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/03/22/crm-2011-rollup-7-released/' rel='bookmark' title='Permanent Link: CRM 2011 Rollup 7 Released'>CRM 2011 Rollup 7 Released</a> <small>Just to let you know CRM 2011 Rollup 7&#160; has...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/01/12/crm-2011-rollup-6-released/' rel='bookmark' title='Permanent Link: CRM 2011 Rollup 6 Released'>CRM 2011 Rollup 6 Released</a> <small>Just to let you know CRM 2011 Rollup 6&#160; has...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/02/10/update-rollup-21-for-microsoft-dynamics-crm-4-0/' rel='bookmark' title='Permanent Link: Update Rollup 21 for Microsoft Dynamics CRM 4.0'>Update Rollup 21 for Microsoft Dynamics CRM 4.0</a> <small>Update Rollup 21 for Microsoft Dynamics CRM 4.0 has been...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Just to let you know CRM 2011 Rollup 8&#160; has been released <img alt="Smile" src="http://support.risualblogs.com/blog/files/2012/01/wlEmoticon-smile2.png" /></p>
<p>You can download from the following location <a title="http://www.microsoft.com/en-us/download/details.aspx?id=29692&amp;WT.mc_id=rss_alldownloads_all" href="http://www.microsoft.com/en-us/download/details.aspx?id=29692&amp;WT.mc_id=rss_alldownloads_all">http://www.microsoft.com/en-us/download/details.aspx?id=29692&amp;WT.mc_id=rss_alldownloads_all</a></p>


<p>Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/03/22/crm-2011-rollup-7-released/' rel='bookmark' title='Permanent Link: CRM 2011 Rollup 7 Released'>CRM 2011 Rollup 7 Released</a> <small>Just to let you know CRM 2011 Rollup 7&#160; has...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/01/12/crm-2011-rollup-6-released/' rel='bookmark' title='Permanent Link: CRM 2011 Rollup 6 Released'>CRM 2011 Rollup 6 Released</a> <small>Just to let you know CRM 2011 Rollup 6&#160; has...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/02/10/update-rollup-21-for-microsoft-dynamics-crm-4-0/' rel='bookmark' title='Permanent Link: Update Rollup 21 for Microsoft Dynamics CRM 4.0'>Update Rollup 21 for Microsoft Dynamics CRM 4.0</a> <small>Update Rollup 21 for Microsoft Dynamics CRM 4.0 has been...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://support.risualblogs.com/blog/2012/05/03/crm-2011-rollup-8-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update Rollup 2 for Exchange Server 2010 Service Pack 2 Released</title>
		<link>http://support.risualblogs.com/blog/2012/04/27/update-rollup-2-for-exchange-server-2010-service-pack-2-released/</link>
		<comments>http://support.risualblogs.com/blog/2012/04/27/update-rollup-2-for-exchange-server-2010-service-pack-2-released/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 13:24:36 +0000</pubDate>
		<dc:creator>Daniel Davies</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://3.1397</guid>
		<description><![CDATA[Just to let you know Update Rollup 2 for Exchange Server 2010 Service Pack 2 (KB2645995) has been released You can download the rollup from http://www.microsoft.com/en-us/download/details.aspx?id=29427 Rollup 2 contains the following fixes (Referenced from http://support.microsoft.com/?kbid=2661854) Update Rollup 2 for Exchange Server 2010 SP2 resolves the issues that are described in the following Microsoft Knowledge Base (KB) [...]


Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/02/14/update-rollup-1-for-exchange-server-2010-service-pack-2-released/' rel='bookmark' title='Permanent Link: Update Rollup 1 for Exchange Server 2010 Service Pack 2 Released'>Update Rollup 1 for Exchange Server 2010 Service Pack 2 Released</a> <small>Just to let you know Update Rollup 1 for Exchange...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/01/27/exchange-2010-rollup-6-for-exchange-2007-sp3-released/' rel='bookmark' title='Permanent Link: Exchange 2010 Rollup 6 for Exchange 2007 SP3 Released'>Exchange 2010 Rollup 6 for Exchange 2007 SP3 Released</a> <small>Just to let you know Exchange 2007 SP3 Rollup 6...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/01/13/tmg-2010-sp2-rollup-1-released/' rel='bookmark' title='Permanent Link: TMG 2010 SP2 Rollup 1 Released'>TMG 2010 SP2 Rollup 1 Released</a> <small>Just to let you know TMG 2010 SP2 Rollup 1...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Just to let you know Update Rollup 2 for Exchange Server 2010 Service Pack 2 (KB2645995) has been released <img src="http://support.risualblogs.com/blog/files/2012/01/wlEmoticon-smile8.png" alt="Smile" /></p>
<p>You can download the rollup from <a title="http://www.microsoft.com/en-us/download/details.aspx?id=29427" href="http://www.microsoft.com/en-us/download/details.aspx?id=29427">http://www.microsoft.com/en-us/download/details.aspx?id=29427</a></p>
<p>Rollup 2 contains the following fixes (Referenced from <a title="http://support.microsoft.com/?kbid=2661854" href="http://support.microsoft.com/?kbid=2661854">http://support.microsoft.com/?kbid=2661854</a>)</p>
<p>Update Rollup 2 for Exchange Server 2010 SP2 resolves the issues that are described in the following Microsoft Knowledge Base (KB) articles:</p>
<ul>
<li>A meeting request that is sent by an external user or by using a non-Microsoft email system is stamped as Busy instead of Tentative in an Exchange Server 2010 environment</li>
<li>Slow performance when you create many contacts by using Exchange Web Services in an Exchange Server 2010 environment</li>
<li>Email messages in the Sent Items folder have the same PR_INTERNET_MESSAGE_ID property in an Exchange Server 2010 environment</li>
<li>Customized contact objects revert to the default form after a public folder database replication in an Exchange Server 2010 environment</li>
<li>You cannot generate an OAB file that is larger than 2GB in an Exchange Server 2010 environment</li>
<li>A user can log on to a mailbox by using Outlook for Mac 2011 unexpectedly in an Exchange Server 2010 environment</li>
<li>MAPI_E_INVALID_PARAMETER errors occur when a MAPI application receives notifications in an Exchange Server 2010 environment</li>
<li>A hidden user is still displayed in the Organization information of Address Book in OWA in an Exchange Server 2010 environment</li>
<li>Event ID 3022 is logged and you cannot replicate a public folder from one Exchange Server 2010 server to another</li>
<li>Returned message items can disappear from the search results view when you use Outlook in online mode in an Exchange Server 2010 environment</li>
<li>Error message when you use the &#8220;Folder.Bind&#8221; method in an Exchange Server 2010 environment</li>
<li>An email message from an Exchange Server 2003 user is forwarded incorrectly to an external recipient of an Exchange Server 2010 user mailbox</li>
<li>A read receipt is not sent when a receiver does not expand a conversation to preview the message by using OWA in an Exchange Server 2010 environment</li>
<li>The Get-FederatedDomainProof cmdlet fails in an Exchange Server 2010 SP1 environment</li>
<li>An external email message is not delivered to mail-enabled public folders and you do not receive NDR messages in an Exchange Server 2010 environment</li>
<li>Updates for a meeting request are sent to all attendees directly in an Exchange Server 2010 environment</li>
<li>Text in tables is displayed incorrectly in the Conversation view in Outlook Web App in an Exchange Server 2010 environment</li>
<li>You encounter failures when you run the Test-EcpConnectivity cmdlet to test Exchange Control Panel connectivity in an Exchange Server 2010 environment</li>
<li>CPU resources are used up when you use the Set-MailboxMessageConfiguration cmdlet in an Exchange Server 2010 environment</li>
<li>&#8220;More than one mailbox has the same e-mail address&#8221; error message when you try to manage a mailbox in a tenant organization in an Exchange Server 2010 SP1 Hosting mode environment</li>
<li>An ActiveSync user cannot access a mailbox in an Exchange Server 2010 forest</li>
<li>An email address policy does not generate the email addresses of recipients correctly in an Exchange Server 2010 environment</li>
<li>OK button is not displayed when you change your password in Outlook Web App by using Firefox in an Exchange Server 2010 environment</li>
<li>Certain MailboxStatistics properties are not updated when a user uses a POP3 or IMAP4 client to access a mailbox in an Exchange 2010 environment</li>
<li>DPM protection agent service may stop responding on Exchange Server 2010 servers that are protected by System Center DPM 2010</li>
<li>Error message when you open an RTF email message that has inline attachments in an Exchange Server 2010 environment</li>
<li>A user in a trusted account forest cannot use the EMC to manage an Exchange Server 2010 SP2 server</li>
<li>Error message when you try to copy the Inbox folder to another folder in Outlook in online mode in an Exchange Server 2010 environment</li>
<li>The Microsoft Exchange File Distribution service consumes large amounts of memory in an Exchange Server 2010 environment</li>
<li>The user-agent information about an Exchange ActiveSync device is not updated in an Exchange Server 2010 environment</li>
<li>The display name of a contact in address book is empty in an Exchange Server 2010 environment</li>
<li>An EWS application crashes when it calls the GetStreamingEvents operation in an Exchange Server 2010 environment</li>
<li>Error message when a user who does not have a mailbox tries to move or delete an item that is in a shared mailbox by using Outlook Web App Premium</li>
<li>W3wp.exe consumes excessive CPU resources on Exchange Server 2010 Client Access servers when users open recurring calendar items in mailboxes by using Outlook Web App or EWS</li>
<li>EdgeTransport.exe process crashes in an Exchange Server 2010 environment</li>
<li>Whatif switch does not work in the Set-MoveRequest or Resume-MoveRequest cmdlet in an Exchange Server 2010 environment</li>
<li>Resource mailbox does not forward meeting request to delegates after one of the delegates&#8217; mailbox is disabled in an Exchange Server 2010 environment</li>
<li>The update tracking information option does not work in an Exchange Server 2010 environment</li>
<li>File name of a saved attachment is incorrect when you use OWA in Firefox 8 in an Exchange Server 2010 environment</li>
<li>Incorrect delivery report when you send an email message to a recipient who has configured an external forwarding address in an Exchange Server 2010 environment</li>
<li>EdgeTransport.exe process crashes without sending an NDR message when you send a message to a distribution group in an Exchange Server 2010 environment</li>
<li>Day of the week is not localized in MailTips in Outlook Web App in an Exchange Server 2010 environment</li>
<li>You cannot log on to Outlook Web App when a proxy is set up in an Exchange Server 2010 environment</li>
</ul>


<p>Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/02/14/update-rollup-1-for-exchange-server-2010-service-pack-2-released/' rel='bookmark' title='Permanent Link: Update Rollup 1 for Exchange Server 2010 Service Pack 2 Released'>Update Rollup 1 for Exchange Server 2010 Service Pack 2 Released</a> <small>Just to let you know Update Rollup 1 for Exchange...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/01/27/exchange-2010-rollup-6-for-exchange-2007-sp3-released/' rel='bookmark' title='Permanent Link: Exchange 2010 Rollup 6 for Exchange 2007 SP3 Released'>Exchange 2010 Rollup 6 for Exchange 2007 SP3 Released</a> <small>Just to let you know Exchange 2007 SP3 Rollup 6...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/01/13/tmg-2010-sp2-rollup-1-released/' rel='bookmark' title='Permanent Link: TMG 2010 SP2 Rollup 1 Released'>TMG 2010 SP2 Rollup 1 Released</a> <small>Just to let you know TMG 2010 SP2 Rollup 1...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://support.risualblogs.com/blog/2012/04/27/update-rollup-2-for-exchange-server-2010-service-pack-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting the Maximum Send and Receive Size for all users in a certain Distribution Group in Exchange 2010</title>
		<link>http://support.risualblogs.com/blog/2012/04/27/setting-the-maximum-send-and-receive-size-for-all-users-in-a-certain-distribution-group-in-exchange-2010/</link>
		<comments>http://support.risualblogs.com/blog/2012/04/27/setting-the-maximum-send-and-receive-size-for-all-users-in-a-certain-distribution-group-in-exchange-2010/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 08:07:28 +0000</pubDate>
		<dc:creator>Daniel Davies</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://3.1396</guid>
		<description><![CDATA[Here is a quick command you can run from the Exchange management shell which will set the Maximum Send and Receive Size for all users in the specified Distribution Group. In The Below Example i’m setting the Send/Receive Limit to 100mb for all users in the Distribution Group called DG1. Get-DistributionGroup DG1&#124; Get-DistributionGroupMember &#124; Set-Mailbox [...]


Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/02/22/allow-a-distribution-group-to-receive-mail-from-external-users-in-exchange-2010-2/' rel='bookmark' title='Permanent Link: Allow a Distribution Group to Receive Mail from External Users in Exchange 2010'>Allow a Distribution Group to Receive Mail from External Users in Exchange 2010</a> <small>Just a quick blog on how you can allow a...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/08/26/outlook-2010-cannot-add-group-for-permissions-one-or-more-users-cannot-be-added-to-the-folder-access-list-non-local-users-cannot-be-given-rights-on-this-server/' rel='bookmark' title='Permanent Link: Outlook 2010 cannot add group for permissions &#8211; One or more users cannot be added to the folder access list. Non-local users cannot be given rights on this server'>Outlook 2010 cannot add group for permissions &#8211; One or more users cannot be added to the folder access list. Non-local users cannot be given rights on this server</a> <small>Came across this problem recently during a migration from Exchange...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/02/07/the-user-has-insufficient-access-rights-error-when-trying-to-set-send-as-permissions-on-a-mailbox-in-exchange-2010/' rel='bookmark' title='Permanent Link: &ldquo;The user has insufficient access rights&rdquo; error when trying to set Send as permissions on a mailbox in Exchange 2010'>&ldquo;The user has insufficient access rights&rdquo; error when trying to set Send as permissions on a mailbox in Exchange 2010</a> <small>We came across an issue today when we were trying...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Here is a quick command you can run from the Exchange management shell which will set the Maximum Send and Receive Size for all users in the specified Distribution Group.</p>
<p>In The Below Example i’m setting the Send/Receive Limit to 100mb for all users in the Distribution Group called DG1.</p>
<p><b>Get-DistributionGroup<font color="#ff0000"> D</font><font color="#ff0000">G1</font>| Get-DistributionGroupMember | Set-Mailbox -MaxSendSize <font color="#ff0000">100mb</font> -MaxReceiveSize <font color="#ff0000">100mb</font></b></p>
<p><strong><font color="#ff0000"></font></strong></p>


<p>Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/02/22/allow-a-distribution-group-to-receive-mail-from-external-users-in-exchange-2010-2/' rel='bookmark' title='Permanent Link: Allow a Distribution Group to Receive Mail from External Users in Exchange 2010'>Allow a Distribution Group to Receive Mail from External Users in Exchange 2010</a> <small>Just a quick blog on how you can allow a...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/08/26/outlook-2010-cannot-add-group-for-permissions-one-or-more-users-cannot-be-added-to-the-folder-access-list-non-local-users-cannot-be-given-rights-on-this-server/' rel='bookmark' title='Permanent Link: Outlook 2010 cannot add group for permissions &#8211; One or more users cannot be added to the folder access list. Non-local users cannot be given rights on this server'>Outlook 2010 cannot add group for permissions &#8211; One or more users cannot be added to the folder access list. Non-local users cannot be given rights on this server</a> <small>Came across this problem recently during a migration from Exchange...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/02/07/the-user-has-insufficient-access-rights-error-when-trying-to-set-send-as-permissions-on-a-mailbox-in-exchange-2010/' rel='bookmark' title='Permanent Link: &ldquo;The user has insufficient access rights&rdquo; error when trying to set Send as permissions on a mailbox in Exchange 2010'>&ldquo;The user has insufficient access rights&rdquo; error when trying to set Send as permissions on a mailbox in Exchange 2010</a> <small>We came across an issue today when we were trying...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://support.risualblogs.com/blog/2012/04/27/setting-the-maximum-send-and-receive-size-for-all-users-in-a-certain-distribution-group-in-exchange-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Force Mail in Transport Queue to Retry in Exchange 2010</title>
		<link>http://support.risualblogs.com/blog/2012/04/05/force-mail-in-transport-queue-to-retry-in-exchange-2010/</link>
		<comments>http://support.risualblogs.com/blog/2012/04/05/force-mail-in-transport-queue-to-retry-in-exchange-2010/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 15:37:00 +0000</pubDate>
		<dc:creator>Daniel Davies</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://3.1391</guid>
		<description><![CDATA[Just a quick useful command to force all mail in your transport queue to retry instead of waiting for the next retry time. ﻿﻿﻿﻿﻿Retry-Queue -Identity “QueueName” -Resubmit $True Related posts:Exchange 2010 PowerShell Script to alert when Replay Queue Length gets above a Threshold Just a quick PowerShell script we’ve wrote that will basically... Force an [...]


Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/03/05/exchange-2010-powershell-script-to-alert-when-replay-queue-length-gets-above-a-threshold/' rel='bookmark' title='Permanent Link: Exchange 2010 PowerShell Script to alert when Replay Queue Length gets above a Threshold'>Exchange 2010 PowerShell Script to alert when Replay Queue Length gets above a Threshold</a> <small>Just a quick PowerShell script we’ve wrote that will basically...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/09/27/force-an-object-discovery-in-scom-2007-r2/' rel='bookmark' title='Permanent Link: Force an Object Discovery in SCOM 2007 R2'>Force an Object Discovery in SCOM 2007 R2</a> <small>Just a very quick blog to let you know how...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/02/22/allow-a-distribution-group-to-receive-mail-from-external-users-in-exchange-2010-2/' rel='bookmark' title='Permanent Link: Allow a Distribution Group to Receive Mail from External Users in Exchange 2010'>Allow a Distribution Group to Receive Mail from External Users in Exchange 2010</a> <small>Just a quick blog on how you can allow a...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Just a quick useful command to force all mail in your transport queue to retry instead of waiting for the next retry time.</p>
<p><strong>﻿﻿﻿﻿﻿Retry-Queue -Identity “QueueName” -Resubmit $True</strong></p>


<p>Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/03/05/exchange-2010-powershell-script-to-alert-when-replay-queue-length-gets-above-a-threshold/' rel='bookmark' title='Permanent Link: Exchange 2010 PowerShell Script to alert when Replay Queue Length gets above a Threshold'>Exchange 2010 PowerShell Script to alert when Replay Queue Length gets above a Threshold</a> <small>Just a quick PowerShell script we’ve wrote that will basically...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/09/27/force-an-object-discovery-in-scom-2007-r2/' rel='bookmark' title='Permanent Link: Force an Object Discovery in SCOM 2007 R2'>Force an Object Discovery in SCOM 2007 R2</a> <small>Just a very quick blog to let you know how...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/02/22/allow-a-distribution-group-to-receive-mail-from-external-users-in-exchange-2010-2/' rel='bookmark' title='Permanent Link: Allow a Distribution Group to Receive Mail from External Users in Exchange 2010'>Allow a Distribution Group to Receive Mail from External Users in Exchange 2010</a> <small>Just a quick blog on how you can allow a...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://support.risualblogs.com/blog/2012/04/05/force-mail-in-transport-queue-to-retry-in-exchange-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange PowerShell Command to View the last backup time of your Exchange Databases</title>
		<link>http://support.risualblogs.com/blog/2012/04/05/exchange-powershell-command-to-view-the-last-backup-time-of-your-exchange-databases/</link>
		<comments>http://support.risualblogs.com/blog/2012/04/05/exchange-powershell-command-to-view-the-last-backup-time-of-your-exchange-databases/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 08:46:58 +0000</pubDate>
		<dc:creator>Daniel Davies</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://3.1390</guid>
		<description><![CDATA[Just a quick useful command to show you the last time your Exchange databases were backed up. Get-MailboxDatabase -Status &#124; FT name, Last* The command issues an output like below Related posts:PowerShell Command to View the Amount of White Space in your Exchange Databases Just a quick useful command to show the amount of... Exchange [...]


Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/03/15/powershell-command-to-view-the-amount-of-white-space-in-your-exchange-databases/' rel='bookmark' title='Permanent Link: PowerShell Command to View the Amount of White Space in your Exchange Databases'>PowerShell Command to View the Amount of White Space in your Exchange Databases</a> <small>Just a quick useful command to show the amount of...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/06/22/exchange-2010-mailbox-sizes-in-one-command/' rel='bookmark' title='Permanent Link: Exchange 2010 Mailbox Sizes in One Command'>Exchange 2010 Mailbox Sizes in One Command</a> <small>Here is a good command to use if you want...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/03/16/how-to-view-your-dns-cache/' rel='bookmark' title='Permanent Link: How to view your DNS Cache'>How to view your DNS Cache</a> <small>Here’s quite a useful command that will come in handy...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Just a quick useful command to show you the last time your Exchange databases were backed up. </p>
<p><strong>Get-MailboxDatabase -Status | FT name, Last*</strong></p>
<p>The command issues an output like below</p>
<p><a href="http://support.risualblogs.com/blog/files/2012/04/image2.png"><img style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="http://support.risualblogs.com/blog/files/2012/04/image_thumb2.png" width="726" height="43" /></a></p>


<p>Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/03/15/powershell-command-to-view-the-amount-of-white-space-in-your-exchange-databases/' rel='bookmark' title='Permanent Link: PowerShell Command to View the Amount of White Space in your Exchange Databases'>PowerShell Command to View the Amount of White Space in your Exchange Databases</a> <small>Just a quick useful command to show the amount of...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/06/22/exchange-2010-mailbox-sizes-in-one-command/' rel='bookmark' title='Permanent Link: Exchange 2010 Mailbox Sizes in One Command'>Exchange 2010 Mailbox Sizes in One Command</a> <small>Here is a good command to use if you want...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/03/16/how-to-view-your-dns-cache/' rel='bookmark' title='Permanent Link: How to view your DNS Cache'>How to view your DNS Cache</a> <small>Here’s quite a useful command that will come in handy...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://support.risualblogs.com/blog/2012/04/05/exchange-powershell-command-to-view-the-last-backup-time-of-your-exchange-databases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detailed Exchange 2010 Health Check</title>
		<link>http://support.risualblogs.com/blog/2012/03/30/detailed-exchange-2010-health-check/</link>
		<comments>http://support.risualblogs.com/blog/2012/03/30/detailed-exchange-2010-health-check/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 10:35:35 +0000</pubDate>
		<dc:creator>Daniel Davies</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://3.1380</guid>
		<description><![CDATA[Please see below a handy PowerShell Script which will give you a health check on each individual Exchange server in your environment The PowerShell Script will check the following That all Exchange Databases are Mounted Mapi Connectivity to all databases are working ActiveSync Connectivity to each CAS Server is working OWA Connectivity to each CAS [...]


Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/03/30/basic-exchange-2010-health-check-powershell-script/' rel='bookmark' title='Permanent Link: Basic Exchange 2010 Health Check PowerShell Script'>Basic Exchange 2010 Health Check PowerShell Script</a> <small>Please see below a handy PowerShell Script which will give...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/09/16/find-the-number-of-users-per-mailbox-database-exchange-2010/' rel='bookmark' title='Permanent Link: Find The Number of Users per Mailbox Database Exchange 2010'>Find The Number of Users per Mailbox Database Exchange 2010</a> <small>In the Exchange 2010 Management Console, mailbox databases do not...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/02/14/using-powershell-to-create-printers/' rel='bookmark' title='Permanent Link: Using PowerShell to create printers'>Using PowerShell to create printers</a> <small>Recently I had the need to create shared printers on...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p> Please see below a handy PowerShell Script which will give you a health check on each individual Exchange server in your environment</p>
<p>The PowerShell Script will check the following</p>
<ul>
<li>That all Exchange Databases are Mounted </li>
<li>Mapi Connectivity to all databases are working</li>
<li>ActiveSync Connectivity to each CAS Server is working</li>
<li>OWA Connectivity to each CAS server is working</li>
<li>Mailflow to Each Database is working</li>
<li>Main CAS Server Ports are open and working</li>
<li>IMAP is working on each server</li>
<li>POP3 is working on each server</li>
</ul>
<p>Please note the test port function in the script is from the following <a href="http://gallery.technet.microsoft.com/scriptcenter/97119ed6-6fb2-446d-98d8-32d823867131">http://gallery.technet.microsoft.com/scriptcenter/97119ed6-6fb2-446d-98d8-32d823867131</a></p>
<p>The Script will give an output like below but obviously with all other checks being there to.</p>
<p><a href="http://support.risualblogs.com/blog/files/2012/03/image3.png"><img style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="http://support.risualblogs.com/blog/files/2012/03/image_thumb3.png" width="406" height="537" /></a></p>
<p>&#160;</p>
<p>Please save the below to a .PS1 file and run from the Exchange Management Shell. </p>
<p>######################Functions#################################################   <br />function Test-Port{&#160; <br />&lt;#&#160;&#160;&#160; <br />.SYNOPSIS&#160;&#160;&#160; <br />&#160;&#160;&#160; Tests port on computer.&#160; <br />&#160;&#160;&#160; <br />.DESCRIPTION&#160; <br />&#160;&#160;&#160; Tests port on computer.     <br />&#160;&#160;&#160;&#160; <br />.PARAMETER computer&#160; <br />&#160;&#160;&#160; Name of server to test the port connection on.    <br />&#160;&#160;&#160;&#160;&#160; <br />.PARAMETER port&#160; <br />&#160;&#160;&#160; Port to test     <br />&#160;&#160;&#160;&#160;&#160;&#160; <br />.PARAMETER tcp&#160; <br />&#160;&#160;&#160; Use tcp port     <br />&#160;&#160;&#160;&#160;&#160; <br />.PARAMETER udp&#160; <br />&#160;&#160;&#160; Use udp port&#160; <br />&#160;&#160;&#160;&#160; <br />.PARAMETER UDPTimeOut     <br />&#160;&#160;&#160; Sets a timeout for UDP port query. (In milliseconds, Default is 1000)&#160; <br />&#160;&#160;&#160;&#160;&#160; <br />.PARAMETER TCPTimeOut     <br />&#160;&#160;&#160; Sets a timeout for TCP port query. (In milliseconds, Default is 1000)    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160; To Do:&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Add capability to run background jobs for each host to shorten the time to scan.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160; <br />.EXAMPLE&#160;&#160;&#160; <br />&#160;&#160;&#160; Test-Port -computer &#8216;server&#8217; -port 80&#160; <br />&#160;&#160;&#160; Checks port 80 on server &#8216;server&#8217; to see if it is listening&#160; <br />&#160;&#160;&#160; <br />.EXAMPLE&#160;&#160;&#160; <br />&#160;&#160;&#160; &#8216;server&#8217; | Test-Port -port 80&#160; <br />&#160;&#160;&#160; Checks port 80 on server &#8216;server&#8217; to see if it is listening     <br />&#160;&#160;&#160;&#160;&#160; <br />.EXAMPLE&#160;&#160;&#160; <br />&#160;&#160;&#160; Test-Port -computer @(&quot;server1&quot;,&quot;server2&quot;) -port 80&#160; <br />&#160;&#160;&#160; Checks port 80 on server1 and server2 to see if it is listening&#160; <br />&#160;&#160;&#160; <br />.EXAMPLE    <br />&#160;&#160;&#160; Test-Port -comp dc1 -port 17 -udp -UDPtimeout 10000    <br />&#160;&#160;&#160; <br />&#160;&#160;&#160; Server&#160;&#160; : dc1    <br />&#160;&#160;&#160; Port&#160;&#160;&#160;&#160; : 17    <br />&#160;&#160;&#160; TypePort : UDP    <br />&#160;&#160;&#160; Open&#160;&#160;&#160;&#160; : True    <br />&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160; Description    <br />&#160;&#160;&#160; &#8212;&#8212;&#8212;&#8211;    <br />&#160;&#160;&#160; Queries port 17 (qotd) on the UDP port and returns whether port is open or not    <br />&#160;&#160;&#160;&#160;&#160;&#160; <br />.EXAMPLE&#160;&#160;&#160; <br />&#160;&#160;&#160; @(&quot;server1&quot;,&quot;server2&quot;) | Test-Port -port 80&#160; <br />&#160;&#160;&#160; Checks port 80 on server1 and server2 to see if it is listening&#160; <br />&#160;&#160;&#160;&#160;&#160; <br />.EXAMPLE&#160;&#160;&#160; <br />&#160;&#160;&#160; (Get-Content hosts.txt) | Test-Port -port 80&#160; <br />&#160;&#160;&#160; Checks port 80 on servers in host file to see if it is listening     <br />&#160;&#160;&#160;&#160; <br />.EXAMPLE&#160;&#160;&#160; <br />&#160;&#160;&#160; Test-Port -computer (Get-Content hosts.txt) -port 80&#160; <br />&#160;&#160;&#160; Checks port 80 on servers in host file to see if it is listening     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />.EXAMPLE&#160;&#160;&#160; <br />&#160;&#160;&#160; Test-Port -computer (Get-Content hosts.txt) -port @(1..59)&#160; <br />&#160;&#160;&#160; Checks a range of ports from 1-59 on all servers in the hosts.txt file&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />#&gt;&#160;&#160; <br />[cmdletbinding(&#160; <br />&#160;&#160;&#160; DefaultParameterSetName = '',&#160; <br />&#160;&#160;&#160; ConfirmImpact = 'low'&#160; <br />)]&#160; <br />&#160;&#160;&#160; Param(&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Parameter(&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Mandatory = $True,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Position = 0,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ParameterSetName = '',&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ValueFromPipeline = $True)]&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [array]$computer,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Parameter(&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Position = 1,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Mandatory = $True,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ParameterSetName = '')]&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [array]$port,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Parameter(&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Mandatory = $False,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ParameterSetName = '')]&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [int]$TCPtimeout=1000,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Parameter(&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Mandatory = $False,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ParameterSetName = '')]&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [int]$UDPtimeout=1000,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Parameter(&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Mandatory = $False,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ParameterSetName = '')]&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [switch]$TCP,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Parameter(&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Mandatory = $False,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ParameterSetName = '')]&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [switch]$UDP&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; )&#160; <br />&#160;&#160;&#160; Begin {&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; If (!$tcp -AND !$udp) {$tcp = $True}&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Typically you never do this, but in this case I felt it was for the benefit of the function&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; #as any errors will be noted in the output of the report&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; $ErrorActionPreference = &quot;SilentlyContinue&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; $report = @()&#160; <br />&#160;&#160;&#160; }&#160; <br />&#160;&#160;&#160; Process {&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ForEach ($c in $computer) {&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ForEach ($p in $port) {&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; If ($tcp) {&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Create temporary holder&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp = &quot;&quot; | Select Server, Port, TypePort, Open, Notes&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Create object for connecting to port on computer&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $tcpobject = new-Object system.Net.Sockets.TcpClient&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Connect to remote machine&#8217;s port&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $connect = $tcpobject.BeginConnect($c,$p,$null,$null)&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Configure a timeout before quitting&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $wait = $connect.AsyncWaitHandle.WaitOne($TCPtimeout,$false)&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #If timeout&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; If(!$wait) {&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Close connection&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $tcpobject.Close()&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Write-Verbose &quot;Connection Timeout&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Build report&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Server = $c&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Port = $p&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.TypePort = &quot;TCP&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Open = &quot;False&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Notes = &quot;Connection to Port Timed Out&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } Else {&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $error.Clear()&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $tcpobject.EndConnect($connect) | out-Null&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #If error&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; If($error[0]){&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Begin making error more readable in report&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [string]$string = ($error[0].exception).message&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $message = (($string.split(&quot;:&quot;)[1]).replace(&#8216;&quot;&#8217;,&quot;&quot;)).TrimStart()&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $failed = $true&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Close connection&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $tcpobject.Close()&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #If unable to query port to due failure&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; If($failed){&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Build report&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Server = $c&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Port = $p&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.TypePort = &quot;TCP&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Open = &quot;False&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Notes = &quot;$message&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } Else{&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Build report&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Server = $c&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Port = $p&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.TypePort = &quot;TCP&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Open = &quot;True&quot;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Notes = &quot;&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Reset failed value&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $failed = $Null&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Merge temp array with report&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $report += $temp&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; If ($udp) {&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Create temporary holder&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp = &quot;&quot; | Select Server, Port, TypePort, Open, Notes&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Create object for connecting to port on computer&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $udpobject = new-Object system.Net.Sockets.Udpclient    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Set a timeout on receiving message     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $udpobject.client.ReceiveTimeout = $UDPTimeout     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Connect to remote machine&#8217;s port&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Write-Verbose &quot;Making UDP connection to remote server&quot;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $udpobject.Connect(&quot;$c&quot;,$p)     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Sends a message to the host to which you have connected.     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Write-Verbose &quot;Sending message to remote host&quot;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $a = new-object system.text.asciiencoding     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $byte = $a.GetBytes(&quot;$(Get-Date)&quot;)     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [void]$udpobject.Send($byte,$byte.length)     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #IPEndPoint object will allow us to read datagrams sent from any source.&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Write-Verbose &quot;Creating remote endpoint&quot;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $remoteendpoint = New-Object system.net.ipendpoint([system.net.ipaddress]::Any,0)     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Try {     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Blocks until a message returns on this socket from a remote host.     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Write-Verbose &quot;Waiting for message return&quot;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $receivebytes = $udpobject.Receive([ref]$remoteendpoint)     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [string]$returndata = $a.GetString($receivebytes)    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; If ($returndata) {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Write-Verbose &quot;Connection Successful&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Build report&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Server = $c&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Port = $p&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.TypePort = &quot;UDP&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Open = &quot;True&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Notes = $returndata&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $udpobject.close()&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } Catch {     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; If ($Error[0].ToString() -match &quot;bRespond after a period of timeb&quot;) {     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Close connection&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $udpobject.Close()&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Make sure that the host is online and not a false positive that it is open     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; If (Test-Connection -comp $c -count 1 -quiet) {     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Write-Verbose &quot;Connection Open&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Build report&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Server = $c&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Port = $p&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.TypePort = &quot;UDP&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Open = &quot;True&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Notes = &quot;&quot;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } Else {     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;#     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; It is possible that the host is not online or that the host is online,&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; but ICMP is blocked by a firewall and this port is actually open.     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Write-Verbose &quot;Host maybe unavailable&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Build report&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Server = $c&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Port = $p&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.TypePort = &quot;UDP&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Open = &quot;False&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Notes = &quot;Unable to verify if port is open or if host is unavailable.&quot;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } ElseIf ($Error[0].ToString() -match &quot;forcibly closed by the remote host&quot; ) {     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Close connection&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $udpobject.Close()&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Write-Verbose &quot;Connection Timeout&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Build report&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Server = $c&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Port = $p&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.TypePort = &quot;UDP&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Open = &quot;False&quot;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $temp.Notes = &quot;Connection to Port Timed Out&quot;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } Else {&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $udpobject.close()     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Merge temp array with report&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $report += $temp&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160; }&#160; <br />&#160;&#160;&#160; End {&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; #Generate Report&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; $report     <br />&#160;&#160;&#160; }    <br />}</p>
<p>############################Variables########################################   <br />$Yes = &quot;Green&quot;    <br />$No = &quot;Red&quot;</p>
<p>&#160;</p>
<p>#######################################Script################################   <br />&quot;`n&quot;    <br />Write-Host &quot;Exchange Checks&quot;    <br />Write-Host &quot;________________________________&quot;    <br />&quot;`n&quot;</p>
<p># Check to make sure all databases are mounted</p>
<p>$MountedDB = get-mailboxdatabase -status   <br />Write-Host &quot;Databases Mounted&quot;    <br />&quot;`n&quot;    <br />$Status = &quot;Yes&quot;    <br />Foreach ($DB in $MountedDB)    <br />{Write-host $DB.Name =&#160; -NoNewline;     <br />If ($DB.Mounted -ne $true)    <br />{ $Status = &#8216;No&#8217;    <br />}</p>
<p>if ($status -eq &quot;Yes&quot;)   <br />{Write-host -Foregroundcolor $Yes &quot; Yes&quot;    <br />}</p>
<p>else   <br />{Write-Host -ForegroundColor $No &quot; No&quot;}    <br />}    <br />&quot;`n&quot;    <br />&quot;`n&quot;    <br />############################################################################</p>
<p># Test Mapi Connectivity to each Database</p>
<p>$MAPI = get-mailboxdatabase | Test-MapiConnectivity    <br />Write-Host &quot;Mapi Connectivity &quot;     <br />&quot;`n&quot;</p>
<p>$Status = &quot;Yes&quot;   <br />Foreach ($db in $Mapi)    <br />{Write-host $db.Database =&#160; -NoNewline;    <br />If ($DB.Result.value -ne &quot;Success&quot;)    <br />{ $Status = &#8216;No&#8217;    <br />}</p>
<p>&#160;</p>
<p>if ($status -eq &quot;Yes&quot;)   <br />{Write-host -Foregroundcolor $Yes &quot; Yes&quot;    <br />}</p>
<p>else   <br />{Write-Host -ForegroundColor $No &quot; No&quot;}    <br />}    <br />&quot;`n&quot;    <br />&quot;`n&quot;    <br />############################################################################</p>
<p># Test ActiveSync Connectivity to each Server</p>
<p>$AS = Get-ClientAccessServer |&#160;&#160; Test-ActiveSyncConnectivity    <br />&#160; <br />Write-Host &quot;ActiveSync Connectivity&quot;&#160; <br />&quot;`n&quot;    <br />$Status = &quot;Yes&quot;    <br />Foreach ($db in $AS)    <br />{Write-Host $DB.ClientAccessServerShortName &#8211; -NoNewline;    <br />write-host &quot; &quot; -NoNewline;    <br />Write-Host&#160; $DB.Scenario = -NoNewline;    <br />If ($DB.Result.value -ne &quot;Success&quot;)    <br />{ $Status = &#8216;No&#8217;    <br />}</p>
<p>&#160;</p>
<p>if ($status -eq &quot;Yes&quot;)   <br />{Write-host -Foregroundcolor $Yes &quot; Yes&quot;    <br />}</p>
<p>else   <br />{Write-Host -ForegroundColor $No &quot; No&quot;}    <br />}    <br />&quot;`n&quot;    <br />&quot;`n&quot;    <br />############################################################################</p>
<p># Test OWA Connectivity to each Server</p>
<p>$OWA = Get-ClientAccessServer&#160; |Test-OwaConnectivity</p>
<p>&#160; <br />Write-Host &quot;OWA Connectivity&quot;     <br />&quot;`n&quot;    <br />$Status = &quot;Yes&quot;    <br />Foreach ($db in $OWA)    <br />{Write-Host $DB.ClientAccessServerShortName =&#160; -NoNewline;    <br />If ($DB.Result.Value -ne &quot;Success&quot;)    <br />{ $Status = &#8216;No&#8217;    <br />}</p>
<p>&#160;</p>
<p>if ($status -eq &quot;Yes&quot;)   <br />{Write-host -Foregroundcolor $Yes &quot; Yes&quot;    <br />}</p>
<p>else   <br />{Write-Host -ForegroundColor $No &quot; No&quot;}    <br />}    <br />&quot;`n&quot;    <br />&quot;`n&quot;    <br />############################################################################</p>
<p># Test Mailflow on each Database</p>
<p>Write-Host &quot;Mail flow &quot;    <br />&quot;`n&quot;    <br />$Mbx = Get-MailboxDatabase</p>
<p>$Status = &quot;Yes&quot;   <br />Foreach ($db in $MBX)    <br />{Write-host $DB.name = -NoNewline;    <br />$TF = Test-mailflow -Targetdatabase $db.name    <br />if ($TF.testmailflowresult -ne &quot;Success&quot;)    <br />{$Status = &quot;No&quot;}</p>
<p>if ($status -eq &quot;Yes&quot;)    <br />{Write-host -Foregroundcolor $Yes &quot; Yes&quot;    <br />}</p>
<p>else   <br />{Write-Host -ForegroundColor $No &quot; No&quot;}    <br />}    <br />&quot;`n&quot;    <br />&quot;`n&quot;    <br />############################################################################</p>
<p># Test CAS Ports</p>
<p>Write-Host &quot;CAS Ports Open &quot;    <br />$Mbx = Get-ClientAccessServer</p>
<p>$Status = &quot;Yes&quot;   <br />&quot;`n&quot;    <br />Write-host &quot;Port 80&quot;    <br />&quot;`n&quot;    <br />Foreach ($db in $MBX)</p>
<p>{write-host $DB.name = -NoNewline;    <br />$P= Test-Port -Computer $db.name -port 80 -tcp    <br />if ( $P.open -ne &quot;True&quot;)    <br />{$Status = &quot;No&quot;}</p>
<p>if ($status -eq &quot;Yes&quot;)    <br />{Write-host -Foregroundcolor $Yes &quot; Yes&quot;    <br />}</p>
<p>else   <br />{Write-Host -ForegroundColor $No &quot; No&quot;}    <br />}    <br />&quot;`n&quot;    <br />Write-host &quot;Port 443&quot;</p>
<p>Foreach ($db in $MBX)</p>
<p>{write-host $DB.name = -NoNewline;    <br />$P= Test-Port -Computer $db.name -port 443 -tcp    <br />if ( $P.open -ne &quot;True&quot;)    <br />{$Status = &quot;No&quot;}</p>
<p>if ($status -eq &quot;Yes&quot;)    <br />{Write-host -Foregroundcolor $Yes &quot; Yes&quot;    <br />}</p>
<p>else   <br />{Write-Host -ForegroundColor $No &quot; No&quot;}    <br />}    <br />&quot;`n&quot;</p>
<p>Write-host &quot;Port 60001&quot;</p>
<p>Foreach ($db in $MBX)</p>
<p>{write-host $DB.name = -NoNewline;    <br />$P= Test-Port -Computer $db.name -port 60001 -tcp    <br />if ( $P.open -ne &quot;True&quot;)    <br />{$Status = &quot;No&quot;}</p>
<p>if ($status -eq &quot;Yes&quot;)    <br />{Write-host -Foregroundcolor $Yes &quot; Yes&quot;    <br />}</p>
<p>else   <br />{Write-Host -ForegroundColor $No &quot; No&quot;}    <br />}    <br />&quot;`n&quot;</p>
<p>Write-host &quot;Port 143&quot;</p>
<p>Foreach ($db in $MBX)</p>
<p>{write-host $DB.name = -NoNewline;    <br />$P= Test-Port -Computer $db.name -port 143 -tcp    <br />if ( $P.open -ne &quot;True&quot;)    <br />{$Status = &quot;No&quot;}</p>
<p>if ($status -eq &quot;Yes&quot;)    <br />{Write-host -Foregroundcolor $Yes &quot; Yes&quot;    <br />}</p>
<p>else   <br />{Write-Host -ForegroundColor $No &quot; No&quot;}    <br />}    <br />&quot;`n&quot;</p>
<p>Write-host &quot;Port 110&quot;</p>
<p>Foreach ($db in $MBX)</p>
<p>{write-host $DB.name = -NoNewline;    <br />$P= Test-Port -Computer $db.name -port 110 -tcp    <br />if ( $P.open -ne &quot;True&quot;)    <br />{$Status = &quot;No&quot;}</p>
<p>if ($status -eq &quot;Yes&quot;)    <br />{Write-host -Foregroundcolor $Yes &quot; Yes&quot;    <br />}</p>
<p>else   <br />{Write-Host -ForegroundColor $No &quot; No&quot;}    <br />}    <br />&quot;`n&quot;    <br />&quot;`n&quot;    <br />############################################################################</p>
<p># Test IMAP Connectivity to each Server</p>
<p>$IMAP = Get-ClientAccessServer |&#160; Test-IMAPConnectivity    <br />&#160; <br />Write-Host &quot;IMAP Connectivity &quot;&#160; <br />&quot;`n&quot;    <br />$Status = &quot;Yes&quot;    <br />Foreach ($db in $IMAP)    <br />{write-host $DB.ClientAccessServerShortName = -NoNewline;    <br />If ($DB.Result.value -ne &quot;Success&quot;)    <br />{ $Status = &#8216;No&#8217;    <br />}</p>
<p>&#160;</p>
<p>if ($status -eq &quot;Yes&quot;)   <br />{Write-host -Foregroundcolor $Yes &quot; Yes&quot;    <br />}</p>
<p>else   <br />{Write-Host -ForegroundColor $No &quot; No&quot;}    <br />}    <br />&quot;`n&quot;    <br />&quot;`n&quot;</p>
<p>############################################################################</p>
<p># Test POP3 Connectivity to each Server</p>
<p>$POP3 = Get-ClientAccessServer&#160; |&#160; Test-POPConnectivity    <br />&#160; <br />Write-Host &quot;POP3 Connectivity&#160; &quot;     <br />&quot;`n&quot;    <br />$Status = &quot;Yes&quot;    <br />Foreach ($db in $POP3)    <br />{write-host $DB.ClientAccessServerShortName = -NoNewline;    <br />If ($DB.Result.value -ne &quot;Success&quot;)    <br />{ $Status = &#8216;No&#8217;    <br />}</p>
<p>&#160;</p>
<p>if ($status -eq &quot;Yes&quot;)   <br />{Write-host -Foregroundcolor $Yes &quot; Yes&quot;    <br />}</p>
<p>else   <br />{Write-Host -ForegroundColor $No &quot; No&quot;}    <br />}</p>
<p>&quot;`n&quot;   <br />&quot;`n&quot;</p>


<p>Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/03/30/basic-exchange-2010-health-check-powershell-script/' rel='bookmark' title='Permanent Link: Basic Exchange 2010 Health Check PowerShell Script'>Basic Exchange 2010 Health Check PowerShell Script</a> <small>Please see below a handy PowerShell Script which will give...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/09/16/find-the-number-of-users-per-mailbox-database-exchange-2010/' rel='bookmark' title='Permanent Link: Find The Number of Users per Mailbox Database Exchange 2010'>Find The Number of Users per Mailbox Database Exchange 2010</a> <small>In the Exchange 2010 Management Console, mailbox databases do not...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/02/14/using-powershell-to-create-printers/' rel='bookmark' title='Permanent Link: Using PowerShell to create printers'>Using PowerShell to create printers</a> <small>Recently I had the need to create shared printers on...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://support.risualblogs.com/blog/2012/03/30/detailed-exchange-2010-health-check/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basic Exchange 2010 Health Check PowerShell Script</title>
		<link>http://support.risualblogs.com/blog/2012/03/30/basic-exchange-2010-health-check-powershell-script/</link>
		<comments>http://support.risualblogs.com/blog/2012/03/30/basic-exchange-2010-health-check-powershell-script/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 10:14:46 +0000</pubDate>
		<dc:creator>Daniel Davies</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://3.1376</guid>
		<description><![CDATA[Please see below a handy PowerShell Script which will give you a quick health check on your environment The PowerShell Script will check the following That all Exchange Databases are Mounted Mapi Connectivity to all databases are working ActiveSync Connectivity to each CAS Server is working OWA Connectivity to each CAS server is working Mailflow [...]


Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/03/05/exchange-2010-powershell-script-to-alert-when-replay-queue-length-gets-above-a-threshold/' rel='bookmark' title='Permanent Link: Exchange 2010 PowerShell Script to alert when Replay Queue Length gets above a Threshold'>Exchange 2010 PowerShell Script to alert when Replay Queue Length gets above a Threshold</a> <small>Just a quick PowerShell script we’ve wrote that will basically...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/09/16/find-the-number-of-users-per-mailbox-database-exchange-2010/' rel='bookmark' title='Permanent Link: Find The Number of Users per Mailbox Database Exchange 2010'>Find The Number of Users per Mailbox Database Exchange 2010</a> <small>In the Exchange 2010 Management Console, mailbox databases do not...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/02/14/using-powershell-to-create-printers/' rel='bookmark' title='Permanent Link: Using PowerShell to create printers'>Using PowerShell to create printers</a> <small>Recently I had the need to create shared printers on...</small></li>
</ol>

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Please see below a handy PowerShell Script which will give you a quick health check on your environment</p>
<p>The PowerShell Script will check the following</p>
<ul>
<li>That all Exchange Databases are Mounted</li>
<li>Mapi Connectivity to all databases are working</li>
<li>ActiveSync Connectivity to each CAS Server is working</li>
<li>OWA Connectivity to each CAS server is working</li>
<li>Mailflow to Each Database is working</li>
<li>Main CAS Server Ports are open and working</li>
<li>IMAP is working</li>
<li>POP3 is working</li>
<li>All Exchange Services are Started</li>
</ul>
<p>Please note the test port function in the script is from the following <a title="http://gallery.technet.microsoft.com/scriptcenter/97119ed6-6fb2-446d-98d8-32d823867131" href="http://gallery.technet.microsoft.com/scriptcenter/97119ed6-6fb2-446d-98d8-32d823867131">http://gallery.technet.microsoft.com/scriptcenter/97119ed6-6fb2-446d-98d8-32d823867131</a></p>
<p>The Script will give an output like below</p>
<p><a href="http://support.risualblogs.com/blog/files/2012/03/image2.png"><img style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" src="http://support.risualblogs.com/blog/files/2012/03/image_thumb2.png" border="0" alt="image" width="415" height="252" /></a></p>
<p>At a later date i will be blogging another PS1 script which will give a more verbose output.</p>
<p>Please save the below to a .PS1 file and run from the Exchange Management Shell.</p>
<p>######################Functions#################################################<br />
function Test-Port{ <br />
&lt;#   <br />
.SYNOPSIS   <br />
    Tests port on computer. <br />
   <br />
.DESCRIPTION <br />
    Tests port on computer.<br />
    <br />
.PARAMETER computer <br />
    Name of server to test the port connection on.<br />
     <br />
.PARAMETER port <br />
    Port to test<br />
      <br />
.PARAMETER tcp <br />
    Use tcp port<br />
     <br />
.PARAMETER udp <br />
    Use udp port <br />
    <br />
.PARAMETER UDPTimeOut<br />
    Sets a timeout for UDP port query. (In milliseconds, Default is 1000) <br />
     <br />
.PARAMETER TCPTimeOut<br />
    Sets a timeout for TCP port query. (In milliseconds, Default is 1000) <br />
                 <br />
    To Do: <br />
        Add capability to run background jobs for each host to shorten the time to scan.         <br />
    <br />
.EXAMPLE   <br />
    Test-Port -computer &#8216;server&#8217; -port 80 <br />
    Checks port 80 on server &#8216;server&#8217; to see if it is listening <br />
   <br />
.EXAMPLE   <br />
    &#8216;server&#8217; | Test-Port -port 80 <br />
    Checks port 80 on server &#8216;server&#8217; to see if it is listening<br />
     <br />
.EXAMPLE   <br />
    Test-Port -computer @(&#8220;server1&#8243;,&#8221;server2&#8243;) -port 80 <br />
    Checks port 80 on server1 and server2 to see if it is listening <br />
   <br />
.EXAMPLE<br />
    Test-Port -comp dc1 -port 17 -udp -UDPtimeout 10000<br />
   <br />
    Server   : dc1<br />
    Port     : 17<br />
    TypePort : UDP<br />
    Open     : True <br />
        <br />
    Description<br />
    &#8212;&#8212;&#8212;&#8211;<br />
    Queries port 17 (qotd) on the UDP port and returns whether port is open or not<br />
      <br />
.EXAMPLE   <br />
    @(&#8220;server1&#8243;,&#8221;server2&#8243;) | Test-Port -port 80 <br />
    Checks port 80 on server1 and server2 to see if it is listening <br />
     <br />
.EXAMPLE   <br />
    (Get-Content hosts.txt) | Test-Port -port 80 <br />
    Checks port 80 on servers in host file to see if it is listening<br />
    <br />
.EXAMPLE   <br />
    Test-Port -computer (Get-Content hosts.txt) -port 80 <br />
    Checks port 80 on servers in host file to see if it is listening<br />
       <br />
.EXAMPLE   <br />
    Test-Port -computer (Get-Content hosts.txt) -port @(1..59) <br />
    Checks a range of ports from 1-59 on all servers in the hosts.txt file     <br />
           <br />
#&gt;  <br />
[cmdletbinding( <br />
    DefaultParameterSetName = '', <br />
    ConfirmImpact = 'low' <br />
)] <br />
    Param( <br />
        [Parameter( <br />
            Mandatory = $True, <br />
            Position = 0, <br />
            ParameterSetName = '', <br />
            ValueFromPipeline = $True)] <br />
            [array]$computer, <br />
        [Parameter( <br />
            Position = 1, <br />
            Mandatory = $True, <br />
            ParameterSetName = '')] <br />
            [array]$port, <br />
        [Parameter( <br />
            Mandatory = $False, <br />
            ParameterSetName = '')] <br />
            [int]$TCPtimeout=1000, <br />
        [Parameter( <br />
            Mandatory = $False, <br />
            ParameterSetName = '')] <br />
            [int]$UDPtimeout=1000,            <br />
        [Parameter( <br />
            Mandatory = $False, <br />
            ParameterSetName = '')] <br />
            [switch]$TCP, <br />
        [Parameter( <br />
            Mandatory = $False, <br />
            ParameterSetName = '')] <br />
            [switch]$UDP                                   <br />
        ) <br />
    Begin { <br />
        If (!$tcp -AND !$udp) {$tcp = $True} <br />
        #Typically you never do this, but in this case I felt it was for the benefit of the function <br />
        #as any errors will be noted in the output of the report         <br />
        $ErrorActionPreference = &#8220;SilentlyContinue&#8221; <br />
        $report = @() <br />
    } <br />
    Process {    <br />
        ForEach ($c in $computer) { <br />
            ForEach ($p in $port) { <br />
                If ($tcp) {   <br />
                    #Create temporary holder  <br />
                    $temp = &#8220;&#8221; | Select Server, Port, TypePort, Open, Notes <br />
                    #Create object for connecting to port on computer <br />
                    $tcpobject = new-Object system.Net.Sockets.TcpClient <br />
                    #Connect to remote machine&#8217;s port               <br />
                    $connect = $tcpobject.BeginConnect($c,$p,$null,$null) <br />
                    #Configure a timeout before quitting <br />
                    $wait = $connect.AsyncWaitHandle.WaitOne($TCPtimeout,$false) <br />
                    #If timeout <br />
                    If(!$wait) { <br />
                        #Close connection <br />
                        $tcpobject.Close() <br />
                        Write-Verbose &#8220;Connection Timeout&#8221; <br />
                        #Build report <br />
                        $temp.Server = $c <br />
                        $temp.Port = $p <br />
                        $temp.TypePort = &#8220;TCP&#8221; <br />
                        $temp.Open = &#8220;False&#8221; <br />
                        $temp.Notes = &#8220;Connection to Port Timed Out&#8221; <br />
                    } Else { <br />
                        $error.Clear() <br />
                        $tcpobject.EndConnect($connect) | out-Null <br />
                        #If error <br />
                        If($error[0]){ <br />
                            #Begin making error more readable in report <br />
                            [string]$string = ($error[0].exception).message <br />
                            $message = (($string.split(&#8220;:&#8221;)[1]).replace(&#8216;&#8221;&#8216;,&#8221;")).TrimStart() <br />
                            $failed = $true <br />
                        } <br />
                        #Close connection     <br />
                        $tcpobject.Close() <br />
                        #If unable to query port to due failure <br />
                        If($failed){ <br />
                            #Build report <br />
                            $temp.Server = $c <br />
                            $temp.Port = $p <br />
                            $temp.TypePort = &#8220;TCP&#8221; <br />
                            $temp.Open = &#8220;False&#8221; <br />
                            $temp.Notes = &#8220;$message&#8221; <br />
                        } Else{ <br />
                            #Build report <br />
                            $temp.Server = $c <br />
                            $temp.Port = $p <br />
                            $temp.TypePort = &#8220;TCP&#8221; <br />
                            $temp.Open = &#8220;True&#8221;   <br />
                            $temp.Notes = &#8220;&#8221; <br />
                        } <br />
                    }    <br />
                    #Reset failed value <br />
                    $failed = $Null     <br />
                    #Merge temp array with report             <br />
                    $report += $temp <br />
                }     <br />
                If ($udp) { <br />
                    #Create temporary holder  <br />
                    $temp = &#8220;&#8221; | Select Server, Port, TypePort, Open, Notes                                    <br />
                    #Create object for connecting to port on computer <br />
                    $udpobject = new-Object system.Net.Sockets.Udpclient<br />
                    #Set a timeout on receiving message<br />
                    $udpobject.client.ReceiveTimeout = $UDPTimeout<br />
                    #Connect to remote machine&#8217;s port               <br />
                    Write-Verbose &#8220;Making UDP connection to remote server&#8221;<br />
                    $udpobject.Connect(&#8220;$c&#8221;,$p)<br />
                    #Sends a message to the host to which you have connected.<br />
                    Write-Verbose &#8220;Sending message to remote host&#8221;<br />
                    $a = new-object system.text.asciiencoding<br />
                    $byte = $a.GetBytes(&#8220;$(Get-Date)&#8221;)<br />
                    [void]$udpobject.Send($byte,$byte.length)<br />
                    #IPEndPoint object will allow us to read datagrams sent from any source. <br />
                    Write-Verbose &#8220;Creating remote endpoint&#8221;<br />
                    $remoteendpoint = New-Object system.net.ipendpoint([system.net.ipaddress]::Any,0)<br />
                    Try {<br />
                        #Blocks until a message returns on this socket from a remote host.<br />
                        Write-Verbose &#8220;Waiting for message return&#8221;<br />
                        $receivebytes = $udpobject.Receive([ref]$remoteendpoint)<br />
                        [string]$returndata = $a.GetString($receivebytes)<br />
                        If ($returndata) {<br />
                           Write-Verbose &#8220;Connection Successful&#8221; <br />
                            #Build report <br />
                            $temp.Server = $c <br />
                            $temp.Port = $p <br />
                            $temp.TypePort = &#8220;UDP&#8221; <br />
                            $temp.Open = &#8220;True&#8221; <br />
                            $temp.Notes = $returndata  <br />
                            $udpobject.close()  <br />
                        }                      <br />
                    } Catch {<br />
                        If ($Error[0].ToString() -match &#8220;bRespond after a period of timeb&#8221;) {<br />
                            #Close connection <br />
                            $udpobject.Close() <br />
                            #Make sure that the host is online and not a false positive that it is open<br />
                            If (Test-Connection -comp $c -count 1 -quiet) {<br />
                                Write-Verbose &#8220;Connection Open&#8221; <br />
                                #Build report <br />
                                $temp.Server = $c <br />
                                $temp.Port = $p <br />
                                $temp.TypePort = &#8220;UDP&#8221; <br />
                                $temp.Open = &#8220;True&#8221; <br />
                                $temp.Notes = &#8220;&#8221;<br />
                            } Else {<br />
                                &lt;#<br />
                                It is possible that the host is not online or that the host is online, <br />
                                but ICMP is blocked by a firewall and this port is actually open.<br />
                                #&gt;<br />
                                Write-Verbose &#8220;Host maybe unavailable&#8221; <br />
                                #Build report <br />
                                $temp.Server = $c <br />
                                $temp.Port = $p <br />
                                $temp.TypePort = &#8220;UDP&#8221; <br />
                                $temp.Open = &#8220;False&#8221; <br />
                                $temp.Notes = &#8220;Unable to verify if port is open or if host is unavailable.&#8221;                                <br />
                            }                        <br />
                        } ElseIf ($Error[0].ToString() -match &#8220;forcibly closed by the remote host&#8221; ) {<br />
                            #Close connection <br />
                            $udpobject.Close() <br />
                            Write-Verbose &#8220;Connection Timeout&#8221; <br />
                            #Build report <br />
                            $temp.Server = $c <br />
                            $temp.Port = $p <br />
                            $temp.TypePort = &#8220;UDP&#8221; <br />
                            $temp.Open = &#8220;False&#8221; <br />
                            $temp.Notes = &#8220;Connection to Port Timed Out&#8221;                        <br />
                        } Else {                     <br />
                            $udpobject.close()<br />
                        }<br />
                    }    <br />
                    #Merge temp array with report             <br />
                    $report += $temp <br />
                }                                 <br />
            } <br />
        }                 <br />
    } <br />
    End { <br />
        #Generate Report <br />
        $report<br />
    }<br />
}</p>
<p>############################Variables########################################<br />
$Yes = &#8220;Green&#8221;<br />
$No = &#8220;Red&#8221;</p>
<p>#######################################Script################################<br />
&#8220;`n&#8221;<br />
Write-Host &#8220;Exchange Checks&#8221;<br />
Write-Host &#8220;________________________________&#8221;<br />
&#8220;`n&#8221;</p>
<p># Check to make sure all databases are mounted</p>
<p>$MountedDB = get-mailboxdatabase -status<br />
Write-Host &#8220;Databases Mounted = &#8221; -NoNewline;</p>
<p>$Status = &#8220;Yes&#8221;<br />
Foreach ($DB in $MountedDB)<br />
{<br />
If ($DB.Mounted -ne $true)<br />
{ $Status = &#8216;No&#8217;<br />
}<br />
}</p>
<p>if ($status -eq &#8220;Yes&#8221;)<br />
{Write-host -Foregroundcolor $Yes &#8220;Yes&#8221;<br />
}</p>
<p>else<br />
{Write-Host -ForegroundColor $No &#8220;No&#8221;}</p>
<p>############################################################################</p>
<p># Test Mapi Connectivity to each Database</p>
<p>$MAPI = get-mailboxdatabase | Test-MapiConnectivity<br />
Write-Host &#8220;Mapi Connectivity = &#8221; -NoNewline;</p>
<p>$Status = &#8220;Yes&#8221;<br />
Foreach ($db in $Mapi)<br />
{<br />
If ($DB.Result.value -ne &#8220;Success&#8221;)<br />
{ $Status = &#8216;No&#8217;<br />
}<br />
}</p>
<p>if ($status -eq &#8220;Yes&#8221;)<br />
{Write-host -Foregroundcolor $Yes &#8220;Yes&#8221;<br />
}</p>
<p>else<br />
{Write-Host -ForegroundColor $No &#8220;No&#8221;}</p>
<p>############################################################################</p>
<p># Test ActiveSync Connectivity to each Server</p>
<p>$AS = Get-ClientAccessServer |  Test-ActiveSyncConnectivity<br />
 <br />
Write-Host &#8220;ActiveSync Connectivity = &#8221; -NoNewline;</p>
<p>$Status = &#8220;Yes&#8221;<br />
Foreach ($db in $AS)<br />
{<br />
If ($DB.Result.value -ne &#8220;Success&#8221;)<br />
{ $Status = &#8216;No&#8217;<br />
}<br />
}</p>
<p>if ($status -eq &#8220;Yes&#8221;)<br />
{Write-host -Foregroundcolor $Yes &#8220;Yes&#8221;<br />
}</p>
<p>else<br />
{Write-Host -ForegroundColor $No &#8220;No&#8221;}</p>
<p>############################################################################</p>
<p># Test OWA Connectivity to each Server</p>
<p>$OWA = Get-ClientAccessServer  |Test-OwaConnectivity</p>
<p> <br />
Write-Host &#8220;OWA Connectivity = &#8221; -NoNewline;</p>
<p>$Status = &#8220;Yes&#8221;<br />
Foreach ($db in $OWA)<br />
{<br />
If ($DB.Result.Value -ne &#8220;Success&#8221;)<br />
{ $Status = &#8216;No&#8217;<br />
}<br />
}</p>
<p>if ($status -eq &#8220;Yes&#8221;)<br />
{Write-host -Foregroundcolor $Yes &#8220;Yes&#8221;<br />
}</p>
<p>else<br />
{Write-Host -ForegroundColor $No &#8220;No&#8221;}</p>
<p>############################################################################</p>
<p># Test Mailflow on each Database</p>
<p>Write-Host &#8220;Mail flow = &#8221; -NoNewline;<br />
$Mbx = Get-MailboxDatabase</p>
<p>$Status = &#8220;Yes&#8221;<br />
Foreach ($db in $MBX)<br />
{ $TF = Test-mailflow -Targetdatabase $db.name<br />
if ($TF.testmailflowresult -ne &#8220;Success&#8221;)<br />
{$Status = &#8220;No&#8221;}<br />
}</p>
<p>if ($status -eq &#8220;Yes&#8221;)<br />
{Write-host -Foregroundcolor $Yes &#8220;Yes&#8221;<br />
}</p>
<p>else<br />
{Write-Host -ForegroundColor $No &#8220;No&#8221;}</p>
<p>############################################################################<br />
# Test CAS Ports Connectivity</p>
<p>Write-Host &#8220;CAS Ports Open = &#8221; -NoNewline;<br />
$Mbx = Get-ClientAccessServer</p>
<p>$Status = &#8220;Yes&#8221;</p>
<p>Foreach ($db in $MBX)<br />
{ $P= Test-Port -Computer $db.name -port 80 -tcp<br />
if ( $P.open -ne &#8220;True&#8221;)<br />
{$Status = &#8220;No&#8221;}<br />
}</p>
<p>Foreach ($db in $MBX)<br />
{ $P= Test-Port -Computer $db.name -port 60001 -tcp<br />
if ( $P.open -ne &#8220;True&#8221;)<br />
{$Status = &#8220;No&#8221;}<br />
}</p>
<p>Foreach ($db in $MBX)<br />
{ $P= Test-Port -Computer $db.name -port 443 -tcp<br />
if ( $P.open -ne &#8220;True&#8221;)<br />
{$Status = &#8220;No&#8221;}<br />
}</p>
<p>Foreach ($db in $MBX)<br />
{ $P= Test-Port -Computer $db.name -port 110 -tcp<br />
if ( $P.open -ne &#8220;True&#8221;)<br />
{$Status = &#8220;No&#8221;}<br />
}</p>
<p>Foreach ($db in $MBX)<br />
{ $P= Test-Port -Computer $db.name -port 143 -tcp<br />
if ( $P.open -ne &#8220;True&#8221;)<br />
{$Status = &#8220;No&#8221;}<br />
}</p>
<p>if ($status -eq &#8220;Yes&#8221;)<br />
{Write-host -Foregroundcolor $Yes &#8220;Yes&#8221;<br />
}</p>
<p>else<br />
{Write-Host -ForegroundColor $No &#8220;No&#8221;}</p>
<p>############################################################################</p>
<p># Test IMAP Connectivity to each Server</p>
<p>$IMAP = Get-ClientAccessServer |  Test-ActiveSyncConnectivity<br />
 <br />
Write-Host &#8220;IMAP Connectivity = &#8221; -NoNewline;</p>
<p>$Status = &#8220;Yes&#8221;<br />
Foreach ($db in $IMAP)<br />
{<br />
If ($DB.Result.value -ne &#8220;Success&#8221;)<br />
{ $Status = &#8216;No&#8217;<br />
}<br />
}</p>
<p>if ($status -eq &#8220;Yes&#8221;)<br />
{Write-host -Foregroundcolor $Yes &#8220;Yes&#8221;<br />
}</p>
<p>else<br />
{Write-Host -ForegroundColor $No &#8220;No&#8221;}</p>
<p>############################################################################</p>
<p># Test POP3 Connectivity to each Server</p>
<p>$POP3 = Get-ClientAccessServer |  Test-ActiveSyncConnectivity<br />
 <br />
Write-Host &#8220;POP3 Connectivity = &#8221; -NoNewline;</p>
<p>$Status = &#8220;Yes&#8221;<br />
Foreach ($db in $POP3)<br />
{<br />
If ($DB.Result.value -ne &#8220;Success&#8221;)<br />
{ $Status = &#8216;No&#8217;<br />
}<br />
}</p>
<p>if ($status -eq &#8220;Yes&#8221;)<br />
{Write-host -Foregroundcolor $Yes &#8220;Yes&#8221;<br />
}</p>
<p>else<br />
{Write-Host -ForegroundColor $No &#8220;No&#8221;}</p>
<p>############################################################################</p>
<p># Test Services are Started</p>
<p>$SRV = Get-ClientAccessServer   |  Test-ServiceHealth<br />
 <br />
Write-Host &#8220;Services Started = &#8221; -NoNewline;</p>
<p>$Status = &#8220;Yes&#8221;<br />
Foreach ($db in $SRV)<br />
{<br />
If ($DB.RequiredServicesRunning -ne &#8220;True&#8221;)<br />
{ $Status = &#8216;No&#8217;<br />
}<br />
}</p>
<p>if ($status -eq &#8220;Yes&#8221;)<br />
{Write-host -Foregroundcolor $Yes &#8220;Yes&#8221;<br />
}</p>
<p>else<br />
{Write-Host -ForegroundColor $No &#8220;No&#8221;}<br />
&#8220;`n&#8221;</p>


<p>Related posts:<ol><li><a href='http://support.risualblogs.com/blog/2012/03/05/exchange-2010-powershell-script-to-alert-when-replay-queue-length-gets-above-a-threshold/' rel='bookmark' title='Permanent Link: Exchange 2010 PowerShell Script to alert when Replay Queue Length gets above a Threshold'>Exchange 2010 PowerShell Script to alert when Replay Queue Length gets above a Threshold</a> <small>Just a quick PowerShell script we’ve wrote that will basically...</small></li>
<li><a href='http://support.risualblogs.com/blog/2011/09/16/find-the-number-of-users-per-mailbox-database-exchange-2010/' rel='bookmark' title='Permanent Link: Find The Number of Users per Mailbox Database Exchange 2010'>Find The Number of Users per Mailbox Database Exchange 2010</a> <small>In the Exchange 2010 Management Console, mailbox databases do not...</small></li>
<li><a href='http://support.risualblogs.com/blog/2012/02/14/using-powershell-to-create-printers/' rel='bookmark' title='Permanent Link: Using PowerShell to create printers'>Using PowerShell to create printers</a> <small>Recently I had the need to create shared printers on...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://support.risualblogs.com/blog/2012/03/30/basic-exchange-2010-health-check-powershell-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

