<?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>www.telnetport25.com</title>
	<atom:link href="http://www.telnetport25.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.telnetport25.com</link>
	<description>The idle ramblings of a haggard IT Professional</description>
	<lastBuildDate>Sun, 19 May 2013 20:41:54 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>How to programmatically get all Mailbox Databases from Active Directory using C#&#8230;</title>
		<link>http://www.telnetport25.com/2013/05/how-to-programmatically-get-all-mailbox-databases-from-active-directory-using-c/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-programmatically-get-all-mailbox-databases-from-active-directory-using-c</link>
		<comments>http://www.telnetport25.com/2013/05/how-to-programmatically-get-all-mailbox-databases-from-active-directory-using-c/#comments</comments>
		<pubDate>Sun, 19 May 2013 20:41:54 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2010 (Databases)]]></category>
		<category><![CDATA[Exchange 2013 (Databases)]]></category>
		<category><![CDATA[Exchange 2013 (Mailboxes)]]></category>
		<category><![CDATA[Exchange Programming .NET]]></category>
		<category><![CDATA[Windows Server 2012 [ Active Directory ]]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Programmatically counting mailboxes in Mailbox Databases]]></category>
		<category><![CDATA[Programmatically getting mailbox databases]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1946</guid>
		<description><![CDATA[Ok, so I was thinking (which is always a very dangerous thing!) – after my last post on how you can programmatically count Mailboxes per Exchange Database – I was wondering how you can programmatically get a list of all Exchange Mailbox Databases in Active Directory via their distinguishedName. Why was I thinking this? – [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Ok, so I was thinking (<em>which is always a very dangerous thing!</em>) – <a href="http://www.telnetport25.com/?feed-stats-url=R2V0UGFydGl0aW9uc0ROKClodHRwOi8vd3d3LnRlbG5ldHBvcnQyNS5jb20vMjAxMy8wNS9wcm9ncmFtbWF0aWNhbGx5LWNvdW50aW5nLW1haWxib3hlcy1pbi1tYWlsYm94LWRhdGFiYXNlcy11c2luZy1jLw==" target=\"_blank\">after my last post</a> on how you can programmatically count Mailboxes per Exchange Database – I was wondering how you can programmatically get a list of all Exchange Mailbox Databases in Active Directory via their <strong>distinguishedName</strong>.</p>
<p><strong>Why was I thinking this?</strong> – well, if you were interested in – or – read my last article you would have noted that in order to “<strong><em>count</em></strong>” the Mailboxes within each database you had to supply (<em>from the command line</em>) the <strong>distinguishedName</strong> of each Mailbox database to the code. </p>
<p>Now, I am all about automation – so I wanted to define a way where the same code (<a href="http://www.telnetport25.com/?feed-stats-url=R2V0UGFydGl0aW9uc0ROKClodHRwOi8vd3d3LnRlbG5ldHBvcnQyNS5jb20vMjAxMy8wNS9wcm9ncmFtbWF0aWNhbGx5LWNvdW50aW5nLW1haWxib3hlcy1pbi1tYWlsYm94LWRhdGFiYXNlcy11c2luZy1jLw==" target=\"_blank\">from my previous post</a>) could be executed to display the same data without the need for command line arguments – <strong><em>e.g </em></strong>the mailbox counts per database without the user having to provide the distinguishedName.</p>
<p>So, I had a good old session on <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS8=" target=\"_blank\">MSDN</a> and eventually found <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi1nYi9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9tczY3Njg3Mih2PXZzLjg1KS5hc3B4" target=\"_blank\">this</a> code sample which gave me what I needed. In essence I knew that I wanted to be able to search the Active Directory “<a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjOTYxNTkxLmFzcHg=" target=\"_blank\">Configuration Partition</a>” in the same way as I did with the “<a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjOTYxNTkxLmFzcHg=" target=\"_blank\">Domain Partition</a>” (where the Domain contains properties and attributes for user account objects (amongst other things)).</p>
<p>The idea was if I could get the <strong>distinguishedName</strong> of a Mailbox Database from the AD Configuration Partition using an LDAP filter and then pass the result to a LDAP search of the “<strong><em>Domain Partition</em></strong>” partition based on the “<strong><em>homeMDB</em></strong>” attribute (<a href="http://www.telnetport25.com/?feed-stats-url=R2V0UGFydGl0aW9uc0ROKClodHRwOi8vd3d3LnRlbG5ldHBvcnQyNS5jb20vMjAxMy8wNS9wcm9ncmFtbWF0aWNhbGx5LWNvdW50aW5nLW1haWxib3hlcy1pbi1tYWlsYm94LWRhdGFiYXNlcy11c2luZy1jLw==" target=\"_blank\">see last post</a>) – then I could automate the entire process – therefore negating the need for command line arguments.</p>
<p>So I have added the following function to he code:</p>
<pre class="code"><span style="background: white; color: blue">static void </span><span style="background: white; color: black">GetMailboxDatabases()
        {
            
            </span><span style="background: white; color: #2b91af">DirectoryEntry </span><span style="background: white; color: black">RootDSE = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">DirectoryEntry</span><span style="background: white; color: black">(</span><span style="background: white; color: #a31515">&quot;LDAP://RootDSE&quot;</span><span style="background: white; color: black">);
            </span><span style="background: white; color: #2b91af">DirectoryEntry </span><span style="background: white; color: black">ConfigContainer = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">DirectoryEntry</span><span style="background: white; color: black">(</span><span style="background: white; color: #a31515">&quot;LDAP://&quot; </span><span style="background: white; color: black">+ RootDSE.Properties[</span><span style="background: white; color: #a31515">&quot;configurationNamingContext&quot;</span><span style="background: white; color: black">].Value);
            
            </span><span style="background: white; color: #2b91af">DirectorySearcher </span><span style="background: white; color: black">ConfigSearcher = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">DirectorySearcher</span><span style="background: white; color: black">(ConfigContainer);
            ConfigSearcher.Filter = </span><span style="background: white; color: #a31515">&quot;(&amp;(objectClass=msExchMDB))&quot;</span><span style="background: white; color: black">;
            ConfigSearcher.PropertiesToLoad.Add(</span><span style="background: white; color: #a31515">&quot;distinguishedName&quot;</span><span style="background: white; color: black">);
            ConfigSearcher.PageSize = 10000;
            ConfigSearcher.SearchScope = </span><span style="background: white; color: #2b91af">SearchScope</span><span style="background: white; color: black">.Subtree;


            </span><span style="background: white; color: blue">foreach </span><span style="background: white; color: black">(</span><span style="background: white; color: #2b91af">SearchResult </span><span style="background: white; color: black">result </span><span style="background: white; color: blue">in </span><span style="background: white; color: black">ConfigSearcher.FindAll())
            {
                
                GetDatabaseMailboxCount(result.Properties[</span><span style="background: white; color: #a31515">&quot;distinguishedName&quot;</span><span style="background: white; color: black">][0].ToString());

            }
        }</span></pre>
<p>As mentioned – the function above is based upon a generic <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi1nYi9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9tczY3Njg3Mih2PXZzLjg1KS5hc3B4" target=\"_blank\">MSDN article</a> – which I have made a few modifications to – these are:</p>
<ul>
<li>The original <strong>MSDN</strong> code performs an LDAP search of the Configuration Partition in AD (<em>which also contains a number of Exchange specific attributes when Exchange is installed</em>) – I changed the LDAP search filter to: </li>
</ul>
<pre>(&amp;(objectClass=msExchMDB)</pre>
<ul>
<li>I modified the PageSize to 10000 – to ensure that the traversal of the AD tree was deep enough (<em>in large environments this <strong>*might* </strong>need increasing</em>).</li>
<li>Modified the SearchScope to SubTree – to ensure that all levels of the configuration partition are traversed during the search.</li>
<li>Added in a “<strong><em>foreach</em></strong>” loop as we expect multiple results (e.g. more than one Database) to pass the Database DN to the <strong>DatabaseMailboxCount</strong> function.</li>
</ul>
<h2>The modified code</h2>
<p>The original code needed arguments from the command line when compiled – the revised code (below) works like the following:</p>
<ul>
<li>Does not need the Mailbox Database Distinguished Name to be passed from the command line.</li>
<li>Only gets “<strong><em>real</em></strong>” mailboxes (e.g. no System or Health Mailboxes).</li>
</ul>
<pre class="code"><span style="background: white; color: blue">using </span><span style="background: white; color: black">System;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.Collections.Generic;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.Linq;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.Text;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.DirectoryServices;

</span><span style="background: white; color: blue">namespace </span><span style="background: white; color: black">GetDatabaseMailboxCount
{
    </span><span style="background: white; color: blue">class </span><span style="background: white; color: #2b91af">Program
    </span><span style="background: white; color: black">{

        </span><span style="background: white; color: green">/*
         Define a function that gets the Root Directory Entry Path.
         This is used by other functions to return the default naming context:
         LDAP://DC=artTest,DC=local
         */

        </span><span style="background: white; color: blue">public static </span><span style="background: white; color: #2b91af">DirectoryEntry </span><span style="background: white; color: black">GetDirectoryEntry()
        {
            </span><span style="background: white; color: blue">try
            </span><span style="background: white; color: black">{
                </span><span style="background: white; color: #2b91af">DirectoryEntry </span><span style="background: white; color: black">Root = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">DirectoryEntry</span><span style="background: white; color: black">(</span><span style="background: white; color: #a31515">&quot;LDAP://RootDSE&quot;</span><span style="background: white; color: black">);
                </span><span style="background: white; color: blue">string </span><span style="background: white; color: black">Domain = (</span><span style="background: white; color: blue">string</span><span style="background: white; color: black">)Root.Properties[</span><span style="background: white; color: #a31515">&quot;defaultNamingContext&quot;</span><span style="background: white; color: black">][0];

                </span><span style="background: white; color: #2b91af">DirectoryEntry </span><span style="background: white; color: black">DirectoryENT = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">DirectoryEntry</span><span style="background: white; color: black">();

                DirectoryENT.Path = </span><span style="background: white; color: #a31515">&quot;LDAP://&quot; </span><span style="background: white; color: black">+ Domain;
                DirectoryENT.AuthenticationType = </span><span style="background: white; color: #2b91af">AuthenticationTypes</span><span style="background: white; color: black">.Secure;

                </span><span style="background: white; color: blue">return </span><span style="background: white; color: black">DirectoryENT;
            }
            </span><span style="background: white; color: blue">catch </span><span style="background: white; color: black">(</span><span style="background: white; color: #2b91af">Exception </span><span style="background: white; color: black">ex)
            {
                </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.ForegroundColor = </span><span style="background: white; color: #2b91af">ConsoleColor</span><span style="background: white; color: black">.Red;
                </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.WriteLine(</span><span style="background: white; color: #a31515">&quot;Failed to contact Active Directory with error: \n{0}&quot;</span><span style="background: white; color: black">, ex.Message);
                </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.ResetColor();
                </span><span style="background: white; color: blue">return null</span><span style="background: white; color: black">;
            }
        }

        </span><span style="background: white; color: green">/*
         
         Define the function which Counts the Mailboxes per Database
         
         
         */

        </span><span style="background: white; color: blue">static void </span><span style="background: white; color: black">GetDatabaseMailboxCount(</span><span style="background: white; color: blue">string </span><span style="background: white; color: black">MailboxDN)
        {
            
            </span><span style="background: white; color: green">// Get the Directory Path
            
            </span><span style="background: white; color: blue">string </span><span style="background: white; color: black">aDE = GetDirectoryEntry().Path.ToString();
            
            </span><span style="background: white; color: green">// Create a Directory Searcher Object Set to the Path

            </span><span style="background: white; color: #2b91af">DirectorySearcher </span><span style="background: white; color: black">search = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">DirectorySearcher</span><span style="background: white; color: black">(aDE);

            </span><span style="background: white; color: blue">string </span><span style="background: white; color: black">filter;


                </span><span style="background: white; color: green">// Otherwise filter out cn= starting with HealthMailbox or SystemMailbox
                
                </span><span style="background: white; color: black">filter = </span><span style="background: white; color: #a31515">&quot;(&amp;(objectClass=user)(homeMDB=&quot; </span><span style="background: white; color: black">+ MailboxDN + </span><span style="background: white; color: #a31515">&quot;)(!(cn=HealthMailbox*))(!(cn=SystemMailbox*)))&quot;</span><span style="background: white; color: black">;
            
            search.Filter = filter;
            search.PageSize = 10000;
            search.SearchScope = </span><span style="background: white; color: #2b91af">SearchScope</span><span style="background: white; color: black">.Subtree;
            
            </span><span style="background: white; color: blue">int </span><span style="background: white; color: black">Number = 0;

            </span><span style="background: white; color: green">// Count each result

            </span><span style="background: white; color: blue">foreach </span><span style="background: white; color: black">(</span><span style="background: white; color: #2b91af">SearchResult </span><span style="background: white; color: black">result </span><span style="background: white; color: blue">in </span><span style="background: white; color: black">search.FindAll())
            {
                Number++;
            }

         
            </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.ForegroundColor = </span><span style="background: white; color: #2b91af">ConsoleColor</span><span style="background: white; color: black">.Green;
            </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.WriteLine(</span><span style="background: white; color: #a31515">&quot;Mailbox Database: &quot; </span><span style="background: white; color: black">+ MailboxDN + </span><span style="background: white; color: #a31515">&quot;:&quot;</span><span style="background: white; color: black">);
            </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.ForegroundColor = </span><span style="background: white; color: #2b91af">ConsoleColor</span><span style="background: white; color: black">.Cyan;
            </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.WriteLine(</span><span style="background: white; color: #a31515">&quot;Contains &quot; </span><span style="background: white; color: black">+ Number + </span><span style="background: white; color: #a31515">&quot; Mailboxes&quot;</span><span style="background: white; color: black">);
            </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.ResetColor();

        }

        </span><span style="background: white; color: blue">static void </span><span style="background: white; color: black">GetMailboxDatabases()
        {
            
            </span><span style="background: white; color: #2b91af">DirectoryEntry </span><span style="background: white; color: black">RootDSE = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">DirectoryEntry</span><span style="background: white; color: black">(</span><span style="background: white; color: #a31515">&quot;LDAP://RootDSE&quot;</span><span style="background: white; color: black">);
            </span><span style="background: white; color: #2b91af">DirectoryEntry </span><span style="background: white; color: black">ConfigContainer = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">DirectoryEntry</span><span style="background: white; color: black">(</span><span style="background: white; color: #a31515">&quot;LDAP://&quot; </span><span style="background: white; color: black">+ RootDSE.Properties[</span><span style="background: white; color: #a31515">&quot;configurationNamingContext&quot;</span><span style="background: white; color: black">].Value);
            
            </span><span style="background: white; color: #2b91af">DirectorySearcher </span><span style="background: white; color: black">ConfigSearcher = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">DirectorySearcher</span><span style="background: white; color: black">(ConfigContainer);
            ConfigSearcher.Filter = </span><span style="background: white; color: #a31515">&quot;(&amp;(objectClass=msExchMDB))&quot;</span><span style="background: white; color: black">;
            ConfigSearcher.PropertiesToLoad.Add(</span><span style="background: white; color: #a31515">&quot;distinguishedName&quot;</span><span style="background: white; color: black">);
            ConfigSearcher.PageSize = 10000;
            ConfigSearcher.SearchScope = </span><span style="background: white; color: #2b91af">SearchScope</span><span style="background: white; color: black">.Subtree;


            </span><span style="background: white; color: blue">foreach </span><span style="background: white; color: black">(</span><span style="background: white; color: #2b91af">SearchResult </span><span style="background: white; color: black">result </span><span style="background: white; color: blue">in </span><span style="background: white; color: black">ConfigSearcher.FindAll())
            {
                
                GetDatabaseMailboxCount(result.Properties[</span><span style="background: white; color: #a31515">&quot;distinguishedName&quot;</span><span style="background: white; color: black">][0].ToString());

            }
        }

        </span><span style="background: white; color: blue">static void </span><span style="background: white; color: black">Main(</span><span style="background: white; color: blue">string</span><span style="background: white; color: black">[] args)
        {
            </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.Clear();
            GetMailboxDatabases();

        }
    }
}
</span></pre>
<p>Hope that helps!</p>
<div class="shr-publisher-1946"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDUvaG93LXRvLXByb2dyYW1tYXRpY2FsbHktZ2V0LWFsbC1tYWlsYm94LWRhdGFiYXNlcy1mcm9tLWFjdGl2ZS1kaXJlY3RvcnktdXNpbmctYy8=" data-shr_title='How+to+programmatically+get+all+Mailbox+Databases+from+Active+Directory+using+C%23%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1946" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/05/how-to-programmatically-get-all-mailbox-databases-from-active-directory-using-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programmatically counting mailboxes in Mailbox Databases using C#&#8230;</title>
		<link>http://www.telnetport25.com/2013/05/programmatically-counting-mailboxes-in-mailbox-databases-using-c/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=programmatically-counting-mailboxes-in-mailbox-databases-using-c</link>
		<comments>http://www.telnetport25.com/2013/05/programmatically-counting-mailboxes-in-mailbox-databases-using-c/#comments</comments>
		<pubDate>Sat, 18 May 2013 13:19:31 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2010 (Databases)]]></category>
		<category><![CDATA[Exchange 2013 (Databases)]]></category>
		<category><![CDATA[Exchange 2013 (Mailboxes)]]></category>
		<category><![CDATA[Exchange Programming .NET]]></category>
		<category><![CDATA[Windows Server 2012 [ Active Directory ]]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Programmatically counting mailboxes in Mailbox Databases]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1944</guid>
		<description><![CDATA[Ok, I know that the above is pretty easy using Powershell. In fact it is possible to also implement this using Automation Runspaces (again executing Powershell cmdlets from within the C# project) to achieve the same thing. But for a program that I am writing at the moment I needed to take a slight different [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Ok, I know that the above is pretty easy using Powershell. In fact it is possible to also implement this using Automation Runspaces (again executing Powershell cmdlets from within the C# project) to achieve the same thing. But for a program that I am writing at the moment I needed to take a slight different approach.</p>
<p>In essence I need to be able to quickly count all user mailboxes within a Exchange Mailbox Database and return them in a format of my choosing – for example; in the main program that I am writing the format would be an array which is then ported to the Data Grid control. I discovered that whilst this is a very simple task in pure Powershell – it is not that easy to convert into C# to accomplish my goal as described above.</p>
<p>To set the scene the Powershell cmdlets which can be piped together are as follows (<strong>referenced from</strong>: <a title=\"http://blog.dargel.at/2012/01/30/get-the-number-of-mailboxes-per-database/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2Jsb2cuZGFyZ2VsLmF0LzIwMTIvMDEvMzAvZ2V0LXRoZS1udW1iZXItb2YtbWFpbGJveGVzLXBlci1kYXRhYmFzZS8=">http://blog.dargel.at/2012/01/30/get-the-number-of-mailboxes-per-database/</a>) :</p>
<pre>(get-mailboxdatabase) | foreach-object {write-host $_.name (get-mailbox -database $_.name).count}</pre>
<p>Which will give you an output similar to the following:</p>
<p><img title="18-05-201312-54-04" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-05-201312-54-04" src="http://www.telnetport25.com/wp-content/uploads/2013/05/18-05-201312-54-04.png" width="620" height="95" /></p>
<p>I found that encapsulating something similar to the above within C# presented me with two main issues:</p>
<ul>
<li>Execution time was lengthy – depending on the number of Mailbox Databases and Mailboxes. </li>
<li>Formatting the results from the Automation Runspace into an array was not easy. </li>
</ul>
<p>I had a look around the Internet to see if there was a native way using something like EWS to accomplish the same thing – but alas I could not find exactly what I wanted. So I decided to write something in C# which allowed me to achieve what I needed.</p>
<p>Essentially – whereas it is always preferable to use Powershell when interacting with or querying Exchange – <em>most </em>Exchange Objects &#8211; including Databases and Mailboxes are held within Active Directory. This means – that if we know a few Directory attributes which tie Mailboxes to Databases then we should be able to construct an LDAP search string using a <strong>DirectorySearcher</strong> (using the System.DirectoryServices Reference) and count the results.</p>
<p>So after some brief thinking, a few cups of <strike>coffee</strike> tea and a heavy session using ADSI Edit I decided on the following two Active Directory attributes:</p>
<ul>
<li>homeMDB – contained on each user object that has a mailbox. </li>
<li>DistinguishedName – contained on all Mailbox Databases (and all other objects in AD – but I am interested in the DN on the Mailbox Database). </li>
</ul>
<p>The <strong>homeMDB</strong> attribute on each user object in Active Directory is in fact the <strong>DistinguishedName</strong> of the Mailbox Database that contains the Mailbox object within Exchange – see below:</p>
<h5>Mailbox Database Distinguished Name<br />
  <br /></h5>
<p><img title="18-05-20113-18-08" style="display: inline" alt="18-05-20113-18-08" src="http://www.telnetport25.com/wp-content/uploads/2013/05/18-05-20113-18-08.png" width="414" height="462" /></p>
<h5>AD User Object homeMDB<br />
  <br /></h5>
<p><img title="18-05-201313-18-58" style="display: inline" alt="18-05-201313-18-58" src="http://www.telnetport25.com/wp-content/uploads/2013/05/18-05-201313-18-58.png" width="414" height="462" /></p>
<p>Given the above using an LDAP filter like:</p>
<pre>(&amp;(objectClass=user)(homeMDB=CN=Paris_Office,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=artTest,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=artTest,DC=local)(!(cn=HealthMailbox*))(!(cn=SystemMailbox*)))</pre>
<p>Should return all users with a mailbox within the specified homeMDB. You will note in the example above I have excluded mailboxes with a CN= that starts “<strong>SystemMailbox</strong>” or “<strong>HealthMailbox</strong>” – using the following syntax:</p>
<pre>(!(cn=HealthMailbox*))(!(cn=SystemMailbox*))</pre>
<p>The output of the above LDAP query when testing in Active Directory Users and Computers looks like the following:</p>
<p><img title="18-05-201313-26-26" style="display: inline" alt="18-05-201313-26-26" src="http://www.telnetport25.com/wp-content/uploads/2013/05/18-05-201313-26-26.png" width="531" height="661" /></p>
<p>Now that I had the information that I needed from Active Directory and the correct LDAP query all I needed to do was convert that into C#.</p>
<p>Firstly I wrote a command line based test program which accepts the following parameters:</p>
<ul>
<li><strong>Mailbox Database DN</strong>
<ul>
<li>e.g. CN=Paris_Office,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=artTest,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=artTest,DC=local </li>
</ul>
</li>
<li><strong>Execution Mode</strong>
<ul>
<li>System – includes system and health mailboxes in the overall count from the database </li>
<li>nonSystem – only includes normal mailboxes </li>
</ul>
</li>
</ul>
<p>Therefore correct command line examples when the program was compiled would be (including the double quotes):</p>
<p>All mailboxes <strong><u>including</u></strong> system and health:</p>
<pre>GetDatabaseMailboxCount.exe “<font color="#0000ff">CN=Paris_Office,CN=Databases,CN=Exchange Administrative Group(FYDIBOHF23SPDLT),CN=Administrative Groups,CN=artTest,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=artTest,DC=local</font>” <font color="#ff0000">S</font><font color="#ff0000">ystem</font></pre>
<p><font color="#000000">Or if you want just normal mailboxes:</font></p>
<pre>GetDatabaseMailboxCount.exe “<font color="#0000ff">CN=Paris_Office,CN=Databases,CN=Exchange Administrative Group(FYDIBOHF23SPDLT),CN=Administrative Groups,CN=artTest,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=artTest,DC=local</font>” <font color="#ff0000">nonS</font><font color="#ff0000">ystem</font></pre>
<p><font color="#ff0000"></font></p>
<p>The program (code supplied below) should be compiled using Visual Studio, using .NET 3.5 (or above) as a Windows Console Application with the System.DirectoryServices reference added to the project.</p>
<h2>The Code</h2>
<pre class="code"><span style="background: white; color: blue">using </span><span style="background: white; color: black">System;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.Collections.Generic;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.Linq;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.Text;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.DirectoryServices;

</span><span style="background: white; color: blue">namespace </span><span style="background: white; color: black">GetDatabaseMailboxCount
{
    </span><span style="background: white; color: blue">class </span><span style="background: white; color: #2b91af">Program
    </span><span style="background: white; color: black">{

        </span><span style="background: white; color: green">/*
         Define a function that gets the Root Directory Entry Path.
         This is used by other functions to return the default naming context:
         LDAP://DC=artTest,DC=local
         */

        </span><span style="background: white; color: blue">public static </span><span style="background: white; color: #2b91af">DirectoryEntry </span><span style="background: white; color: black">GetDirectoryEntry()
        {
            </span><span style="background: white; color: blue">try
            </span><span style="background: white; color: black">{
                </span><span style="background: white; color: #2b91af">DirectoryEntry </span><span style="background: white; color: black">Root = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">DirectoryEntry</span><span style="background: white; color: black">(</span><span style="background: white; color: #a31515">&quot;LDAP://RootDSE&quot;</span><span style="background: white; color: black">);
                </span><span style="background: white; color: blue">string </span><span style="background: white; color: black">Domain = (</span><span style="background: white; color: blue">string</span><span style="background: white; color: black">)Root.Properties[</span><span style="background: white; color: #a31515">&quot;defaultNamingContext&quot;</span><span style="background: white; color: black">][0];

                </span><span style="background: white; color: #2b91af">DirectoryEntry </span><span style="background: white; color: black">DirectoryENT = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">DirectoryEntry</span><span style="background: white; color: black">();

                DirectoryENT.Path = </span><span style="background: white; color: #a31515">&quot;LDAP://&quot; </span><span style="background: white; color: black">+ Domain;
                DirectoryENT.AuthenticationType = </span><span style="background: white; color: #2b91af">AuthenticationTypes</span><span style="background: white; color: black">.Secure;

                </span><span style="background: white; color: blue">return </span><span style="background: white; color: black">DirectoryENT;
            }
            </span><span style="background: white; color: blue">catch </span><span style="background: white; color: black">(</span><span style="background: white; color: #2b91af">Exception </span><span style="background: white; color: black">ex)
            {
                </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.ForegroundColor = </span><span style="background: white; color: #2b91af">ConsoleColor</span><span style="background: white; color: black">.Red;
                </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.WriteLine(</span><span style="background: white; color: #a31515">&quot;Failed to contact Active Directory with error: \n{0}&quot;</span><span style="background: white; color: black">, ex.Message);
                </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.ResetColor();
                </span><span style="background: white; color: blue">return null</span><span style="background: white; color: black">;
            }
        }

        </span><span style="background: white; color: green">/*
         
         Define the function which Counts the Mailboxes per Database
         
         
         */

        </span><span style="background: white; color: blue">static void </span><span style="background: white; color: black">GetDatabaseMailboxCount(</span><span style="background: white; color: blue">string </span><span style="background: white; color: black">MailboxDN, </span><span style="background: white; color: blue">string </span><span style="background: white; color: black">sOP)
        {
            
            </span><span style="background: white; color: green">// Get the Directory Path
            
            </span><span style="background: white; color: blue">string </span><span style="background: white; color: black">aDE = GetDirectoryEntry().Path.ToString();
            
            </span><span style="background: white; color: green">// Create a Directory Searcher Object Set to the Path

            </span><span style="background: white; color: #2b91af">DirectorySearcher </span><span style="background: white; color: black">search = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">DirectorySearcher</span><span style="background: white; color: black">(aDE);

            </span><span style="background: white; color: blue">string </span><span style="background: white; color: black">filter;


            </span><span style="background: white; color: blue">if </span><span style="background: white; color: black">(sOP.ToLower() == </span><span style="background: white; color: #a31515">&quot;system&quot;</span><span style="background: white; color: black">)
            {
                </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.WriteLine(</span><span style="background: white; color: #a31515">&quot;Checking including all Mailboxes&quot;</span><span style="background: white; color: black">);
                
                </span><span style="background: white; color: green">// If you want to include system and health mailboxes
                // configure LDAP query to look for all users with
                // the homeMDB attribute set the the passed MBDB DN

                </span><span style="background: white; color: black">filter = </span><span style="background: white; color: #a31515">&quot;(&amp;(objectClass=user)(homeMDB=&quot; </span><span style="background: white; color: black">+ MailboxDN + </span><span style="background: white; color: #a31515">&quot;))&quot;</span><span style="background: white; color: black">;
            }
            </span><span style="background: white; color: blue">else
            </span><span style="background: white; color: black">{
                </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.WriteLine(</span><span style="background: white; color: #a31515">&quot;Checking excluding System and Health Mailboxes&quot;</span><span style="background: white; color: black">);
                
                </span><span style="background: white; color: green">// Otherwise filter out cn= starting with HealthMailbox or SystemMailbox
                
                </span><span style="background: white; color: black">filter = </span><span style="background: white; color: #a31515">&quot;(&amp;(objectClass=user)(homeMDB=&quot; </span><span style="background: white; color: black">+ MailboxDN + </span><span style="background: white; color: #a31515">&quot;)(!(cn=HealthMailbox*))(!(cn=SystemMailbox*)))&quot;</span><span style="background: white; color: black">;
            }

            search.Filter = filter;
            search.PageSize = 10000;
            search.SearchScope = </span><span style="background: white; color: #2b91af">SearchScope</span><span style="background: white; color: black">.Subtree;
            
            </span><span style="background: white; color: blue">int </span><span style="background: white; color: black">Number = 0;

            </span><span style="background: white; color: green">// Count each result

            </span><span style="background: white; color: blue">foreach </span><span style="background: white; color: black">(</span><span style="background: white; color: #2b91af">SearchResult </span><span style="background: white; color: black">result </span><span style="background: white; color: blue">in </span><span style="background: white; color: black">search.FindAll())
            {
                Number++;
            }

            </span><span style="background: white; color: green">// Write the results to the console

            </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.WriteLine(</span><span style="background: white; color: #a31515">&quot;Mailbox Database: &quot; </span><span style="background: white; color: black">+ MailboxDN + </span><span style="background: white; color: #a31515">&quot; contains &quot; </span><span style="background: white; color: black">+ Number + </span><span style="background: white; color: #a31515">&quot; Mailboxes&quot;</span><span style="background: white; color: black">);

        }

        </span><span style="background: white; color: blue">static void </span><span style="background: white; color: black">Main(</span><span style="background: white; color: blue">string</span><span style="background: white; color: black">[] args)
        {

            </span><span style="background: white; color: #2b91af">Console</span><span style="background: white; color: black">.Clear();
            
            </span><span style="background: white; color: green">// Get the parameters from the command line

            </span><span style="background: white; color: blue">string </span><span style="background: white; color: black">DN = args[0];
            </span><span style="background: white; color: blue">string </span><span style="background: white; color: black">mode = args[1];
            
            </span><span style="background: white; color: green">// Pass them to the GetDatabaseMailboxCount function

            </span><span style="background: white; color: black">GetDatabaseMailboxCount(DN,mode);
        
        }
    }
}
</span></pre>
<h2>Output from the Code:</h2>
<p>If the program is executed with the <strong>nonSystem</strong> parameter the output should look like the following example – notice the Mailbox count for the database is at the end:</p>
<p><img title="18-05-201313-02-19" style="display: inline" alt="18-05-201313-02-19" src="http://www.telnetport25.com/wp-content/uploads/2013/05/18-05-201313-02-19.png" width="677" height="343" /></p>
<p>If the program is executed with the <strong>System</strong> parameter the output should look like the following example:</p>
<p><img title="18-05-201313-02-43" style="display: inline" alt="18-05-201313-02-43" src="http://www.telnetport25.com/wp-content/uploads/2013/05/18-05-201313-02-43.png" width="677" height="343" /></p>
<p>So how did the above help me?</p>
<p>Well the code contains the following basic logic:</p>
<ul>
<li>Accepts a Mailbox Database distinguishedName </li>
<li>Counts all users with Mailboxes in that DB </li>
<li>Outputs the DB name and the mailbox count </li>
<li>Executes quickly </li>
</ul>
<p>For me it will now be quite simple to modify the code to return the values to an array or list and then set that as the Data Source for a Grid View control. Which is exactly what I am now doing.</p>
<p>I hope that this helps someone out there who might be looking to the same or similar thing – and please feel free to modify the code how you see fit.</p>
<div class="shr-publisher-1944"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDUvcHJvZ3JhbW1hdGljYWxseS1jb3VudGluZy1tYWlsYm94ZXMtaW4tbWFpbGJveC1kYXRhYmFzZXMtdXNpbmctYy8=" data-shr_title='Programmatically+counting+mailboxes+in+Mailbox+Databases+using+C%23%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1944" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/05/programmatically-counting-mailboxes-in-mailbox-databases-using-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RCCT&#8211; Command line configuration for Service Accounts, IIS Pools and vDirs and Service Account Membership&#8230;</title>
		<link>http://www.telnetport25.com/2013/05/rcct-command-line-configuration-for-service-accounts-iis-pools-and-vdirs-and-service-account-membership/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rcct-command-line-configuration-for-service-accounts-iis-pools-and-vdirs-and-service-account-membership</link>
		<comments>http://www.telnetport25.com/2013/05/rcct-command-line-configuration-for-service-accounts-iis-pools-and-vdirs-and-service-account-membership/#comments</comments>
		<pubDate>Fri, 17 May 2013 12:05:06 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange Programming .NET]]></category>
		<category><![CDATA[Microsoft Visual Studio]]></category>
		<category><![CDATA[Windows 2008 (IIS)]]></category>
		<category><![CDATA[Advanced Installer]]></category>
		<category><![CDATA[Configuring IIS]]></category>
		<category><![CDATA[Creating setups for Windows installer]]></category>
		<category><![CDATA[Group Modifications]]></category>
		<category><![CDATA[MSI Setups]]></category>
		<category><![CDATA[RCCT]]></category>
		<category><![CDATA[Service Accounts]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1937</guid>
		<description><![CDATA[So as some of you will know I have been working on a number of programming projects over the last few years. Admittedly some are better than others – but the one thing that has always bothered me is how I can provide a better setup and configuration experience for my readers. Most of my [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>So as some of you will know I have been working on a number of programming projects over the last few years. Admittedly some are better than others – but the one thing that has always bothered me is how I can provide a better setup and configuration experience for my readers. </p>
<p>Most of my tools are pretty simple in terms of their installation – however there are a few which I have authored that have required a more involved setup process – usually I have handled this through user guides with step by step screen shots – or videos that I have published via my YouTube channel.</p>
<p>The ideal scenario would be for me to deploy my software via MSI using tools such as Install Shield, Install Aware – or my personal favourite – <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy5hZHZhbmNlZGluc3RhbGxlci5jb20v" target=\"_blank\">Advanced Installer</a>.</p>
<p>It is important to note that all of these tools contain features which automate the following tasks during setup:</p>
<ul>
<li>Registering Services. </li>
<li>Creating Application Pools in IIS. </li>
<li>Creating Virtual Directories in IIS. </li>
<li>Creating Service Account in Active Directory. </li>
<li>Changing Group Membership. </li>
</ul>
<p>However the above tends to be contained within the higher level “paid” versions which tend to be very expensive (for a single ad-hoc amateur developer like myself).</p>
<p>So with the above in mind, I decided to write a simple and small tool (<em>which is probably of more interest to developers, rather than Exchange folks</em>) which when combined with a purpose built setup tool (<strong><em>more on this below</em></strong>) – automates the creation and modification of the above.</p>
<p>This article will focus on the <strong>RCCT</strong> and how it can be used with Advanced Installer – you might be asking why I like Advanced Installer above setup studios? – well there are a few reasons – but the main two are:</p>
<ul>
<li>Advanced Installer has a <u>completely free edition</u> which allows for a process to be launched post install with Parameters (<em>why I like this will become apparent very soon</em>). </li>
<li>Advanced Installer is very easy to use. </li>
</ul>
<p>Other main tools (<em>such as Install Shield or Install Aware</em>) whilst being exceptionally powerful – do not offer a free version for non-profit use.</p>
<p>By combining the RCCT tool with Advanced Installer – I can package my software up into an MSI – and then execute a program at the end of the install with a number of parameters which gives me the following functionality of the “<strong><em>paid for</em></strong>” version.</p>
<ul>
<li>Basic IIS Configuration (<em>creating Application Pools, Virtual Directories, assigning Virtual Directories to Application Pools</em>). </li>
<li>Creation of Accounts and modifying group membership in AD. </li>
</ul>
<p>You can also use the RCCT as a stand alone command line tool.</p>
<h2>Download</h2>
<p><img title="17-05-201312-57-03" style="display: inline" alt="17-05-201312-57-03" src="http://www.telnetport25.com/wp-content/uploads/2013/05/17-05-201312-57-03.png" width="52" height="44" />[ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvUkNDVC9SQ0NULmV4ZQ==" target=\"_blank\">RCCT Tool – 38KB</a> ]</p>
<h2>Using the RCCT – Stand Alone</h2>
<p>The RCCT expects the following mandatory command line arguments:</p>
<pre style="height: 52px; width: 684px">RCCT.exe &lt;Service Account Name&gt; &lt;Service Account Password&gt; &lt;Service Account Description&gt; &lt;IIS Application Pool Metabase Path&gt; &lt;Application Pool Name&gt; &lt;IIS Virtual Directory Metabase Path&gt; &lt;Physical IIS Root Directory Path&gt;</pre>
<p><img title="17-05-201310-54-48" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="17-05-201310-54-48" src="http://www.telnetport25.com/wp-content/uploads/2013/05/17-05-201310-54-48.png" width="677" height="523" /></p>
<p>The command line example below will complete the following tasks:</p>
<ul>
<li>Create a user calls “<strong><em>svc_Test</em></strong>” in Active Directory. </li>
<li>Set the password to “<strong><em>Password1</em></strong>”. </li>
<li>Set the description on the AD account to “<strong><em>Demo Service Account</em></strong>” . </li>
<li>Create an Application Pool called “<strong><em>ap_TestAppPool</em></strong>” within IIS. </li>
<li>Create a virtual directory called “<strong><em>test_VDir</em></strong>” within the first website (<em>determined by the IIS path provided</em>) give it a physical path of “<strong><em>T:\testDir</em></strong>” and then assign the “<strong><em>ap_TestAppPool</em></strong>” to the virtual directory (<em>making it an application</em>). </li>
</ul>
<pre>RCCT.exe &quot;svc_Test&quot; &quot;Password1&quot; &quot;Demo Service Account&quot; &quot;IIS://Localhost/W3SVC/AppPools&quot; &quot;ap_TestAppPool&quot; &quot;IIS://Localhost/W3SVC/1/Root&quot; &quot;test_vDir&quot; &quot;t:\TestDir&quot;</pre>
<p>There are some default actions that the tool also performs on the Virtual Directory:</p>
<ul>
<li>Sets the default page to “<strong><em>default.aspx</em></strong>”. </li>
<li>Sets the default Security to NTLM. </li>
</ul>
<p>These options are not configurable in this version.</p>
<p>The output from the above command looks like the following example:</p>
<p><img title="17-05-201311-03-14" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="17-05-201311-03-14" src="http://www.telnetport25.com/wp-content/uploads/2013/05/17-05-201311-03-14.png" width="677" height="451" /></p>
<p>The RCCT also accepts a final optional parameter which is a Windows Active Directory Group that you like to add the service account into. in the example below I have changed the command line to add the service account into the Domain Admins group:</p>
<pre>RCCT.exe &quot;svc_Test&quot; &quot;Password1&quot; &quot;Demo Service Account&quot; &quot;IIS://Localhost/W3SVC/AppPools&quot; &quot;ap_TestAppPool&quot; &quot;IIS://Localhost/W3SVC/1/Root&quot; &quot;test_vDir&quot; &quot;t:\TestDir&quot; “Domain Admins”</pre>
<p><img title="17-05-201311-04-45" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="17-05-201311-04-45" src="http://www.telnetport25.com/wp-content/uploads/2013/05/17-05-201311-04-45.png" width="677" height="475" /></p>
<p>You will see at the bottom of the screen shot above the following message:</p>
<pre>GROUP DN PASSED: CN=Domain Admins</pre>
<h2>Using the RCCT – with Advanced Installer</h2>
<p>Advanced Installer is provided by Caphyon and comes in five versions:</p>
<ul>
<li>Freeware </li>
<li>Architect </li>
<li>Enterprise </li>
<li>For Java </li>
<li>Professional </li>
</ul>
<p>Naturally I make use of the free version. You can use the RCCT in conjunction with the [ <strong>Exit dialog –&gt; After Finishing Actions –&gt;Launch Application </strong>] options – see below.</p>
<p><img title="17-05-201311-08-15" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="17-05-201311-08-15" src="http://www.telnetport25.com/wp-content/uploads/2013/05/17-05-201311-08-15.png" width="620" height="380" /></p>
<p>I hope that someone out there finds this useful – and I welcome any feedback or suggestions.</p>
<div class="shr-publisher-1937"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDUvcmNjdC1jb21tYW5kLWxpbmUtY29uZmlndXJhdGlvbi1mb3Itc2VydmljZS1hY2NvdW50cy1paXMtcG9vbHMtYW5kLXZkaXJzLWFuZC1zZXJ2aWNlLWFjY291bnQtbWVtYmVyc2hpcC8=" data-shr_title='RCCT%26ndash%3B+Command+line+configuration+for+Service+Accounts%2C+IIS+Pools+and+vDirs+and+Service+Account+Membership%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1937" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/05/rcct-command-line-configuration-for-service-accounts-iis-pools-and-vdirs-and-service-account-membership/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinWOL (Windows Wake on LAN)&#8211;Version 1.1</title>
		<link>http://www.telnetport25.com/2013/04/winwol-windows-wake-on-lanversion-1-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=winwol-windows-wake-on-lanversion-1-1</link>
		<comments>http://www.telnetport25.com/2013/04/winwol-windows-wake-on-lanversion-1-1/#comments</comments>
		<pubDate>Sat, 27 Apr 2013 09:21:36 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Windows Networking]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Wake on LAN]]></category>
		<category><![CDATA[WinWOL]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1926</guid>
		<description><![CDATA[In January I released a very simple tool called ‘WinWOL’ (Windows Wake on LAN) which, as the name suggests is a Windows based Wake on LAN manager. Over the last few months I have been looking at the software again and wanted to change how it worked to make it a little simpler to use. [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In January <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvd2lud29sLXdpbmRvd3Mtd2FrZS1vbi1sYW4tdmVyc2lvbi0xLTAv" target=\"_blank\">I released a very simple tool</a> called ‘WinWOL’ (Windows Wake on LAN) which, as the name suggests is a Windows based Wake on LAN manager. Over the last few months I have been looking at the software again and wanted to change how it worked to make it a little simpler to use.</p>
<p>This resulted in a complete re-design of the user interface to adopt a ‘Tab based look and feel’ and a recompilation of the code against .NET 4.0 to allow for more people to be able to run the tool without necessarily having to update .NET on their machines.</p>
<p>Today I am pleased to announce the release of WinWOL version 1.1.</p>
<h2>Quick Comparison</h2>
<p>The following is a quick preview of the design changes between the two versions. You will notice that the updated design uses less screen real estate, and during usage automates a number of tasks – such as:</p>
<ul>
<li>One you have performed a IP Range Scan, selecting the host will automatically populate the details Win the WinWOL control section.</li>
<li>Selecting a host from the “Remembered Host” section will populate various information in the WinWOL control section, double clicking on a remembered host will automatically send the ‘Wake’ packet.</li>
</ul>
<h4>Old User Interface</h4>
<p><img style="float: none; margin-left: auto; display: block; margin-right: auto" src="http://www.telnetport25.com/wp-content/uploads/2013/01/01-01-2013-13-53-16.png" /></p>
<h4>New User Interface</h4>
<p><img title="27-04-201310-13-54" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="27-04-201310-13-54" src="http://www.telnetport25.com/wp-content/uploads/2013/04/27-04-201310-13-54.png" width="422" height="451" /></p>
<h2>Download</h2>
<p>You can download the WinWOL tool from the following location.</p>
<p><img title="01-01-2013 13-22-28" alt="01-01-2013 13-22-28" src="http://www.telnetport25.com/wp-content/uploads/2013/01/01-01-2013-13-22-28.png" width="54" height="53" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvV2luV09ML1dpbldPTFNldHVwLmV4ZQ==">WinWOL – Version 1.1 – 170KB</a> ]</p>
<h4>User Guide</h4>
<p>You can download the WinWOL installation and user guide from the following location.</p>
<p><img alt="adobe" src="http://www.telnetport25.com/images/stories/legimages/Icons/adobe.jpg" width="40" height="40" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvV2luV09ML1dpbldPTF9Vc2VyR3VpZGUucGRm">WinWOL – Users Guide – 350KB</a> ]</p>
<h2>Change History</h2>
<h5>Version 1.0 – Initial Release</h5>
<ul>
<li>Now retired</li>
</ul>
<h5>Version 1.1</h5>
<ul>
<li>Complete interface re-design to allow for easier discovery and “waking” of remembered hosts.</li>
<li>Re-compiled against version 4.0 of the .NET Framework.</li>
<li><strong>New Feature:</strong> Double click to wake feature added to the “<b><i>Remembered</i></b>” hosts window.</li>
<li><strong>New Feature:</strong> Added in name resolution of remembered hosts.</li>
<li>Added in an ‘About Box’</li>
<li>Enhanced error handling.</li>
<li>New User and Installation Guide.</li>
</ul>
<div class="shr-publisher-1926"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDQvd2lud29sLXdpbmRvd3Mtd2FrZS1vbi1sYW52ZXJzaW9uLTEtMS8=" data-shr_title='WinWOL+%28Windows+Wake+on+LAN%29%26ndash%3BVersion+1.1'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1926" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/04/winwol-windows-wake-on-lanversion-1-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Released&#8211; Exchange Bulk User Creation Tool v2.0 (EBUCT 2.0)&#8230;</title>
		<link>http://www.telnetport25.com/2013/04/released-exchange-bulk-user-creation-tool-v2-0-ebuct-2-0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=released-exchange-bulk-user-creation-tool-v2-0-ebuct-2-0</link>
		<comments>http://www.telnetport25.com/2013/04/released-exchange-bulk-user-creation-tool-v2-0-ebuct-2-0/#comments</comments>
		<pubDate>Fri, 26 Apr 2013 14:10:39 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 (Admin)]]></category>
		<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Exchange Programming .NET]]></category>
		<category><![CDATA[Create Exchange users in bulk]]></category>
		<category><![CDATA[EBUCT]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Exchange 2013 Bulk user creation tool]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1915</guid>
		<description><![CDATA[I guess that I never really finish a tool. There is always something that I can think of to add or a suggestion that someone makes that I want to code in! This is especially true for the Exchange Bulk User Creation Tool v2.0 (EBUCT) where hot on the heels of version 1.2 &#8211; I [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I guess that I never really finish a tool. There is always something that I can think of to add or a suggestion that someone makes that I want to code in! This is especially true for the <strong>E</strong>xchange <strong>B</strong>ulk <strong>U</strong>ser <strong>C</strong>reation <strong>T</strong>ool v2.0 (EBUCT) where hot on the heels of version 1.2 &#8211; I am now pleased to announce version 2.0.</p>
<p>The principal of the EBUCT remains the same – it is designed to allow for the bulk creation of mailboxes in Exchange 2013 – a feature that is currently missing from the Exchange Administrative Centre in Exchange 2013.</p>
<h2>Key Changes in functionality</h2>
<p>The good news is that I have not fundamentally changed the way in which the tool works for version 2.0.</p>
<p>What I have tried to focus on is streamlining the process of creating mailboxes as well as adding in the ability to search for specific Active Directory accounts from the returned list after you have clicked on the “<strong><em>Refresh</em></strong>” button.</p>
<p>Below is a comparison between the two interfaces which points out the major changes:</p>
<h4>Old Interface (Versions 1.0,1.01 and 1.2):</h4>
<p><img title="26-04-201314-41-16" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="26-04-201314-41-16" src="http://www.telnetport25.com/wp-content/uploads/2013/04/26-04-201314-41-16.png" width="610" height="424" /></p>
<h4>New Interface</h4>
<p>You will notice that the “<strong><em>Selected user accounts</em></strong>” window has now been removed from the EBUCT. Essentially you can now just select your desired users from the “<strong><em>Active Directory Users without Mailboxes</em></strong>” area by checking the box next to them.</p>
<p>Select the mailbox database and then click on the “<strong><em>Enable</em></strong>” button.</p>
<p>You will also see a new “<strong><em>Search Accounts</em></strong>” text area. You can type in the name of a specific account from the Tree after you have clicked on the “<strong><em>Refresh</em></strong>” button. The text area also allows for ‘Fuzzy’ searches – e.g. a few characters of the name and the EBUCT will try to locate it in the list.</p>
<p><img title="26-04-201314-40-13" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="26-04-201314-40-13" src="http://www.telnetport25.com/wp-content/uploads/2013/04/26-04-201314-40-13.png" width="650" height="416" /></p>
<p>I hope that you like the new version – and as always keep sending me your feedback. You can get version 2.0 from the downloads area below.</p>
<h2>Download</h2>
<p><img title="04-11-201216-30-50" alt="04-11-201216-30-50" src="http://www.telnetport25.com/wp-content/uploads/2012/11/04-11-201216-30-50.png" width="76" height="80" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvRUJVQ1QvRUJVQ1QuZXhl">EBUCT.exe – 720KB</a> ]</p>
<h2>Setup and Usage</h2>
<p>To configure and use the EBUCT please refer to the following articles – please make sure that you take note of the changes that I have mentioned above for version 2.0 – setup, configuration and prerequisites between 1.2 and 2.0 are <strong><u>EXACTLY</u></strong> the same.</p>
<ul>
<li><a title=\"http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTEvZWJ1Y3RleGNoYW5nZS0yMDEzLWJ1bGstdXNlci1jcmVhdGlvbi10b29sLw==">http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool/</a></li>
</ul>
<h2>Revision History</h2>
<h5>Version 1.0.0.0 – 04/11/2012</h5>
<ul>
<li>Initial release – now retired</li>
</ul>
<h5>Version 1.0.0.1 – 05/11/2012</h5>
<ul>
<li>Second release – now retired</li>
<li>Changed Interface “Select / Unselect all Mailboxes” to “Select / Unselect all Active Directory Accounts” </li>
<li>Changed “www.telnetport25.com” located in the status bar to be an active and clickable URL </li>
<li>Moved the enable mailbox process bar to be next to the enable button </li>
<li>Added in a progress status label </li>
<li>BUG FIX: Fixed Directory Accounts with special characters within the name (samAccountName) were not processed correctly </li>
<li>BUG FIX: The “Select / Unselect all Active Directory Accounts” check box was not unchecked when all processing had been completed</li>
</ul>
<h5>Version 1.2.0.0</h5>
<ul>
<li>Third release – now retired.</li>
<li>Re-compiled the tool so that it will run with version 4.0 of the .NET Framework, some people reported issues with 4.5 as they were not running it. </li>
<li>Added in Event Logging Diagnostics: The EBUCT creates an Event Log under Applications and Services called ExchangeEBUCT – relevant information from the tool is logged here</li>
</ul>
<h5>Version 2.0 – 26/04/2013</h5>
<ul>
<li>Redesigned interface to make the software more simple:</li>
<ul>
<li>Removed the need to select Directory users from the from the “Active Directory Users without Mailboxes” to the “Selected Users section”. You can now just check the accounts in the Treeview.</li>
<li>Added in a ‘File’ menu which allows for the application to be exited from a menu command.</li>
<li>Added in an ‘About’ box.</li>
<li>Flattened the user interface buttons.</li>
</ul>
<li><strong>New Feature:</strong> Search for a specific account within the Active Directory Treeview.</li>
<li><strong>Error Handling:</strong> Added in some enhanced error handling scenarios which in previous versions could result in the tool raising an Exception.</li>
<li><strong>Error Handling:</strong> Program will notify you if you try and enable an account without having selected a Mailbox Database.</li>
<li><strong>Error Handling:</strong> Program will notify you if you have not selected at least one Active Directory Account.</li>
</ul>
<div class="shr-publisher-1915"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDQvcmVsZWFzZWQtZXhjaGFuZ2UtYnVsay11c2VyLWNyZWF0aW9uLXRvb2wtdjItMC1lYnVjdC0yLTAv" data-shr_title='Released%26ndash%3B+Exchange+Bulk+User+Creation+Tool+v2.0+%28EBUCT+2.0%29%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1915" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/04/released-exchange-bulk-user-creation-tool-v2-0-ebuct-2-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building an Exchange 2013 LAB Environment using Windows Server 2012 from scratch &#8211; Part 9: Cumulative Update 1</title>
		<link>http://www.telnetport25.com/2013/04/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-9-cumulative-update-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-9-cumulative-update-1</link>
		<comments>http://www.telnetport25.com/2013/04/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-9-cumulative-update-1/#comments</comments>
		<pubDate>Sun, 07 Apr 2013 16:39:05 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Cumulative Updates]]></category>
		<category><![CDATA[Exchange 2013 (Admin)]]></category>
		<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Exchange 2013 (Installation)]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Test Labs]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Exchange 2013 Cumulative Updates]]></category>
		<category><![CDATA[Exchange 2013 Test Lab]]></category>
		<category><![CDATA[Powerhshell]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1896</guid>
		<description><![CDATA[Ok, yes I know – I said that Part 8 was the last in this particular series – but then Microsoft went and released Cumulative Update 1 (CU1) for Exchange 2013 (on April 2nd) which left me feeling that if I did not cover this – then the LAB series was not properly completed. For [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Ok, yes I know – I said that <a href="building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-8-users-mailboxes-distribution-lists-and-public-folders" target=\"_blank\">Part 8</a> was the last in this particular series – but then Microsoft went and released Cumulative Update 1 (CU1) for Exchange 2013 (on <strong>April 2nd</strong>) which left me feeling that if I did not cover this – then the LAB series was not properly completed. For those of you who are just joining us – you can find links to the previous parts below.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0xLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItb3MtaW5zdGFsbC8=">Part 1</a></p>
<p>We established our domain design, covered how to provision the Domain Controller for the LAB in Hyper-V and then how to install Windows Server 2012 on the Domain Controller.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0yLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItYWQtaW5zdGFsbGF0aW9uLw==">Part 2</a></p>
<p>We went through the process of installing Active Directory Domain Services on the LAB domain controller using PowerShell.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0zLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItY2EtaW5zdGFsbGF0aW9uLw==">Part 3</a></p>
<p>We covered how you can install a very simple PKI infrastructure on the domain controller using Active Directory Certificate Services. These will be used in a later part to configure SSL for various parts of Exchange 2013.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC00LXByb3Zpc2lvbmluZy15b3VyLWV4Y2hhbmdlLXNlcnZlcnMv">Part 4</a></p>
<p>We covered how to use PowerShell to provision Exchange server VM’s in the lab, and went through the pre-requisite software installation.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC01LWluc3RhbGxpbmcteW91ci1maXJzdC1leGNoYW5nZS0yMDEzLXNlcnZlci8=">Part 5</a></p>
<p>We covered the Directory, organisation and Exchange preparation – and then went on to install the relevant Exchange servers using the unattended setup feature.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDMvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC02LWNvbmZpZ3VyaW5nLWEtZGFnLw==">Part 6</a></p>
<p>We covered Database Availability Groups and provided a script which automates the creation of DAGs from a CSV.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDMvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC03LXNldHRpbmctdXAtZGFnLWRhdGFiYXNlcy1hbmQtc3NsLw==">Part 7</a></p>
<p>We covered adding databases to the DAG and configuring SSL.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDMvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC04LXVzZXJzLW1haWxib3hlcy1kaXN0cmlidXRpb24tbGlzdHMtYW5kLXB1YmxpYy1mb2xkZXJzLw==" target=\"_blank\">Part 8</a></p>
<p>We covered the creation of user accounts in Active Directory then using <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTEvZWJ1Y3RleGNoYW5nZS0yMDEzLWJ1bGstdXNlci1jcmVhdGlvbi10b29sLw==" target=\"_blank\">EBUCT</a> tool to create the user Mailboxes, then the creation of a number of Distribution Lists rounded off with the creation of “<strong><em>Modern</em></strong>” Public Folders.</p>
<h2>What is Cumulative Update 1 – in fact, what are Cumulative Updates?</h2>
<p>For more detailed information on CU1 for Exchange have a look here at the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2Jsb2dzLnRlY2huZXQuY29tL2IvZXhjaGFuZ2UvYXJjaGl2ZS8yMDEzLzA0LzAyL3JlbGVhc2VkLWV4Y2hhbmdlLXNlcnZlci0yMDEzLXJ0bS1jdW11bGF0aXZlLXVwZGF0ZS0xLmFzcHg=" target=\"_blank\">launch announcement</a>.</p>
<p>The Cumulative Update Servicing model is new to Exchange, but not a new concept. People who have worked with Lync server will be very familiar with the concept. From Exchange 2007 many of you will be know that Exchange used Role Up’s as interim collections of “<strong><em>hotfixes</em></strong>” with the occasional feature change between Service Packs ~ however for Exchange 2013 updates will be quarterly using the Cumulative Updates Service model.</p>
<p>Each CU is a full Exchange standalone image, which means that it cannot be uninstalled (unless you remove all of Exchange) and should a CU fail part of the way through – you will have to recover the Exchange Server using the /M:RecoverServer – again this is not new as the traditional Exchange Service pack used this model. Service Packs are still likely to be provided periodically.</p>
<p>One other thing to note is that with each CU being a full Exchange image, unlike Roll Ups they can also be used to install the full version of Exchange Server. If you would like to read more about this have a look <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2Jsb2dzLnRlY2huZXQuY29tL2IvZXhjaGFuZ2UvYXJjaGl2ZS8yMDEzLzAyLzA4L3NlcnZpY2luZy1leGNoYW5nZS0yMDEzLmFzcHg=" target=\"_blank\">here</a></p>
<h2>Upgrading to CU1</h2>
<p>Before I get into the process of performing the upgrade to the lab – it is probably worth you having a read of the article <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvZXhjaGFuZ2UtaW5zdGFsbHMtYW5kLXVwZ3JhZGVzLXRoZS1nb29kLXRoZS1iYWQtYW5kLXRoZS11Z2x5Lw==" target=\"_blank\">that I wrote here</a> about some additional steps that I have found over the years that can help ensure that an upgrade goes smoothly – in particular the bit about ensuring there are no reboots outstanding.</p>
<p>There is another good article here which is worth reading about the upgrade process by fellow Exchange MVP Paul Cunningham:</p>
<ul>
<li><strong>Paul Cunningham</strong> &#8211; <a title=\"http://exchangeserverpro.com/exchange-2013-installing-cumulative-updates/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2V4Y2hhbmdlc2VydmVycHJvLmNvbS9leGNoYW5nZS0yMDEzLWluc3RhbGxpbmctY3VtdWxhdGl2ZS11cGRhdGVzLw==">http://exchangeserverpro.com/exchange-2013-installing-cumulative-updates/</a> </li>
</ul>
<p>As this is a LAB I will leave it up to you if you go through the steps of backing stuff up (<em>just remember in production that is a mandatory step!</em>) – so without any further “ado” – lets get to the upgrade process.</p>
<h2>The process for the artTest.LAB</h2>
<p>The upgrade order should be as follows:</p>
<ol>
<li>art-MBXCAS-01 – Client Access and Mailbox </li>
<li>art-MBXCAS-02 – Client Access and Mailbox </li>
<li>art-MBX-01 – Mailbox Server </li>
</ol>
<p>Therefore log onto art-MBXCAS-01 and download the Exchange 2013 CU 1 update from: <a title=\"http://www.microsoft.com/en-us/download/details.aspx?id=38176\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL2VuLXVzL2Rvd25sb2FkL2RldGFpbHMuYXNweD9pZD0zODE3Ng==">http://www.microsoft.com/en-us/download/details.aspx?id=38176</a>. When you have downloaded the binary double click on it to extract the installation to a location on the server.</p>
<p>Before we begin the process of updating the Schema, preparing AD and then the domain we should put art-MBXCAS-01 into maintenance mode as the CU prerequisites check is known to stop the transport services. In order to do this you should execute the following Powershell Commands (<a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2Jsb2cuYzdzb2x1dGlvbnMuY29tLzIwMTIvMTAvcGxhY2luZy1leGNoYW5nZS0yMDEzLWludG8tbWFpbnRlbmFuY2UuaHRtbA==" target=\"_blank\">thanks to fellow MVP and Exchange Certified Master Brian Reid for the expanded syntax</a> for each command – please visit his blog for the original article on which these are based)</p>
<p>Open an Exchange 2013 PowerShell command prompt and type each of the following commands:</p>
<pre>Set-ServerComponentState $env:COMPUTERNAME -Component HubTransport -State Draining -Requester Maintenance</pre>
<pre>Redirect-Message -Server $env:COMPUTERNAME -Target art-mbxcas-01.artTest.local</pre>
<pre>Suspend-ClusterNode $env:COMPUTERNAME</pre>
<pre>Set-MailboxServer $env:COMPUTERNAME -DatabaseCopyActivationDisabledAndMoveNow $True</pre>
<pre>Set-MailboxServer $env:COMPUTERNAME -DatabaseCopyAutoActivationPolicy Blocked</pre>
<pre>Set-ServerComponentState $env:COMPUTERNAME -Component ServerWideOffline -State Inactive -Requester Maintenance</pre>
<pre>Get-ServerComponentState $env:COMPUTERNAME | Format-Table Component,State –Autosize</pre>
<pre>Get-MailboxServer $env:COMPUTERNAME | Format-Table DatabaseCopy* –Autosize</pre>
<pre>Get-ClusterNode $env:COMPUTERNAME | Format-List</pre>
<p>You can save time by copy and pasting each of the above commands into a PowerShell script file (<strong>which I have done in the screenshot below</strong>) and then executing that from the Exchange Management Shell. Alternatively you could also make use of <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL21pY2hhZWx2aC53b3JkcHJlc3MuY29tLw==" target=\"_blank\">Michael Van Horenbeeck’s</a> rather excellent automated script which you can get from <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL21pY2hhZWx2aC53b3JkcHJlc3MuY29tLzIwMTMvMDMvMjQvc2NyaXB0LXB1dHRpbmctZXhjaGFuZ2Utc2VydmVyLTIwMTMtaW50by1tYWludGVuYW5jZS1tb2RlLw==" target=\"_blank\">here</a>.</p>
<p>If you do choose to use a script file – remember the guidance that I provided <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDIvcXVpY2stdGlwLXJ1bm5pbmctZXhjaGFuZ2UtYmFzZWQtcG93ZXJzaGVsbC1zY3JpcHQtZmlsZXMtZnJvbS10aGUtY29tbWFuZC1saW5lLW9yLWEtYmF0Y2gtZmlsZS8=" target=\"_blank\">here</a> to execute script file from the Exchange Management Shell.</p>
<p><img title="05-04-201319-35-24" style="display: inline" alt="05-04-201319-35-24" src="http://www.telnetport25.com/wp-content/uploads/2013/04/05-04-201319-35-24.png" width="610" height="445" /></p>
<p>One the server has been placed in maintenance mode we are ready to begin the process of updating the LAB’s directory environment. From the location where you extracted Exchange 2013 CU1 binaries open an administrative command prompt and type in the following command:</p>
<pre>Setup.exe /PS /IAcceptExchangeServerLicensingTerms</pre>
<blockquote>
<p><strong>Note:</strong> If you do not include the /IAcceptExchangeServerLicensingTerms parameter setup will halt (yes I know its a pain)</p>
</blockquote>
<p>Setup will then begin the process of upgrading the Schema – see below.</p>
<p><img title="03-04-201318-05-48" style="display: inline" alt="03-04-201318-05-48" src="http://www.telnetport25.com/wp-content/uploads/2013/04/03-04-201318-05-48.png" width="677" height="319" /></p>
<p>When the Schema has been upgraded you will then need to run the following command </p>
<pre>Setup.exe /PrepareAD /IAcceptExchangeServerLicensingTerms</pre>
<p>Just so you know I am going by the release notes here – normally I would have expected the /PrepareAD switch to prepare the schema and the domain – but I did not get the chance to test this idea, so I stuck to the Microsoft provided guidance.</p>
<p>The output of the /PrepareAD switch is provided below.</p>
<p><img title="03-04-201318-08-33" style="display: inline" alt="03-04-201318-08-33" src="http://www.telnetport25.com/wp-content/uploads/2013/04/03-04-201318-08-33.png" width="610" height="525" /></p>
<p>As the final part of preparing Active Directory you should execute the following command line:</p>
<pre>Setup.exe /prepareDomain /IAcceptExchangeServerLicensingTerms</pre>
<p>The output of which is provided below.</p>
<p><img title="03-04-201318-12-15" style="display: inline" alt="03-04-201318-12-15" src="http://www.telnetport25.com/wp-content/uploads/2013/04/03-04-201318-12-15.png" width="610" height="655" /></p>
<p>After the directory preparation has been completed &#8211; You should now be in the position to upgrade the Exchange install on art-MBXCAS-01 server. From the command prompt type in the following command:</p>
<pre>Setup.exe /m:Upgrade /IAcceptExchangeServerLicensingTerms</pre>
<p>Setup will then begin the process of upgrading the Exchange installation on the server.</p>
<p><img title="05-04-201318-16-01" style="display: inline" alt="05-04-201318-16-01" src="http://www.telnetport25.com/wp-content/uploads/2013/04/05-04-201318-16-01.png" width="677" height="343" /></p>
<p>When Setup has completed I recommend that you reboot the server even if you are not prompted. There has been some discussion on a few mailing lists that I am a member of which suggests that the unattended setup should always prompt you to reboot but is not doing so (whereas the GUI setup does) &#8211; I have been seeing this as well.</p>
<p>When you have rebooted the server you need to return is back to normal operation (take it out of maintenance mode) by using the following PowerShell commands from within the Exchange Management Shell (again thank you goes out to <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2Jsb2cuYzdzb2x1dGlvbnMuY29tLw==" target=\"_blank\">Brian Reid</a> for these command lines).</p>
<pre>Set-ServerComponentState $env:COMPUTERNAME -Component ServerWideOffline -State Active -Requester Maintenance</pre>
<pre>Resume-ClusterNode $env:COMPUTERNAME</pre>
<pre>Set-MailboxServer $env:COMPUTERNAME -DatabaseCopyActivationDisabledAndMoveNow $False</pre>
<pre>Set-MailboxServer $env:COMPUTERNAME -DatabaseCopyAutoActivationPolicy Unrestricted</pre>
<pre>Set-ServerComponentState $env:COMPUTERNAME -Component HubTransport -State Active -Requester Maintenance</pre>
<p>You can, like with the commands to place the server into maintenance mode copy these commands into a PS1 script file and execute them from within the Exchange Management Shell (<em>which is what I have done in the screenshot below</em>).</p>
<p><img title="05-04-201321-08-31" style="display: inline" alt="05-04-201321-08-31" src="http://www.telnetport25.com/wp-content/uploads/2013/04/05-04-201321-08-31.png" width="610" height="113" /></p>
<p>You are now ready to move onto art-MBXCAS-02 and then finally art-MBX-01 (remember to upgrade art-MBXCAS-02 before art-MBX-01). You also do not have to repeat the Active Directory preparation steps. Ensure that after the upgrade has completed and you have rebooted the server to take it out of maintenance mode.</p>
<p>Right, that is that certainly for this series. There will of course be further Exchange 2013 shenanigans that I write – but I think, as <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy5nb3Jkb25yYW1zYXkuY29tLw==" target=\"_blank\">Gordon Ramsey</a> would say – <strong>Done!</strong>.</p>
<div class="shr-publisher-1896"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDQvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC05LWN1bXVsYXRpdmUtdXBkYXRlLTEv" data-shr_title='Building+an+Exchange+2013+LAB+Environment+using+Windows+Server+2012+from+scratch+%26ndash%3B+Part+9%3A+Cumulative+Update+1'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1896" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/04/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-9-cumulative-update-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MVP Award for 2013 &#8211; half a decade ~ wow!</title>
		<link>http://www.telnetport25.com/2013/04/mvp-award-for-2013-half-a-decade-wow/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mvp-award-for-2013-half-a-decade-wow</link>
		<comments>http://www.telnetport25.com/2013/04/mvp-award-for-2013-half-a-decade-wow/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 16:14:44 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[General Mumblings]]></category>
		<category><![CDATA[MVP Award]]></category>
		<category><![CDATA[MVP]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1869</guid>
		<description><![CDATA[Wow, and I really mean wow! – here in the UK it has been a 4 day holiday due to Easter ~ However, to round off what has been a very cool four days with my family &#8211; I received the following e-mail just a few moments ago from Microsoft: Dear Andy Grogan,Congratulations! We are [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Wow, and I really mean <strong><u>wow!</u></strong> – here in the UK it has been a 4 day holiday due to Easter ~ However, to round off what has been a very cool four days with my family &#8211; I received the following e-mail just a few moments ago from Microsoft:</p>
<blockquote><p>Dear Andy Grogan,<br />Congratulations! We are pleased to present you with the 2013 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Exchange Server technical communities during the past year.</p>
</blockquote>
<p>I am – <strong><em>again</em></strong> &#8211; so pleased and very surprised (<em>I think that each year I am surprised &#8211; as at a personal level I always think that I can give <strong>more</strong> back</em>) that I have been considered to have maintained the required standard to be renewed by Microsoft and the wider community.
<p>Each year &#8211; as for most people – has brought many challenges for me personally, again – as per the last award cycle I changed jobs twice (mainly as I have been very indecisive about what I actually want to do within IT).
<p>The last time that I posted about the MVP award was last year – for my <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDQvbXZwLWF3YXJkLWZvci0yMDEyLTR0aC10aW1lcy1hLWNoYXJtLWFuZC1zcGVjaWFsLw==" target=\"_blank\">fourth</a> where I had just started in a new position within a new company as a very hands on CTO.
<p>I stayed in that role for 6 months (<em>it was a good company ~ but something was missing</em>) – so when I was lucky enough to be offered a new role as Head of Technical delivery for a 15,000 user organisation with a large technical team I had to take it as I thought the scale offered me the chance to really change something – this was perhaps the missing link that I was looking for.
<p>I knew that by accepting this assignment I would not be as “<strong><em>hands on</em></strong>” as I had in mind – but the truth was that I was trying to have my cake and eat it. I felt that the new job offered me a good balance between being highly technically aware &#8211; but influence strategy and service delivery ~ a rare and exiting challenge indeed!.
<p>Thankfully my initial gut feelings seem to have been right – as now seven months in, I am enjoying what I do again ~ working with some wonderfully talented people and engaging at a very deep level with a number of the leaders within the industry to aid our technical direction.
<p>Of course this means that when compared to some of the other Exchange guys out there (<a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy5zdGV2aWVnLm9yZy8=" target=\"_blank\">Steve Goodman</a>, <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2V4Y2hhbmdlc2VydmVycHJvLmNvbS8=" target=\"_blank\">Paul Cunningham</a>, <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3Rob3VnaHRzb2ZhbmlkbGVtaW5kLndvcmRwcmVzcy5jb20v" target=\"_blank\">Tony Redmond</a>, <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2xldHNleGNoYW5nZS5ibG9nc3BvdC5jby51ay8=" target=\"_blank\">Nino Mota</a> ~ <strong><em>plus many others to numerous to mention</em></strong>) I am not as on the ball as I would like to be when compared to these chaps &#8211; but I have been trying to cut out my little niche with the time that I have by developing odd Exchange administrative tools – therefore to have been recognised again means so much to me personally.
<p>Many of the names above have continued to keep my passion for Exchange and giving back to the wider community alive (most recently Steve and Tony for various reasons (Steve for being a true gent, and Tony for completely living up to his title as the “<strong><em>god father</em></strong>” of English based MVP’s)).
<p>Anyhow, I still have not lost sight of what gives me any form of credibility (<em>if I had any to start with</em>) or support which is the readers of <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29t">www.telnetport25.com</a>. Each year the fact that you read, contribute and keep me “<strong><em>honest</em></strong>” is the only reason why I can have the privilege of writing a post such as this – so, once again – and for the fifth time my sincere thanks for all of your continued support!
<p>I have some big plans (well I say “big” ~ ideas) for <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29t">www.telnetport25.com</a> over the next year – and I look forward to you all coming along with me.
<p>Once again, thank you all so much – and I look forward to keeping the site going over the next year.
<p>Just to sign off, my dad passed away six years ago in May and as I mentioned back in <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMDkvMDQvbXZwLWF3YXJkLWFwcmlsLTIwMDktY3ljbGUtZm9yLWV4Y2hhbmdlLXNlcnZlci8=" target=\"_blank\">2009</a> when I was first awarded &#8211; this would not have ever happened without him as he gave me the confidence to “<strong><em>give it a go</em></strong>” ~ thanks dad, I said back then; “<strong><em>this one is for you</em></strong>” – and it still is!</p>
<div class="shr-publisher-1869"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDQvbXZwLWF3YXJkLWZvci0yMDEzLWhhbGYtYS1kZWNhZGUtd293Lw==" data-shr_title='MVP+Award+for+2013+%26ndash%3B+half+a+decade+%7E+wow%21'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1869" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/04/mvp-award-for-2013-half-a-decade-wow/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Building an Exchange 2013 LAB Environment using Windows Server 2012 from scratch &#8211; Part 8: Users, Mailboxes, Distribution lists and Public Folders&#8230;</title>
		<link>http://www.telnetport25.com/2013/03/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-8-users-mailboxes-distribution-lists-and-public-folders/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-8-users-mailboxes-distribution-lists-and-public-folders</link>
		<comments>http://www.telnetport25.com/2013/03/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-8-users-mailboxes-distribution-lists-and-public-folders/#comments</comments>
		<pubDate>Sun, 24 Mar 2013 20:15:31 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 (Admin)]]></category>
		<category><![CDATA[Exchange 2013 (Client Access)]]></category>
		<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Exchange 2013 (Installation)]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Test Labs]]></category>
		<category><![CDATA[Windows Hyper-V Server 2012]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Exchange 2013 Load Balancing]]></category>
		<category><![CDATA[Exchange 2013 Public Folders]]></category>
		<category><![CDATA[Exchange 2013 Roles]]></category>
		<category><![CDATA[Exchange 2013 Test Lab]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1824</guid>
		<description><![CDATA[Ok, we are now in the final straight in this series with this being the final part of creating a test lab from scratch with Windows Servers 2012 and Exchange 2013. I could in truth perhaps go on forever as there are loads of things that I have not covered. But that is the beauty [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Ok, we are now in the final straight in this series with this being the final part of creating a test lab from scratch with Windows Servers 2012 and Exchange 2013. I could in truth perhaps go on forever as there are loads of things that I have not covered. But that is the beauty of a test lab, once you have one that is up and running – it is yours to do with as you choose and that is what I hope that you will all do <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Smile" src="http://www.telnetport25.com/wp-content/uploads/2013/03/wlEmoticon-smile1.png" />.</p>
<p>For those of you who are joining us at this stage you can find the previous 7 parts below.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0xLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItb3MtaW5zdGFsbC8=">Part 1</a></p>
<p>We established our domain design, covered how to provision the Domain Controller for the LAB in Hyper-V and then how to install Windows Server 2012 on the Domain Controller.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0yLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItYWQtaW5zdGFsbGF0aW9uLw==">Part 2</a></p>
<p>We went through the process of installing Active Directory Domain Services on the LAB domain controller using PowerShell.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0zLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItY2EtaW5zdGFsbGF0aW9uLw==">Part 3</a></p>
<p>We covered how you can install a very simple PKI infrastructure on the domain controller using Active Directory Certificate Services. These will be used in a later part to configure SSL for various parts of Exchange 2013.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC00LXByb3Zpc2lvbmluZy15b3VyLWV4Y2hhbmdlLXNlcnZlcnMv">Part 4</a></p>
<p>We covered how to use PowerShell to provision Exchange server VM’s in the lab, and went through the pre-requisite software installation.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC01LWluc3RhbGxpbmcteW91ci1maXJzdC1leGNoYW5nZS0yMDEzLXNlcnZlci8=">Part 5</a></p>
<p>We covered the Directory, organisation and Exchange preparation – and then went on to install the relevant Exchange servers using the unattended setup feature.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDMvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC02LWNvbmZpZ3VyaW5nLWEtZGFnLw==">Part 6</a></p>
<p>We covered Database Availability Groups and provided a script which automates the creation of DAGs from a CSV.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDMvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC03LXNldHRpbmctdXAtZGFnLWRhdGFiYXNlcy1hbmQtc3NsLw==" target=\"_blank\">Part 7</a></p>
<p>We covered adding databases to the DAG and configuring SSL.</p>
<h2>Part 8</h2>
<p>In this part I will be covering:</p>
<ul>
<li>The creation of user accounts in Active Directory. </li>
<li>The creation of Mailboxes. </li>
<li>The creation of Distribution Lists. </li>
<li>The creation of “Modern” Public Folders. </li>
</ul>
<p>In addition to the above I will also cover some further reading that you might want to do on your own in regard to making your OWA CAS configuration highly available.</p>
<p>For this part, you will need to download the following scripts and tool from <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29t">www.telnetport25.com</a> (<em>anyone would think that I had a plan when I wrote all of these ~ ok, no I didn’t but it seems that way now</em>).</p>
<ul>
<li><strong>Lab users creation script and CSV</strong>: <a title=\"http://www.telnetport25.com/2011/12/update-to-my-create-lab-users-powershell-scriptmultiple-domains-and-500-more-users/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTEvMTIvdXBkYXRlLXRvLW15LWNyZWF0ZS1sYWItdXNlcnMtcG93ZXJzaGVsbC1zY3JpcHRtdWx0aXBsZS1kb21haW5zLWFuZC01MDAtbW9yZS11c2Vycy8=">http://www.telnetport25.com/2011/12/update-to-my-create-lab-users-powershell-scriptmultiple-domains-and-500-more-users/</a> </li>
<li><strong>The Exchange 2013 Bulk users creation tool</strong>: <a title=\"http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTEvZWJ1Y3RleGNoYW5nZS0yMDEzLWJ1bGstdXNlci1jcmVhdGlvbi10b29sLw==">http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool/</a> </li>
<li><strong>Distribution Lists Creation Script and CSV</strong>: <a title=\"http://www.telnetport25.com/2011/07/quick-tipcreating-distribution-groups-from-a-csv-file-using-powershell-for-a-lab-environment/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTEvMDcvcXVpY2stdGlwY3JlYXRpbmctZGlzdHJpYnV0aW9uLWdyb3Vwcy1mcm9tLWEtY3N2LWZpbGUtdXNpbmctcG93ZXJzaGVsbC1mb3ItYS1sYWItZW52aXJvbm1lbnQv">http://www.telnetport25.com/2011/07/quick-tipcreating-distribution-groups-from-a-csv-file-using-powershell-for-a-lab-environment/</a> </li>
</ul>
<p>I do not intend to cover how to use these scripts and tools in any depth whatsoever in this article as I have covered the specifics of the operation of each in their own respective posts.</p>
<h2>Creating Users</h2>
<p>In order to create around 500 or so users ready to be placed within the relevant databases run the Create Users script (<em>which you can get from the link above</em>) – when prompted – select the relevant users CSV file from the browse dialog box – see below.</p>
<p><img title="19-03-201313-52-03" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-03-201313-52-03" src="http://www.telnetport25.com/wp-content/uploads/2013/03/19-03-201313-52-03.png" width="610" height="296" /></p>
<p>When the script has completed – you will be presented with a message explaining that the execution has completed. You will then be able to find all of your users within an OU called “<strong><em>Exchange Users</em></strong>” in Active Directory Users and Computers – see below.</p>
<p><img title="19-03-201313-53-20" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-03-201313-53-20" src="http://www.telnetport25.com/wp-content/uploads/2013/03/19-03-201313-53-20.png" width="406" height="343" /></p>
<h2>Creating Mailboxes</h2>
<p>The <strong>EBUCT (Exchange Bulk Users Creation Tool)</strong> – is available from the download link above. Download it to one of the servers in your LAB and fire it up. Click on the “<strong><em>refresh</em></strong>” button to populate the AD accounts section, and then choose each of the accounts that you want to put in each Mailbox Databases; when ready click on “<strong><em>Enable</em></strong>” – then repeat the process as required – see below.</p>
<p><img title="19-03-201314-00-13" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-03-201314-00-13" src="http://www.telnetport25.com/wp-content/uploads/2013/03/19-03-201314-00-13.png" width="620" height="438" /></p>
<p>If you then drop into the Exchange Administrative Centre you should now see all of your mailboxes.</p>
<p><img title="19-03-201314-08-17" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-03-201314-08-17" src="http://www.telnetport25.com/wp-content/uploads/2013/03/19-03-201314-08-17.png" width="619" height="538" /></p>
<h2>Creating Distribution Groups</h2>
<p>Very similar to the LAB Users Creation Tool – the Distribution Lists script operates in the same way – run the script, and select the relevant CSV file – see below.</p>
<p><img title="19-03-201314-12-30" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-03-201314-12-30" src="http://www.telnetport25.com/wp-content/uploads/2013/03/19-03-201314-12-30.png" width="610" height="272" /></p>
<p>The script will create a sub-OU under the ExchangeUsers OU called “<strong><em>DistLists</em></strong>” – in here you will find the Distribution Lists that the script created.</p>
<p>When the script has completed – you will be presented with the “<strong><em>Completed</em></strong>” message – see below.</p>
<p><img title="19-03-201314-15-06" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-03-201314-15-06" src="http://www.telnetport25.com/wp-content/uploads/2013/03/19-03-201314-15-06.png" width="620" height="213" /></p>
<h2>Creating “Modern” Public Folders</h2>
<p>Exchange 2013 introduces what is perhaps the first “<strong><em>major</em></strong>” architectural changes to Public Folder databases in … well … forever! I would say that the biggest leap is now the concept of Public Folder replication is now dead in the water (<em>thankfully</em>). “<strong><em>Modern</em></strong>” Public Folders now share the same high availability and storage technologies as the mailbox store. In fact – the Public Folder hierarchy is in fact a special mailbox contained within a mailbox store which can be part of a DAG.</p>
<p>There are of course other changes (administration and the like) and you need to be aware that you cannot in the RTM of Exchange 2013 access public folders from Outlook Web App.</p>
<h2>Create Public Folders Script</h2>
<p>Creating Exchange 2013 Public folders are not very hard to create in Exchange 2013 via either the Exchange Management Shell of Administrative Centre. However, as I mentioned in previous articles my aim in this series has been to provide you with examples where appropriate of using the shell.</p>
<p>The script performs the following actions within the LAB environment:</p>
<ul>
<li>Get the full list of available Mailbox Databases and presents the as options as the destination location for the Public Folder Mailbox Hierarchy. </li>
<li>Creates Public Folders for Dublin, Paris and London within the hierarchy. </li>
</ul>
<pre class="code"><span style="color: green">&lt;#
    Exchange 2013 LAB - Create &quot;Modern&quot; Public Folders

http://www.telnetport25.com

    Author: Andy Grogan
    Version: 0.1
    
    .Compatibility
    
    Windows Server 2012
    Powershell 3
    Exchange 2013
    Not Supported with any other versions of the software mentioned above.
    
    .Parameters
          None
     
    .Example
        .\CreatePublicFoldersLab.ps1
    
#&gt;

</span><span style="color: purple">$MailboxDatabases </span><span style="color: red">= </span><span style="color: #5f9ea0">Get-MailboxDatabase </span><span style="color: blue">| Select </span><span style="color: #5f9ea0">-expandProperty </span><span style="color: blue">Identity 
</span><span style="color: purple">$Count </span><span style="color: red">= </span><span style="color: #5f9ea0">-1
Write-Host </span><span style="color: maroon">&quot;Create Public Folders&quot; </span><span style="color: #5f9ea0">-ForeGroundColor </span><span style="color: blue">Cyan
</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;&quot;


</span><span style="color: blue">foreach</span><span style="color: black">(</span><span style="color: purple">$DB </span><span style="color: blue">in </span><span style="color: purple">$MailboxDatabases</span><span style="color: black">){
    </span><span style="color: purple">$Count </span><span style="color: red">++
    </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;$Count . &quot; </span><span style="color: purple">$DB
</span><span style="color: black">}
</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;&quot;
</span><span style="color: purple">$DBChoice </span><span style="color: red">= </span><span style="color: #5f9ea0">Read-Host </span><span style="color: maroon">&quot;Please select a mailbox database where you would like to locate the public folders&quot;


</span><span style="color: #5f9ea0">New-Mailbox -publicFolder </span><span style="color: black">–</span><span style="color: blue">Name </span><span style="color: maroon">&quot;artTest_PFHierarchy&quot; </span><span style="color: black">–</span><span style="color: blue">Alias </span><span style="color: maroon">&quot;artTest_PFHierarchy&quot; </span><span style="color: black">–</span><span style="color: blue">Database </span><span style="color: purple">$MailboxDatabases</span><span style="color: black">[</span><span style="color: purple">$DBChoice</span><span style="color: black">]
</span><span style="color: #5f9ea0">New-PublicFolder -Name </span><span style="color: maroon">&quot;London_Office&quot;
</span><span style="color: #5f9ea0">New-PublicFolder -Name </span><span style="color: maroon">&quot;Paris_Office&quot;
</span><span style="color: #5f9ea0">New-PublicFolder -Name </span><span style="color: maroon">&quot;Dublin_Office&quot;

</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;&quot;
</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Script has completed...&quot; </span><span style="color: #5f9ea0">-ForeGroundColor </span><span style="color: blue">Green</span></pre>
<h2>Script Download</h2>
<p><img alt="" src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL2V4Y2hhbmdlMjAxMy9DcmVhdGVQdWJsaWNGb2xkZXJzTGFiLnBzMQ==" target=\"_blank\">CreatePublicFoldersLab.ps1 – 1.1KB</a> ]</p>
<h2>Running the script </h2>
<p>Either download the script to a location on one of the LAB Exchange servers or copy and paste it from the code block above. Open an Exchange Management Shell and type in:</p>
<pre>.\CreatePublicFoldersLab.ps1</pre>
<p>From the Mailbox options list – select a destination by typing in the corresponding numeral:</p>
<p><img title="19-03-201316-40-06" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-03-201316-40-06" src="http://www.telnetport25.com/wp-content/uploads/2013/03/19-03-201316-40-06.png" width="702" height="185" /></p>
<p>The script will then create the hierarchy and the relevant public folders:</p>
<p><img title="19-03-201316-41-01" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-03-201316-41-01" src="http://www.telnetport25.com/wp-content/uploads/2013/03/19-03-201316-41-01.png" width="559" height="343" /></p>
<h2>OK, so how do I make the Client Access Servers Fault Tolerant in the LAB?</h2>
<p>So there have been a number of changes in Exchange 2013 – not least of which are how clients connect to the respective Exchange infrastructure.</p>
<p>Before we get into that – lets have a look at the changes in the roles architecture. From Exchange 2007 and in Exchange 2010 we had the following discrete roles:</p>
<ul>
<li>Mailbox Server </li>
<li>Hub Transport </li>
<li>Client Access </li>
<li>Edge Transport </li>
<li>Unified Messaging </li>
</ul>
<p>In Exchange 2013 – these roles have been consolidated down into:</p>
<ul>
<li>Mailbox Server </li>
<li>Client Access Server </li>
</ul>
<p>You might be thinking that this is very reminiscent of the good old Exchange 2003 days of Front End Servers (FES) and Mailbox Servers, which you would be sort of right – but it would be true to say that the concept has advanced significantly.</p>
<p>In Exchange 2013 the Mailbox server performs the following functions:</p>
<ul>
<li>Mail routing </li>
<li>Voice Mail </li>
<li>Renders Web Service based content </li>
</ul>
<p>The Client Access Server Role performs the function of authenticating and routing client requests to the correct Mailbox Server. One key concept that has changed with the Client Access Server is that it no longer performs the rendering of OWA – it is in essence a reverse proxy. It will authenticate a user, direct them to the correct mailbox server and then hand offs everything else from that point onwards.</p>
<p>One other major change is that clients now connect purely over HTTPS (MAPI via RPC is <strong><u>gone</u></strong>).</p>
<p>With these changes – the concept of Load Balancing Exchange has also changed. Affinity now works as intended – it now does not matter if a client request hits another client access server it is still rendered by the mailbox which hosts the mailbox – therefore there is not performance degradation. With form based authentication the authentication cookie is provided to the client post logon which is encrypted using the SSL certificate of the given CAS server.</p>
<p>The logged on user can then maintain authentication on another CAS without having to be re-authenticated if there is a shared certificate between the Client Access Server.</p>
<p>All of the above means that you have a lot of flexibility in terms of the “<strong><em>Load Balancing</em></strong>” technologies that you can realistically make use of.</p>
<p>Broadly speaking – these fall into the following options:</p>
<ul>
<li><strong><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Sb3VuZC1yb2Jpbl9ETlM=" target=\"_blank\">Round Robin DNS</a></strong> – we will be covering this in this post, I would recommend this in Test Labs where budget is tight – but not in Production as it is technically not true load balancing, and is a little “flaky” to say the least. </li>
<li><strong><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9OZXR3b3JrX0xvYWRfQmFsYW5jaW5nX1NlcnZpY2Vz" target=\"_blank\">Windows Network Load Balancing (WNLB)</a></strong> – Can be used in production (but again I would not recommend it) – remember that you cannot have WNLB and Failover clustering on the same server – therefore; NLB is not possible in our LAB without major modification. </li>
<li><strong>Third Party Load Balancing product – <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy5rZW1wdGVjaG5vbG9naWVzLmNvbS91ay8=" target=\"_blank\">KEMP</a>, <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3VrLmxvYWRiYWxhbmNlci5vcmcvaW5kZXgucGhw" target=\"_blank\">LOADBALANCER.org</a> etc.</strong> -&#160; These are highly recommended for production scenarios. </li>
</ul>
<h2>Setting up <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Sb3VuZC1yb2Jpbl9ETlM=" target=\"_blank\">Round Robin</a> DNS</h2>
<p>Logon to your Windows 2012 Domain Controller and open the DNS management MMC. Right click on the name of your LAB domain controller and from the context menu that appears choose “<strong><em>Properties</em></strong>”.</p>
<p>From the dialog that appears, click on the “<strong><em>Advanced</em></strong>” tab – ensure that the “<strong><em>Enable round robin</em></strong>” check box is check from within the Server Options section – see below.</p>
<p><img title="24-03-201318-26-03" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="24-03-201318-26-03" src="http://www.telnetport25.com/wp-content/uploads/2013/03/24-03-201318-26-03.png" width="642" height="573" /></p>
<p>Now you need to add in additional DNS [A] records for the relevant web services that we created in <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDMvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC03LXNldHRpbmctdXAtZGFnLWRhdGFiYXNlcy1hbmQtc3NsLw==" target=\"_blank\">part 7</a> – to recap these were:</p>
<ul>
<li>OWA </li>
<li>Mail </li>
<li>Autodiscover </li>
</ul>
<p>You can either do this from the DNS Manager MMC – or, like we did in part 7 use Powershell via the following cmdlet.</p>
<pre>Add-DnsServerResourceRecordA</pre>
<p>If we look at the topology of our LAB so far we have the following Client Access Servers:</p>
<ul>
<li><strong>art-MBXCAS-01</strong> = 172.31.253.108 </li>
<li><strong>art-MBXCAS-02</strong> = 172.31.253.109 </li>
</ul>
<p>So that means that we need two DNS records for the above DNS entries – so you are looking to have the following records on your DNS server:</p>
<p><img title="24-03-201318-55-17" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="24-03-201318-55-17" src="http://www.telnetport25.com/wp-content/uploads/2013/03/24-03-201318-55-17.png" width="642" height="618" /></p>
<p>This will give you a very basic level of fault tolerance using Round Robin DNS – but if you are looking for something more sophisticated then you should have a look at a commercial Load Balancing option; especially if you are planning on moving what you have learned in this series in to production at any point.</p>
<p>So to finish up in this series – it is probably worth looking conceptually at what we have created diagrammatically – here we can see the whole configuration – right from the Virtualisation host – all the way through to the virtual machines, database availability groups and CAS Load Balancing from the client end.</p>
<p><img title="finalSchematic" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="finalSchematic" src="http://www.telnetport25.com/wp-content/uploads/2013/03/finalSchematic.png" width="700" height="403" /></p>
<h2>To Conclude</h2>
<p>You might be thinking where to next? Well – that is up to you <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Smile" src="http://www.telnetport25.com/wp-content/uploads/2013/03/wlEmoticon-smile1.png" /> &#8211; I have not covered absolutely everything possible with your LAB – and indeed there is lots that can be changed / improved – but the point is that I am hoping that you are in position to begin to “<strong><em>tweak</em></strong>” the configuration. I will be continuing in future posts to add to this LAB (<em>you may see its name crop up</em> <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Smile" src="http://www.telnetport25.com/wp-content/uploads/2013/03/wlEmoticon-smile1.png" />) – but I urge you all to play around as much as you can.</p>
<p>I also hope that you have found this series useful and I am more than happy in receiving any thoughts that might wish to share.</p>
<div class="shr-publisher-1824"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDMvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC04LXVzZXJzLW1haWxib3hlcy1kaXN0cmlidXRpb24tbGlzdHMtYW5kLXB1YmxpYy1mb2xkZXJzLw==" data-shr_title='Building+an+Exchange+2013+LAB+Environment+using+Windows+Server+2012+from+scratch+%26ndash%3B+Part+8%3A+Users%2C+Mailboxes%2C+Distribution+lists+and+Public+Folders%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1824" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/03/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-8-users-mailboxes-distribution-lists-and-public-folders/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Distribution List Reporting Tool (DLRT) 2.5</title>
		<link>http://www.telnetport25.com/2013/03/distribution-list-reporting-tool-dlrt-2-5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=distribution-list-reporting-tool-dlrt-2-5</link>
		<comments>http://www.telnetport25.com/2013/03/distribution-list-reporting-tool-dlrt-2-5/#comments</comments>
		<pubDate>Sun, 17 Mar 2013 14:10:24 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2010 (Admin)]]></category>
		<category><![CDATA[Exchange 2010 (General)]]></category>
		<category><![CDATA[Exchange Programming .NET]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Disitrbution List Reporting Tool]]></category>
		<category><![CDATA[Distribution List Reporting Tool]]></category>
		<category><![CDATA[DLRT]]></category>
		<category><![CDATA[DLRT 2.5]]></category>
		<category><![CDATA[Exchange 2010 Distribution Lists]]></category>
		<category><![CDATA[Reporting]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1811</guid>
		<description><![CDATA[I have been adding a few features to the Distribution List Reporting Tool which I thought that would be useful and I am pleased to announce that I think that it is ready. Hope that you like it. Change History Version 1.0 Initial release Version 1.1 Added in handling for environments where there are no [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I have been adding a few features to the Distribution List Reporting Tool which I thought that would be useful and I am pleased to announce that I think that it is ready. Hope that you like it.</p>
<h2>Change History</h2>
<h5>Version 1.0</h5>
<ul>
<li>Initial release </li>
</ul>
<h5>Version 1.1</h5>
<ul>
<li>Added in handling for environments where there are no distribution lists </li>
<li>Added in handling for environments where there is only one distribution list </li>
<li>Added in handling for lists that contain either no or only a single membership entry </li>
<li>Added in an event debugging information field at the bottom of the main page </li>
</ul>
<h5>Version 1.2</h5>
<ul>
<li>Added in handling for lists that contain spaces within their names </li>
<li>Modified the version number on the logo to 1.2 </li>
<li>Added a “sort” button for the lists on the main page – this sorts the names Alphabetically </li>
</ul>
<h5>Version 2.0</h5>
<ul>
<li>Modified Member list rendering engine from a list control to GridView when querying a single list </li>
<li>Added in bulk reporting on all lists which contain members with new GridView renderer </li>
<li>Added in bulk reporting on lists that contain no members with new GridView renderer </li>
<li>Added in support for Distribution lists which have members in multiple domains </li>
<li>Redesigned user interface </li>
<li>Added in the ability to export list membership to a CSV file </li>
<li>Bug Fix: Fixed the incorrect reporting of lists that contain a single nested Distribution Group </li>
<li>Improved error and report handling than that in version 1.2</li>
</ul>
<h5>Version 2.5</h5>
<ul>
<li>Added in reporting for Dynamic Distribution Groups.</li>
<li>Added in view the properties of the Distribution Lists.</li>
<li>Added in view mailbox properties.</li>
<li>Small modifications to the look and feel of the application.</li>
</ul>
<h2>Download</h2>
<p>The installation binaries below can be used to perform both new installs and upgrade versions (e.g. run the setup executable and install over the top) – the IIS and Active Directory configuration remain the same if you have installed a previous version.</p>
<p>I have also included a full Installation and Users Guide within this download section.</p>
<p><img title="cntMstr006" border="0" alt="cntMstr006" src="http://www.telnetport25.com/wp-content/uploads/2011/09/cntMstr006.jpg" width="53" height="53" />&#160; [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvZGxydC9EaXN0TGlzdDI1U2V0dXAuZXhl">Distribution List Reporting Tool – Version 2.5 – 190KB</a> ]</p>
<p><img alt="adobe" src="http://www.telnetport25.com/images/stories/legimages/Icons/adobe.jpg" width="40" height="40" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvZGxydC9ETFJUdjJJbnN0YWxsYXRpb25Vc2Vyc0d1aWRlLnBkZg==">DLRT Installation and Users Guide – 1.3MB</a> ]</p>
<h2>Installation and Users Guide</h2>
<p>Please see the PDF download in the download section.</p>
<h2>Updates</h2>
<h5>Support for Dynamic Distribution Lists</h5>
<p>Version 2.5 now includes support for reporting on single Dynamic Distribution Lists. You will see a new button at the top of the screen entitled “<strong><em>Dynamic</em></strong>”.</p>
<p><img title="17-03-201313-48-20" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="17-03-201313-48-20" src="http://www.telnetport25.com/wp-content/uploads/2013/03/17-03-201313-48-20.png" width="637" height="737" /></p>
<h5>Dynamic Distribution List Properties</h5>
<p>You can also review the properties of a dynamic distribution list by click on the folder next to the distribution list name.</p>
<p><img title="17-03-201313-51-08" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="17-03-201313-51-08" src="http://www.telnetport25.com/wp-content/uploads/2013/03/17-03-201313-51-08.png" width="663" height="413" /></p>
<h5>Group and User Properties</h5>
<p>You will see that there are a couple of new buttons within the interface – these allow for you to expose relevant properties of both Distribution Groups and Mailbox properties.</p>
<p><img title="17-03-201313-33-10" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="17-03-201313-33-10" src="http://www.telnetport25.com/wp-content/uploads/2013/03/17-03-201313-33-10.png" width="637" height="626" /></p>
<h5>Example of Group Properties</h5>
<p><img title="17-03-201313-39-10" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="17-03-201313-39-10" src="http://www.telnetport25.com/wp-content/uploads/2013/03/17-03-201313-39-10.png" width="463" height="341" /></p>
<h5>Example of Mailbox Properties</h5>
<p><img title="17-03-201313-40-53" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="17-03-201313-40-53" src="http://www.telnetport25.com/wp-content/uploads/2013/03/17-03-201313-40-53.png" width="663" height="342" /></p>
<div class="shr-publisher-1811"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDMvZGlzdHJpYnV0aW9uLWxpc3QtcmVwb3J0aW5nLXRvb2wtZGxydC0yLTUv" data-shr_title='Distribution+List+Reporting+Tool+%28DLRT%29+2.5'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1811" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/03/distribution-list-reporting-tool-dlrt-2-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building an Exchange 2013 LAB Environment using Windows Server 2012 from scratch &#8211; Part 7: Setting up DAG Databases and SSL&#8230;</title>
		<link>http://www.telnetport25.com/2013/03/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-7-setting-up-dag-databases-and-ssl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-7-setting-up-dag-databases-and-ssl</link>
		<comments>http://www.telnetport25.com/2013/03/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-7-setting-up-dag-databases-and-ssl/#comments</comments>
		<pubDate>Sat, 16 Mar 2013 17:40:33 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 (Admin)]]></category>
		<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Exchange 2013 (Installation)]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Test Labs]]></category>
		<category><![CDATA[Windows Hyper-V Server 2012]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Active Directory Certificate Services]]></category>
		<category><![CDATA[Certificates]]></category>
		<category><![CDATA[Creating DAG Enabled Mailbox Databases]]></category>
		<category><![CDATA[Creating Mailbox Databases]]></category>
		<category><![CDATA[DAG]]></category>
		<category><![CDATA[DAGS]]></category>
		<category><![CDATA[Database Availability Groups]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Powerhshell]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[Windows Server 2012]]></category>
		<category><![CDATA[Windows Server 2012 Active Directory]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1804</guid>
		<description><![CDATA[Wow – part 7 – this is now (I think) officially the longest running series that I have written and not forgotten to finish it (don’t worry this is not the end, there is one more part to go). Took a little while to get this one off the deck as there are a few [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Wow – part 7 – this is now (I think) officially the longest running series that I have written and not forgotten to finish it (don’t worry this is not the end, <strong>there is one more part to go</strong>). Took a little while to get this one off the deck as there are a few steps in this post that we need to go through. In retrospect I should have perhaps done a video for this – but I am trying to work through a “<strong><em>lip smacking</em></strong>” problem that someone commented on you of my “<strong><em>You Tube</em></strong>” videos that has left me a little self conscious. Actually it hasn’t &#8211; I don’t care – I just didn’t think of doing one <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Smile" src="http://www.telnetport25.com/wp-content/uploads/2013/03/wlEmoticon-smile.png" />.</p>
<p>To recap &#8211; the previous parts (<em>should you wish to read them, refresh or catch up</em>) can be found below:</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0xLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItb3MtaW5zdGFsbC8=">Part 1</a></p>
<p>We established our domain design, covered how to provision the Domain Controller for the LAB in Hyper-V and then how to install Windows Server 2012 on the Domain Controller.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0yLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItYWQtaW5zdGFsbGF0aW9uLw==">Part 2</a></p>
<p>We went through the process of installing Active Directory Domain Services on the LAB domain controller using PowerShell.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0zLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItY2EtaW5zdGFsbGF0aW9uLw==">Part 3</a></p>
<p>We covered how you can install a very simple PKI infrastructure on the domain controller using Active Directory Certificate Services. These will be used in a later part to configure SSL for various parts of Exchange 2013.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC00LXByb3Zpc2lvbmluZy15b3VyLWV4Y2hhbmdlLXNlcnZlcnMv">Part 4</a></p>
<p>We covered how to use PowerShell to provision Exchange server VM’s in the lab, and went through the pre-requisite software installation.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC01LWluc3RhbGxpbmcteW91ci1maXJzdC1leGNoYW5nZS0yMDEzLXNlcnZlci8=">Part 5</a></p>
<p>We covered the Directory, organisation and Exchange preparation – and then went on to install the relevant Exchange servers using the unattended setup feature.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDMvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC02LWNvbmZpZ3VyaW5nLWEtZGFnLw==" target=\"_blank\">Part 6</a></p>
<p>We covered Database Availability Groups and provided a script which automates the creation of DAGs from a CSV file in preparation for…</p>
<h2>Part 7 (bam! ~ back with a vengeance)</h2>
<p>In this part I would like to cover:</p>
<ul>
<li>Creating DAG Enabled Mailbox Databases </li>
<li>Configuration the relevant Autodiscover, EWS and Exchange web based URLS using the Active Directory Certificate Services that we installed in <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0zLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItY2EtaW5zdGFsbGF0aW9uLw==" target=\"_blank\">Part 3</a> </li>
</ul>
<h2>Create Mailboxes Script</h2>
<p>Configuring Mailbox Databases in Exchange 2013 is not very hard – but in the spirit of this series where I have been trying to show how you can use Powershell to automate most tasks I have written the following script which performs the following:</p>
<ul>
<li>Creates Mailbox Databases from the command line. </li>
<li>Sets the Offline Address Book to the “<strong><em>Default Offline Address Book</em></strong>”. </li>
<li>Mounts the new database. </li>
<li>Creates a copy of the new database on each node within the DAG. </li>
</ul>
<p>You can copy and paste the script from this webpage into a new PS1 file on any of the Exchange Servers that we have created in this LAB – or you can download it from the download link below.</p>
<pre class="code"><span style="color: green">&lt;#
    Exchange 2013 LAB - Create Mailbox Databases and Add Copies Script

http://www.telnetport25.com

    Author: Andy Grogan
    Version: 0.1
    
    .Compatibility
    
    Windows Server 2012
    Powershell 3
    Exchange 2013
    Not Supported with any other versions of the software mentioned above.
    
    .Parameters
        -DBName
        -DBPath
        -LogFilePath
       
    
    .Example
        .\Create2013LabDBs.ps1 -DBName &lt;DatabaseName&gt; -DBPath &lt;Path to database&gt; -LogFilePath &lt;Path to Log Files&gt;
    
#&gt;

</span><span style="color: black">[</span><span style="color: blue">CmdletBinding</span><span style="color: black">()]
</span><span style="color: blue">Param</span><span style="color: black">(
    [</span><span style="color: blue">Parameter</span><span style="color: black">(</span><span style="color: blue">Mandatory</span><span style="color: red">=</span><span style="color: blue">$True</span><span style="color: black">)]
    [</span><span style="color: blue">string</span><span style="color: black">]</span><span style="color: purple">$DBName</span><span style="color: black">,[</span><span style="color: blue">Parameter</span><span style="color: black">(</span><span style="color: blue">Mandatory</span><span style="color: red">=</span><span style="color: blue">$True</span><span style="color: black">)]
    [</span><span style="color: blue">string</span><span style="color: black">]</span><span style="color: purple">$DBPath</span><span style="color: black">,[</span><span style="color: blue">Parameter</span><span style="color: black">(</span><span style="color: blue">Mandatory</span><span style="color: red">=</span><span style="color: blue">$True</span><span style="color: black">)]
    [</span><span style="color: blue">string</span><span style="color: black">]</span><span style="color: purple">$LogFilePath
</span><span style="color: black">)

</span><span style="color: purple">$LocalServerName </span><span style="color: red">= </span><span style="color: purple">$ENV:ComputerName

</span><span style="color: blue">function </span><span style="color: #0000cd">create_Databases{
     </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Creating Database - &quot; </span><span style="color: purple">$DBName </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">White
    </span><span style="color: #5f9ea0">New-MailboxDatabase -Name </span><span style="color: purple">$DBName </span><span style="color: #5f9ea0">-EDBFilePath </span><span style="color: maroon">&quot;</span><span style="color: green">$DBPath\$DBName.edb</span><span style="color: maroon">&quot; </span><span style="color: #5f9ea0">-LogFolderPath </span><span style="color: purple">$LogFilePath </span><span style="color: #5f9ea0">-Server </span><span style="color: purple">$LocalServerName
    </span><span style="color: #5f9ea0">Mount-Database -id </span><span style="color: purple">$DBName
    </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Setting Offline Address Book&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Cyan
    </span><span style="color: #5f9ea0">Set-MailboxDatabase </span><span style="color: purple">$DBName </span><span style="color: #5f9ea0">-offlineAddressBook </span><span style="color: maroon">&quot;Default Offline Address Book&quot;

</span><span style="color: black">}

</span><span style="color: blue">function </span><span style="color: #0000cd">create_FolderStructure{

    </span><span style="color: blue">if</span><span style="color: black">(</span><span style="color: red">!</span><span style="color: black">(</span><span style="color: #5f9ea0">Test-Path </span><span style="color: purple">$DBPath</span><span style="color: black">)){
        </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Database Folder Path Not Found - Creating.&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Green
        </span><span style="color: #5f9ea0">New-Item </span><span style="color: purple">$DBPath </span><span style="color: #5f9ea0">-Type </span><span style="color: blue">Directory
    </span><span style="color: black">}</span><span style="color: blue">else</span><span style="color: black">{
        </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Database path found.&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Cyan
    </span><span style="color: black">}
    
    </span><span style="color: blue">if</span><span style="color: black">(</span><span style="color: red">!</span><span style="color: black">(</span><span style="color: #5f9ea0">Test-Path </span><span style="color: purple">$LogFilePath</span><span style="color: black">)){
        </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Log Folder Path Not Found - Creating.&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Green
        </span><span style="color: #5f9ea0">New-Item </span><span style="color: purple">$LogFilePath </span><span style="color: #5f9ea0">-Type </span><span style="color: blue">Directory
    </span><span style="color: black">}</span><span style="color: blue">else</span><span style="color: black">{
        </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Log path found.&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Cyan
    </span><span style="color: black">}
    
}

</span><span style="color: blue">function </span><span style="color: #0000cd">add_databaseCopies{
    
    </span><span style="color: purple">$MailboxServers </span><span style="color: red">= </span><span style="color: #5f9ea0">Get-MailboxServer </span><span style="color: blue">| Select </span><span style="color: #5f9ea0">-expandProperty </span><span style="color: blue">Name
    
    foreach</span><span style="color: black">(</span><span style="color: purple">$SVR </span><span style="color: blue">in </span><span style="color: purple">$MailboxServers</span><span style="color: black">){
        </span><span style="color: blue">if</span><span style="color: black">(</span><span style="color: red">!</span><span style="color: black">(</span><span style="color: purple">$SVR </span><span style="color: red">-eq </span><span style="color: purple">$LocalServerName</span><span style="color: black">)){
            </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Adding Databases Copy for - &quot; </span><span style="color: purple">$DBName </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">White
            </span><span style="color: #5f9ea0">Add-MailboxDatabaseCopy -id </span><span style="color: purple">$DBName </span><span style="color: #5f9ea0">-MailboxServer </span><span style="color: purple">$SVR 
        </span><span style="color: black">}
    }
}

</span><span style="color: blue">create_FolderStructure
create_Databases
add_databaseCopies

</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Script Completed...&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Green</span></pre>
<h2>Download</h2>
<p><img alt="" src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL2V4Y2hhbmdlMjAxMy9DcmVhdGVNYWlsYm94REJTLnBzMQ==" target=\"_blank\">CreateMailboxDBS.ps1 – 2.1KB</a> ]</p>
<blockquote>
<p><strong>UPDATE &#8211; 29/03/2013:</strong> A reader of this site requested a CSV enabled version of the above script – I have included it below with a sample CSV file should you wish to further automate the process of Mailbox Database Creation.</p>
</blockquote>
<p><img alt="" src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL2V4Y2hhbmdlMjAxMy9DcmVhdGVNQlhEQnNDU1YucHMx" target=\"_blank\">CreateMBXDBsCSV.ps1 – 2.6KB</a> ]</p>
<p><img title="CSVIco" alt="CSVIco" src="http://www.telnetport25.com/wp-content/uploads/2013/02/CSVIco.png" width="47" height="50" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL2V4Y2hhbmdlMjAxMy9zYW1wbGVNQlhEQkNTVi5jc3Y=" target=\"_blank\">sampleMBXDBCSV.csv – 1KB</a> ]</p>
<p>Execute the script from the command line (with no parameters) and you will be asked to navigate to the location of the CSV file which contains the Mailbox Database Information – the script will then create the databases and add the mailbox database copies.</p>
<h2>Creating DAG Enabled Mailbox Databases</h2>
<p>Before you execute the script, and you have downloaded it from the link provided above you will need to ensure that the Execution Policy is set to allow for scripts to be run from the internet. If you have been following this guide – this should already be in place – but just in case; please refer to the following article: <a title=\"http://www.telnetport25.com/2012/02/quick-tip-running-exchange-based-powershell-script-files-from-the-command-line-or-a-batch-file/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDIvcXVpY2stdGlwLXJ1bm5pbmctZXhjaGFuZ2UtYmFzZWQtcG93ZXJzaGVsbC1zY3JpcHQtZmlsZXMtZnJvbS10aGUtY29tbWFuZC1saW5lLW9yLWEtYmF0Y2gtZmlsZS8=">http://www.telnetport25.com/2012/02/quick-tip-running-exchange-based-powershell-script-files-from-the-command-line-or-a-batch-file/</a></p>
<p>For the purposes of the LAB, using the script we shall create the following databases:</p>
<ul>
<li>London_Office </li>
<li>Paris_Office </li>
<li>Dublin_Office </li>
</ul>
<p>We will start with the London_Office. Open an Exchange Management Shell window and navigate to the location where you have stored the script. The script accepts the following command line parameters:</p>
<ul>
<li><strong>-DBName</strong> / The name of the database – if you plan to use spaces please enclose this in inverted commas. </li>
<li><strong>-DBPath</strong>&#160; / The physical path to the Exchange edb file – you do not need to provide the name of the database file as the script will create this for you – do not include a trailing slash at the end of the path. </li>
<li><strong>-LogFilePath</strong> / The physical path to the log files location. </li>
</ul>
<p>You do not have to have created any folders for the logs or databases as the script will also create these for you.</p>
<p>Below is an example of the command line that I have used in my LAB to create the London Office database:</p>
<pre>.\CreateMailboxDBs.ps1 -DBName &quot;London_Office&quot; -DBPath &quot;x:\ExchangeDatabases\London&quot; -LogFilePath &quot;x:\ExchangeLogs\London&quot;</pre>
<p><img title="09-03-201318-24-23" style="display: inline" alt="09-03-201318-24-23" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201318-24-23.png" width="610" height="45" /></p>
<p>When the script executes you will see information similar to the following screen shot. The script will also pause whilst it seeds the databases on the other servers.</p>
<p><img title="09-03-201318-26-49" style="display: inline" alt="09-03-201318-26-49" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201318-26-49.png" width="610" height="342" /></p>
<p>When the script has completed its actions – you will see the following output from the script.</p>
<p><img title="09-03-201318-27-20" style="display: inline" alt="09-03-201318-27-20" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201318-27-20.png" width="610" height="258" /></p>
<p>You can then open up the Exchange Administrative Centre and check that your databases correctly – see below.</p>
<p><img title="09-03-201318-32-22" style="display: inline" alt="09-03-201318-32-22" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201318-32-22.png" width="610" height="568" /></p>
<h2>Configuring SSL</h2>
<h2>Generating the Exchange Certificate</h2>
<p>On either art-CASMBX-01 or 02 open am Exchange Management Shell Window and type in the following command, ensure that you include all the domains (SAN’s) that you would like registered on the certificate within the –DomainName parameter (separated by commas) – see below.</p>
<pre style="height: 40px; width: 699px">New-ExchangeCertificate -FriendlyName &quot;artLab Certificate&quot; -DomainName autodiscover.artTest.local,owa.artTest.local,mail.artTest.local -GenerateRequest -PrivateKeyExportable $true -KeySize 2048 -RequestFile &quot;x:\DomainCSRRequest.csr&quot;</pre>
<p><img title="09-03-201318-12-38" style="display: inline" alt="09-03-201318-12-38" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201318-12-38.png" width="610" height="72" /></p>
<p>This will generate a new Certificate Signing Request (CSR) that we can submit to the Active Directory Certificate Services component which is installed on art-DC-01. The command will output a CSR file to a location that you specify which will contain text similar to that in the example below.</p>
<p><img title="09-03-201318-13-46" style="display: inline" alt="09-03-201318-13-46" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201318-13-46.png" width="568" height="400" /></p>
<p>If you then run the following command you can see that there is now a pending Certificate Request</p>
<pre>Get-ExchangeCertificate | Where {$_.Status –eq “PendingRequest”} fl</pre>
<p><img title="09-03-201318-17-15" style="display: inline" alt="09-03-201318-17-15" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201318-17-15.png" width="610" height="257" /></p>
<p>Open Internet Explorer on your Exchange server and navigate to <strong>http://art-dc-01/certsrv</strong> (<em>or the name that you gave you domain controller</em>). From the screen that appears – click on the “<strong><em>Request a Certificate</em></strong>” link – see below.</p>
<p><img title="09-03-201318-47-51" style="display: inline" alt="09-03-201318-47-51" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201318-47-51.png" width="610" height="393" /></p>
<p>On the next screen click on the “<strong><em>Advanced Certificate Request</em></strong>” link – see below</p>
<p><img title="09-03-201318-51-30" style="display: inline" alt="09-03-201318-51-30" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201318-51-30.png" width="610" height="229" /></p>
<p>On the next screen – click on the “<strong><em>Submit a certificate request by using a base 64 encoded CMC or PKCS #10 file</em></strong>” – see below</p>
<p><img title="09-03-201319-07-29" style="display: inline" alt="09-03-201319-07-29" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201319-07-29.png" width="610" height="262" /></p>
<p>Open the CSR file that you created using the New-ExchangeCertificate cmdlet – and copy and past its content in to the section on the next screen entitled “<strong><em>Base64 encoded certificate request (CMC or PKCS #10 or PKCS #7)</em></strong>” – ensure that the certificate template is set to “<strong><em>Web Server</em></strong>” and then click on the “<strong><em>Submit</em></strong>” button – see below.</p>
<p><img title="09-03-201319-10-16" style="display: inline" alt="09-03-201319-10-16" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201319-10-16.png" width="610" height="571" /></p>
<p>You will be redirected to a screen where you can now download your certificate – click on the “<strong><em>Download Certificate</em></strong>” link – see below.</p>
<p><img title="09-03-201319-11-01" style="display: inline" alt="09-03-201319-11-01" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201319-11-01.png" width="610" height="293" /></p>
<p>Save the Certificate file to a location on <strong><u>art-CASMBX-01</u></strong> – see below:</p>
<p><img title="09-03-201319-11-39" style="display: inline" alt="09-03-201319-11-39" src="http://www.telnetport25.com/wp-content/uploads/2013/03/09-03-201319-11-39.png" width="584" height="470" /></p>
<h2>Importing and enabling the Certificate</h2>
<p>From within the Exchange management shell type in the commands below, ensure that you provide the path to your certificate file that you downloaded. Note that you will need to provide the thumbprint for the imported certificate when you use the Enable-ExchangeCertificate – <strong>bear in mind that the THUMBPRINT of the cert is likely to be different from that in my example</strong>. The commands below also enables the certificate for the web services (IIS).</p>
<pre>Import-ExchangeCertificate -FileName X:\artTest.cer

Thumbprint Services Subject

98F1888F5CD7B4C227B9FEB6A321E5AE6249CD3C ....... CN=autodiscover.artTest.local

Enable-ExchangeCertificate 98F1888F5CD7B4C227B9FEB6A321E5AE6249CD3C –Services IIS</pre>
<p><img title="16-03-201311-37-30" style="display: inline" alt="16-03-201311-37-30" src="http://www.telnetport25.com/wp-content/uploads/2013/03/16-03-201311-37-30.png" width="620" height="107" /></p>
<p>We now need to export this certificate from art-MBXCAS-01 to 02 – in order to do this type in the following Exchange Management Shell commands:</p>
<h3>Verify the certificate thumbprint</h3>
<pre>Get-ExchangeCertificate

<p>Thumbprint&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Services&#160;&#160; Subject
  <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; -------

  <br />98F1888F5CD7B4C227B9FEB6A321E5AE6249CD3C&#160; ...W...&#160;&#160;&#160; CN=autodiscover.artTest.local

  <br />6424884DC425680ABE842CBFA13E8FF590C94A90&#160; ....S..&#160;&#160;&#160; CN=Microsoft Exchange Server Auth Certificate

  <br />B265CDA2135D83E12453DCEA70C9BACDB698B05F&#160; IP.WS..&#160;&#160;&#160; CN=art-mbxcas-01

  <br />CB0DB4239F5D7E974B33F0E95EF5E01231183003&#160; .......&#160;&#160;&#160; CN=WMSvc-ART-MBXCAS-01</p></pre>
<h3>Export the Certificate</h3>
<pre><p>$export = Export-ExchangeCertificate 98F1888F5CD7B4C227B9FEB6A321E5AE6249CD3C -BinaryEncoded:$true -Password (Get-Credential).password</p>

<p>cmdlet Get-Credential at command pipeline position 1
  <br />Supply values for the following parameters:</p></pre>
<p>You will be prompted for a user name and password – enter in admin (not used) as the user name and select a password that will be used as the private key (you will need this when you import the certificate into art-MBXCAS-02).</p>
<h3>Create the PFX file</h3>
<pre>Set-Content -Path x:\exportedCert.pfx -Value $export.FileData -Encoding byte</pre>
<h3>Import the Certificate</h3>
<p>Remember that this time around, we are using the –Server parameter to stipulate that we want to allocate this exported cert on to art-MBXCAS-02.</p>
<pre><p>Import-ExchangeCertificate -Server art-mbxcas02 -FileName X:\exportedCert.pfx -Password (Get-Credential).password</p>

<p>cmdlet Get-Credential at command pipeline position 1
  <br />Supply values for the following parameters:

  <br />Credential</p>

<p>Thumbprint&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Services&#160;&#160; Subject
  <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; -------

  <br />98F1888F5CD7B4C227B9FEB6A321E5AE6249CD3C&#160; .......&#160;&#160;&#160; CN=autodiscover.artTest.local</p></pre>
<p>You will be prompted to supply the password that you selected when you exported the certificate in order to complete the import operation.</p>
<h3>Enable the services</h3>
<pre>Enable-ExchangeCertificate 98F1888F5CD7B4C227B9FEB6A321E5AE6249CD3C -Server art-mbxcas02 –Services IIS</pre>
<p>Again, remember that the thumbprint will be different on your system – also remember that you need to stipulate the –Server parameter to make sure that you are working against <strong>art-MBXCAS-02</strong>.</p>
<h2>Creating relevant DNS records</h2>
<p>The certificate that you generated should have contained a number of other Domain Names (or subject alternative names) – for example in my LAB these were:</p>
<ul>
<li>OWA.artTest.local </li>
<li>MAIL.artTest.local </li>
<li>Autodiscover.artTest.local </li>
</ul>
<p>It is important that these also appear within DNS within the LAB. In order to create these – logon to your LAB domain controller (<strong>art-DC-01</strong>) – and open a Powershell Command Prompt. Type in the following commands – substituting the IP addresses where appropriate to match that of your own subnets.</p>
<pre>Import-Module DNSServer
Add-DnsServerResourceRecordA -Name &quot;autodiscover&quot; -ZoneName &quot;artTest.local&quot; -AllowUpdateAny -IPv4Address &quot;172.31.253.108&quot; -TimeToLive 01:00:00
Add-DnsServerResourceRecordA -Name &quot;owa&quot; -ZoneName &quot;artTest.local&quot; -AllowUpdateAny -IPv4Address &quot;172.31.253.108&quot; -TimeToLive 01:00:00
Add-DnsServerResourceRecordA -Name &quot;mail&quot; -ZoneName &quot;artTest.local&quot; -AllowUpdateAny -IPv4Address &quot;172.31.253.108&quot; -TimeToLive 01:00:00</pre>
<p><img title="16-03-201312-18-15" style="display: inline" alt="16-03-201312-18-15" src="http://www.telnetport25.com/wp-content/uploads/2013/03/16-03-201312-18-15.png" width="620" height="100" /></p>
<h2>Configuring Web Services in Exchange 2013</h2>
<p>Like in previous versions of Exchange there are a number of internal URLS that need to be configured to ensure that services such as the EWS, Autodiscover and OWA work correctly.</p>
<p>One significant change is that there technically no longer the concept of –InternalURL / –ExternalURL on the autodiscover virtual directory. These are now handled via Service Connection Points (SCPs) in Active Directory and for the purposes of our LAB don’t need modification.</p>
<p>In Exchange 2013 there are a number of Virtual Directories that you change the URL settings on – therefore I have provided the following script to automate the process for our LAB.</p>
<blockquote>
<p><strong><u>NOTE:</u></strong> This script ONLY modifies the InternalURL namespaces – it will need modification if you wish to use external URLs. Furthermore it does not make modifications to the OAB Virtual Directory.</p>
</blockquote>
<p>As with the previous script – you can copy and paste it from here – or download it from the link below.</p>
<pre class="code"><span style="color: green">&lt;#
    Exchange 2013 LAB - Configure Web Based URLS

http://www.telnetport25.com

    Author: Andy Grogan
    Version: 0.1
    
    .Compatibility
    
    Windows Server 2012
    Powershell 3
    Exchange 2013
    Not Supported with any other versions of the software mentioned above.
    
    .Parameters
        None
    
    .Example
        .\ConfigureWebURLS.ps1
    
#&gt;

</span><span style="color: purple">$InternalDomainName </span><span style="color: red">= </span><span style="color: #5f9ea0">Get-ADDomain </span><span style="color: blue">| select </span><span style="color: #5f9ea0">-expandProperty </span><span style="color: blue">dnsRoot

</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Setting Domain Context: $InternalDomainName&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Red

</span><span style="color: green"># Configure Client Access Server

</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Configuring CAS URLS&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Cyan

</span><span style="color: purple">$ClientAccessServer </span><span style="color: red">= </span><span style="color: #5f9ea0">Get-ClientAccessServer </span><span style="color: blue">| select </span><span style="color: #5f9ea0">-expandProperty </span><span style="color: blue">Identity
    
foreach</span><span style="color: black">(</span><span style="color: purple">$CAS </span><span style="color: blue">in </span><span style="color: purple">$ClientAccessServer</span><span style="color: black">){
    </span><span style="color: #5f9ea0">Set-ClientAccessServer </span><span style="color: black">–</span><span style="color: blue">id </span><span style="color: purple">$CAS </span><span style="color: black">–</span><span style="color: blue">AutodiscoverServiceInternalUri </span><span style="color: maroon">&quot;https://autodiscover.$InternalDomainName&quot;
</span><span style="color: black">}

</span><span style="color: green"># Configure Active Sync

</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Configuring Active Sync URLS&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Cyan

</span><span style="color: purple">$aSyncDirs </span><span style="color: red">= </span><span style="color: #5f9ea0">Get-ActiveSyncVirtualDirectory </span><span style="color: blue">| select </span><span style="color: #5f9ea0">-expandProperty </span><span style="color: blue">Identity

foreach</span><span style="color: black">(</span><span style="color: purple">$aSyn </span><span style="color: blue">in </span><span style="color: purple">$aSyncDirs</span><span style="color: black">){

    </span><span style="color: #5f9ea0">Set-ActiveSyncVirtualDirectory -id </span><span style="color: purple">$aSyn </span><span style="color: #5f9ea0">-internalURL </span><span style="color: maroon">&quot;https://mail.$InternalDomainName/Microsoft-Server-ActiveSync&quot;

</span><span style="color: black">}

</span><span style="color: green"># Exchange Control Panel

</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Configuring ECP URLS&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Cyan

    </span><span style="color: purple">$ecpVirDirs </span><span style="color: red">= </span><span style="color: #5f9ea0">Get-EcpVirtualDirectory </span><span style="color: blue">| select </span><span style="color: #5f9ea0">-expandProperty </span><span style="color: blue">Identity

foreach </span><span style="color: black">(</span><span style="color: purple">$eVdir </span><span style="color: blue">in </span><span style="color: purple">$ecpVirDirs</span><span style="color: black">){
    </span><span style="color: #5f9ea0">Set-EcpVirtualDirectory </span><span style="color: black">–</span><span style="color: blue">Identity </span><span style="color: purple">$eVdir </span><span style="color: black">–</span><span style="color: blue">InternalURL </span><span style="color: maroon">&quot;https://owa.$InternalDomainName/ecp&quot;
</span><span style="color: black">}

</span><span style="color: green"># Web Services

</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Configuring Web Services URLS&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Cyan

    </span><span style="color: purple">$webSvcVirDirs </span><span style="color: red">= </span><span style="color: #5f9ea0">Get-WebServicesVirtualDirectory </span><span style="color: blue">| select </span><span style="color: #5f9ea0">-expandProperty </span><span style="color: blue">Identity
foreach</span><span style="color: black">(</span><span style="color: purple">$webSvc </span><span style="color: blue">in </span><span style="color: purple">$webSvcVirDirs</span><span style="color: black">){
    
    </span><span style="color: #5f9ea0">Set-WebServicesVirtualDirectory </span><span style="color: black">–</span><span style="color: blue">Identity </span><span style="color: purple">$webSvc </span><span style="color: black">–</span><span style="color: blue">InternalURL </span><span style="color: maroon">&quot;https://mail.$InternalDomainName/EWS/Exchange.asmx&quot;
    
</span><span style="color: black">}

</span><span style="color: green"># OWA

</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Configuring OWA URLS&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Cyan
    </span><span style="color: purple">$owaVdir </span><span style="color: red">= </span><span style="color: #5f9ea0">Get-OwaVirtualDirectory </span><span style="color: blue">| select </span><span style="color: #5f9ea0">-expandProperty </span><span style="color: blue">Identity
    
    foreach</span><span style="color: black">(</span><span style="color: purple">$oVDir </span><span style="color: blue">in </span><span style="color: purple">$owaVdir</span><span style="color: black">){
        </span><span style="color: #5f9ea0">Set-OwaVirtualDirectory </span><span style="color: black">–</span><span style="color: blue">Identity </span><span style="color: purple">$oVDir </span><span style="color: black">–</span><span style="color: blue">InternalUrl </span><span style="color: maroon">&quot;https://owa.$InternalDomainName/OWA&quot;    
    </span><span style="color: black">}

</span><span style="color: green"># Powershell

</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Configuring Powershell URLS&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Cyan
    </span><span style="color: purple">$psVdirs </span><span style="color: red">= </span><span style="color: #5f9ea0">Get-PowerShellVirtualDirectory </span><span style="color: blue">| select </span><span style="color: #5f9ea0">-expandProperty </span><span style="color: blue">Identity

    foreach</span><span style="color: black">(</span><span style="color: purple">$psDir </span><span style="color: blue">in </span><span style="color: purple">$psVdirs</span><span style="color: black">){

    </span><span style="color: #5f9ea0">Set-PowerShellVirtualDirectory </span><span style="color: black">–</span><span style="color: blue">Identity </span><span style="color: purple">$psDir </span><span style="color: black">–</span><span style="color: blue">InternalURL </span><span style="color: maroon">&quot;https://mail.$InternalDomainName/powershell&quot;
    
    </span><span style="color: black">}
</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Script has completed...&quot; </span><span style="color: #5f9ea0">-foregroundColor </span><span style="color: blue">Green
</span></pre>
<p><img alt="" src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL2V4Y2hhbmdlMjAxMy9Db25maWd1cmVXZWJVUkxTLnBzMQ==" target=\"_blank\">ConfigureWebURLS.ps1 – 2.4 KB</a> ]</p>
<p>In order to run the script – open an Exchange Management Shell on either art-MBXCAS-01 or 02 and type in:</p>
<pre>.\ConfigureWebURLS.ps1</pre>
<p><img title="16-03-201316-43-15" style="display: inline" alt="16-03-201316-43-15" src="http://www.telnetport25.com/wp-content/uploads/2013/03/16-03-201316-43-15.png" width="507" height="199" /></p>
<p>The script will then execute and configure the relevant internalURLS for each service. You can then navigate to <strong><u>https://owa.artTest.local/owa</u></strong> and you should see that the certificate is trusted and everything functions as you would expect.</p>
<p><img title="16-03-201316-54-04" style="display: inline" alt="16-03-201316-54-04" src="http://www.telnetport25.com/wp-content/uploads/2013/03/16-03-201316-54-04.png" width="489" height="258" /></p>
<h2>In the next part</h2>
<p>In the final part of the series we will complete the following:</p>
<ul>
<li>Populate the lab with test users. </li>
<li>Create Mailboxes </li>
<li>Create Public Folders </li>
<li>Create some distribution lists </li>
<li>Discuss some options for implementing HA on the Client Access Servers for connectivity </li>
</ul>
<div class="shr-publisher-1804"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDMvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC03LXNldHRpbmctdXAtZGFnLWRhdGFiYXNlcy1hbmQtc3NsLw==" data-shr_title='Building+an+Exchange+2013+LAB+Environment+using+Windows+Server+2012+from+scratch+%26ndash%3B+Part+7%3A+Setting+up+DAG+Databases+and+SSL%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1804" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/03/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-7-setting-up-dag-databases-and-ssl/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Building an Exchange 2013 LAB Environment using Windows Server 2012 from scratch &#8211; Part 6: Configuring a DAG&#8230;</title>
		<link>http://www.telnetport25.com/2013/03/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-6-configuring-a-dag/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-6-configuring-a-dag</link>
		<comments>http://www.telnetport25.com/2013/03/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-6-configuring-a-dag/#comments</comments>
		<pubDate>Sun, 03 Mar 2013 21:15:38 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 (Admin)]]></category>
		<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Exchange 2013 (Installation)]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Test Labs]]></category>
		<category><![CDATA[Windows Server 2012 [ Active Directory ]]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[DAG]]></category>
		<category><![CDATA[DAGS]]></category>
		<category><![CDATA[Database Availability Groups]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Powerhshell]]></category>
		<category><![CDATA[Windows Server 2012]]></category>
		<category><![CDATA[Windows Server 2012 Active Directory]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1785</guid>
		<description><![CDATA[Welcome to part 6 in my series of how you can build an Exchange 2013 LAB using Windows Server 2012. In the previous parts (should you wish to read them, refresh or catch up) can be found below: Part 1 We established our domain design, covered how to provision the Domain Controller for the LAB [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Welcome to part 6 in my series of how you can build an Exchange 2013 LAB using Windows Server 2012. In the previous parts (<em>should you wish to read them, refresh or catch up</em>) can be found below:</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0xLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItb3MtaW5zdGFsbC8=">Part 1</a></p>
<p>We established our domain design, covered how to provision the Domain Controller for the LAB in Hyper-V and then how to install Windows Server 2012 on the Domain Controller.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0yLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItYWQtaW5zdGFsbGF0aW9uLw==">Part 2</a></p>
<p>We went through the process of installing Active Directory Domain Services on the LAB domain controller using PowerShell.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0zLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItY2EtaW5zdGFsbGF0aW9uLw==">Part 3</a></p>
<p>We covered how you can install a very simple PKI infrastructure on the domain controller using Active Directory Certificate Services. These will be used in a later part to configure SSL for various parts of Exchange 2013.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC00LXByb3Zpc2lvbmluZy15b3VyLWV4Y2hhbmdlLXNlcnZlcnMv">Part 4</a></p>
<p>We covered how to use PowerShell to provision Exchange server VM’s in the lab, and went through the pre-requisite software installation.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC01LWluc3RhbGxpbmcteW91ci1maXJzdC1leGNoYW5nZS0yMDEzLXNlcnZlci8=">Part 5</a></p>
<p>We covered the Directory, organisation and Exchange preparation – and then went on to install the relevant Exchange servers using the unattended setup feature.</p>
<p>In this part I would like to cover the steps to setup a Database Availability Group within the LAB. Now before we begin it is probably a good idea to cover a couple of concepts about DAG’s and how this configuration (sic. the LAB configuration) differs from what you might expect to place into production.</p>
<p>And now for Part 6:</p>
<h2>Whistle stop tour of Database Availability Groups</h2>
<p>Ok, I don’t intend to go into any large level of detail here about DAG architecture – I just want to cover enough to understand what we are implementing in our LAB and how this would differ in a production environment.</p>
<p>First off here is a definition from Microsoft about DAG’s which you can find, along with other interesting information here: <a title=\"http://technet.microsoft.com/en-us/library/dd979799(v=exchg.150).aspx\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2RkOTc5Nzk5KHY9ZXhjaGcuMTUwKS5hc3B4">http://technet.microsoft.com/en-us/library/dd979799(v=exchg.150).aspx</a></p>
<blockquote><p>A database availability group (DAG) is the base component of the high availability and site resilience framework built into Microsoft Exchange Server 2013. A DAG is a group of up to 16 Mailbox servers that hosts a set of databases and provides automatic database-level recovery from failures that affect individual servers or databases.</p>
<p>A DAG is a boundary for mailbox database replication, database and server switchovers, failovers, and an internal component called <em>Active Manager</em>. Active Manager, which runs on every server in a DAG, manages switchovers and failovers.</p>
<p>Any server in a DAG can host a copy of a mailbox database from any other server in the DAG. When a server is added to a DAG, it works with the other servers in the DAG to provide automatic recovery from failures that affect mailbox databases, such as a disk failure or server failure. </p>
</blockquote>
<p>With that basic understanding of DAG’s it is now important to get to grips with the concept of Quorum Models within DAGs.</p>
<p>Underpinning each DAG configuration is the Windows Failover Cluster Service. As some of you will be aware, failover clusters make use of the Quorum concept which basically means that that the correct&#160; (<strong><em>and correct number of</em></strong>) members of a cluster (or DAG) are participate to ensure availability. This can mean all of the nodes in the cluster, or a majority of them (<em>more on this later</em>).</p>
<p>All clusters (or DAG’s) must have and maintain quorum – if not, all DAG operations will cease – and therefore cause all databases to dismount, rending the LAB (<em>or production environment</em>)offline.</p>
<p>DAGs that have an even number of members (e.g 2,4,6 etc.) will use failover clustering’s <strong>Node and File Share Majority</strong>, whereas DAGs with an odd amount of members (e.g 3,5,7 etc.) will use <strong>Node Majority</strong>.</p>
<p>In the case of Node and File Share there is an external “<strong><em>Witness Server</em></strong>” which is used to provide one DAG member with a weighted “<strong><em>vote</em></strong>” (<em>e.g. the selected node gets two votes instead of one</em>).</p>
<p>In the case of Node Majority – each member of the cluster (DAG) get a vote and will require the majority of members to be online and functional in order to maintain quorum. I have covered quorum models and majorities in the following article <a title=\"http://www.telnetport25.com/2011/12/its-a-majority-thing-dag-voting-explained-a-bit/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTEvMTIvaXRzLWEtbWFqb3JpdHktdGhpbmctZGFnLXZvdGluZy1leHBsYWluZWQtYS1iaXQv">http://www.telnetport25.com/2011/12/its-a-majority-thing-dag-voting-explained-a-bit/</a>.</p>
<p>You might be thinking, ok this is all well and good – but what does this have to do with our LAB?</p>
<p>Well, in our configuration we have provisioned 3 Exchange servers – two of which are multi-role (<em>running CAS and MBX services</em>) and the remaining being a mailbox server only. </p>
<p>This allows for us to build a DAG within our lab that will adopt the Node majority model (<em>as well as build a supported environment – as Microsoft recommends a minimum of 3 database copies of each DB in a DAG ~ therefore a minimum of three members</em>).</p>
<p>However, when creating a DAG you still need to specify a File Share witness server and location, even if you expect to have an odd number DAG membership. The reason for this is that if for some reason you change the number of members of the DAG to an even count &#8211; the specified witness will then come into play to maintain quorum.</p>
<p>This leads us onto the obvious – we (I) have not provisioned for a server within the LAB to act as the File share witness (<em>I made this choice for this series based on conservation of resources and Windows activations</em>). </p>
<p>Members of a DAG cannot also act as a FSW – it needs to be on a separate server – this leaves us within only one option ~ the Domain Controller to act as the FSW.</p>
<p>Now, using a Domain Controller as an FSW is <strong><u>NOT</u></strong> recommended in production for a number of reasons – but most pertinent of which are that such a configuration requires some messing around with some highly privileged group membership within AD that you really, really do not want to do – but can be excused in a LAB (<em>most of the time – if you are planning on making your LAB web facing, provision a separate server for the FSW or combine it with something else in the same domain</em>).</p>
<p>Specifically, in order for the process of assigning the FSW to a DC to work &#8211; the following needs to be configured:</p>
<ul>
<li>The domain controller needs to be a member of the “<strong><em>Exchange Trusted Administrators</em></strong>” group </li>
<li>The “<strong><em>Exchange Trusted Administrators</em></strong>” group needs to be a member of the domains “<strong><em>BUILTIN\Administrators</em></strong>” group </li>
</ul>
<p><strong><u>I must stress</u></strong> – this is not the case in production, you do not need to change the membership of these groups (<em>nor should you</em>) if you are using a separate, non-domain controller as the FSW.</p>
<h2>DAG Configuration from CSV File Script</h2>
<p>In order to use the DAG creation script in our DAG environment – you should build the CSV file that contains our desired DAG settings.</p>
<p>To do this open up a text file and type in the following headings – each separated with a comma:</p>
<ul>
<li>DAGName </li>
<li>WitServerName </li>
<li>WitnessDir </li>
<li>DAGIP </li>
</ul>
<p>Underneath each of the headings you should provide a value (<em>relevant to your environment</em>) separated again by a comma – see the example below.</p>
<p><img title="03-03-201320-07-27" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="03-03-201320-07-27" src="http://www.telnetport25.com/wp-content/uploads/2013/03/03-03-201320-07-27.png" width="500" height="153" /></p>
<p>When you are done save the file as <strong>DagData.csv </strong>in a location where you intend to create the <strong>ConfigureDAG2013.ps1</strong> file.</p>
<p>Below is the source code to the script – you have two options:</p>
<ol>
<li>Copy and paste it to a blank ps1 file located on the art-MBXCAS-01 server in the LAB (<em>if you have been following the naming conventions</em>). </li>
<li>Download a copy of the script file from the downloads section next in this article. </li>
</ol>
<pre class="code"><span style="color: green">&lt;#
    Exchange 2013 LAB - Create DAG Script from CSV

http://www.telnetport25.com

    Author: Andy Grogan
    Version: 0.1
    
    .Compatibility
    
    Windows Server 2012
    Powershell 3
    Exchange 2013
    Not Supported with any other versions of the software mentioned above.
    
    .Parameters
        -CSVFile
    
    .Example
        .\ConfigureDAG2013.ps1 -CSVFile &lt;Path and Name to CSV file&gt;
    
    .CSV File Headings (all required)
        DAGName,WitServerName,WitnessDir,DAGIP
    .Notes
        DO NOT USE THIS SCRIPT AS IS IN PRODUCTION
        Ensure that you comment out the prep_Security function!
#&gt;

</span><span style="color: black">[</span><span style="color: blue">CmdletBinding</span><span style="color: black">()]
</span><span style="color: blue">Param</span><span style="color: black">(
    [</span><span style="color: blue">Parameter</span><span style="color: black">(</span><span style="color: blue">Mandatory</span><span style="color: red">=</span><span style="color: blue">$True</span><span style="color: black">)]
    [</span><span style="color: blue">string</span><span style="color: black">]</span><span style="color: purple">$CSVFile       
</span><span style="color: black">)

</span><span style="color: purple">$DAGInfo </span><span style="color: red">= </span><span style="color: #5f9ea0">Import-Csv </span><span style="color: purple">$CSVFile

</span><span style="color: blue">function </span><span style="color: #0000cd">prep_Security{
    
    </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Prepping Security Permissions - Don't do this in PRODUCTION!&quot; </span><span style="color: #5f9ea0">-Foregroundcolor </span><span style="color: blue">Cyan
    
    </span><span style="color: green"># Add the domain controller to the Ex Trusted SS group
    # Not a good thing to do - only doing this as its a LAB
    
    </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Adding Domain Controller to Exchange Trusted Subsystem&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Green
    
    </span><span style="color: purple">$LABDomainDN </span><span style="color: red">= </span><span style="color: black">(</span><span style="color: #5f9ea0">Get-ADDomain</span><span style="color: black">).</span><span style="color: #8b4513">DistinguishedName
    </span><span style="color: purple">$LABDC </span><span style="color: red">= </span><span style="color: black">(</span><span style="color: #5f9ea0">Get-ADComputer -Filter </span><span style="color: red">* </span><span style="color: #5f9ea0">-SearchBase </span><span style="color: maroon">&quot;OU=Domain Controllers,$LABDomainDN&quot;</span><span style="color: black">).</span><span style="color: #8b4513">DistinguishedName
    </span><span style="color: #5f9ea0">Add-ADGroupMember </span><span style="color: maroon">&quot;Exchange Trusted Subsystem&quot; </span><span style="color: purple">$LABDC
    
    </span><span style="color: green"># Add Ex Trusted SS to Builtin\Administrators
    
    </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Exchange Trusted Subsystem to Builtin\Administrators&quot; </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Green
    
    </span><span style="color: #5f9ea0">Add-ADGroupMember </span><span style="color: maroon">&quot;Administrators&quot; &quot;Exchange Trusted Subsystem&quot;

</span><span style="color: black">}

</span><span style="color: blue">function </span><span style="color: #0000cd">new_Dag{

    </span><span style="color: blue">param</span><span style="color: black">(
    
    </span><span style="color: purple">$DAGName</span><span style="color: black">,</span><span style="color: purple">$WitServerName</span><span style="color: black">,</span><span style="color: purple">$WitnessDir</span><span style="color: black">,</span><span style="color: purple">$DAGIP
    
    </span><span style="color: black">)
    </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Creating the DAG&quot; </span><span style="color: #5f9ea0">-foregroundColor </span><span style="color: blue">Green
    </span><span style="color: #5f9ea0">New-DatabaseAvailabilityGroup -name </span><span style="color: purple">$DAGName </span><span style="color: #5f9ea0">-WitnessServer </span><span style="color: purple">$WitServerName </span><span style="color: #5f9ea0">-WitnessDirectory </span><span style="color: purple">$WitnessDir </span><span style="color: #5f9ea0">-DatabaseAvailabilityGroupIPAddress </span><span style="color: purple">$DAGIP
    
</span><span style="color: black">}

</span><span style="color: blue">function </span><span style="color: #0000cd">add_Members{

    </span><span style="color: blue">param</span><span style="color: black">(
        </span><span style="color: purple">$DAGName</span><span style="color: black">,</span><span style="color: purple">$Server
        
    </span><span style="color: black">)
    </span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Adding DAG Member&quot; </span><span style="color: purple">$Server </span><span style="color: #5f9ea0">-ForeGroundColor </span><span style="color: blue">Green
    </span><span style="color: #5f9ea0">Add-DatabaseAvailabilityGroupServer -id </span><span style="color: purple">$DAGName </span><span style="color: #5f9ea0">-MailboxServer </span><span style="color: purple">$Server

</span><span style="color: black">}

</span><span style="color: green"># Comment out prep_Security for Production Environments

</span><span style="color: blue">prep_Security

new_Dag </span><span style="color: purple">$DAGInfo</span><span style="color: black">.</span><span style="color: #8b4513">DAGName </span><span style="color: purple">$DAGInfo</span><span style="color: black">.</span><span style="color: #8b4513">WitServerName </span><span style="color: purple">$DAGInfo</span><span style="color: black">.</span><span style="color: #8b4513">WitnessDir </span><span style="color: purple">$DAGInfo</span><span style="color: black">.</span><span style="color: #8b4513">DAGIP

</span><span style="color: purple">$Members </span><span style="color: red">= </span><span style="color: #5f9ea0">Get-MailboxServer </span><span style="color: blue">| Select </span><span style="color: #5f9ea0">-expandProperty </span><span style="color: blue">Name

foreach</span><span style="color: black">(</span><span style="color: purple">$SVR </span><span style="color: blue">in </span><span style="color: purple">$Members</span><span style="color: black">){
    
    </span><span style="color: blue">add_members </span><span style="color: purple">$DAGInfo</span><span style="color: black">.</span><span style="color: #8b4513">DAGName </span><span style="color: purple">$SVR

</span><span style="color: black">}

</span><span style="color: purple">$DAGSummary </span><span style="color: red">= </span><span style="color: #5f9ea0">Get-DatabaseAvailabilityGroup </span><span style="color: blue">| Select Name</span><span style="color: black">,</span><span style="color: blue">DatabaseAvailabilityGroupIpAddresses</span><span style="color: black">,</span><span style="color: blue">Servers
</span><span style="color: #5f9ea0">Write-Host </span><span style="color: purple">$DAGSummary </span><span style="color: #5f9ea0">-foregroundcolor </span><span style="color: blue">Cyan
</span><span style="color: #5f9ea0">Write-Host </span><span style="color: maroon">&quot;Script Completed...&quot;</span></pre>
<p>The script performs the following actions:</p>
<ol>
<li>Sets up the relevant permissions to allow for the domain controller to act as the FSW for the DAG. </li>
<li>Takes the data from the DAG configuration CSV file and parses it to the relevant functions in the script. </li>
<li>The relevant functions will: Create the DAG, Add the Mailbox Servers as members of the DAG. </li>
</ol>
<p>When a member server is added to the DAG – the <span style="color: #5f9ea0">Add-DatabaseAvailabilityGroupServer <font color="#000000">cmdlet will automatically install the Failover Clustering Service on each node.</font></span></p>
<h2>Download</h2>
<p>You can download the above script and a sample CSV file from the links below</p>
<p><img alt="" src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [<a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL2V4Y2hhbmdlMjAxMy9Db25maWd1cmVEQUcyMDEzLnBzMQ==" target=\"_blank\">Configure Exchange 2013 DAG Script – 2.4KB</a> ]</p>
<p><img title="CSVIco" alt="CSVIco" src="http://www.telnetport25.com/wp-content/uploads/2013/02/CSVIco.png" width="47" height="50" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL2V4Y2hhbmdlMjAxMy9EYWdEYXRhLmNzdg==" target=\"_blank\">Sample DAG Configuration CSV 0.9KB</a> ]</p>
<h2>Using the Script</h2>
<p>On art-MBXCAS-01 open an Exchange Management Shell. Navigate to the location where you either created the script file, or downloaded it and type in:</p>
<pre>.\ConfigureDAG2013.ps1 –CSVFile .\NameOfDAGCSVFile</pre>
<p>If you downloaded the file you will need to ensure that the PowerShell execution policy is set to “<strong><em>RemoteSigned</em></strong>” – see <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDIvcXVpY2stdGlwLXJ1bm5pbmctZXhjaGFuZ2UtYmFzZWQtcG93ZXJzaGVsbC1zY3JpcHQtZmlsZXMtZnJvbS10aGUtY29tbWFuZC1saW5lLW9yLWEtYmF0Y2gtZmlsZS8=" target=\"_blank\">here</a> for further information.</p>
<p><img title="03-03-201320-16-50" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="03-03-201320-16-50" src="http://www.telnetport25.com/wp-content/uploads/2013/03/03-03-201320-16-50.png" width="527" height="97" /></p>
<p>When you hit the <strong>&lt;Enter&gt;</strong> key the script will begin the process of querying the CSV file and creating the DAG. All of the Servers within our LAB (as they are hold the Mailbox server role) will be added as members – see below.</p>
<p><img title="03-03-201320-17-14" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="03-03-201320-17-14" src="http://www.telnetport25.com/wp-content/uploads/2013/03/03-03-201320-17-14.png" width="590" height="139" /></p>
<p>When the script has completed you will be presented with a summary of the configuration. During execution you might see warning messages which suggest that access has been denied to the FSW – these can be ignored.</p>
<p><img title="03-03-201320-18-49" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="03-03-201320-18-49" src="http://www.telnetport25.com/wp-content/uploads/2013/03/03-03-201320-18-49.png" width="590" height="129" /></p>
<p>When the script has completed you can review the configuration via the Exchange Administrative Centre or from the Management Shell – see below:</p>
<p><img title="03-03-201320-50-37" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="03-03-201320-50-37" src="http://www.telnetport25.com/wp-content/uploads/2013/03/03-03-201320-50-37.png" width="590" height="111" /></p>
<p>Or in the EAC:</p>
<p><img title="03-03-201320-51-58" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="03-03-201320-51-58" src="http://www.telnetport25.com/wp-content/uploads/2013/03/03-03-201320-51-58.png" width="552" height="356" /></p>
<h2>In the next part</h2>
<p>In part 7 I will be covering the following:</p>
<ul>
<li>Creating our LAB Databases and adding them to our DAG</li>
<li>Configuring Autodiscover, EWS, OWA and other IIS URI’s with the CA that we installed in <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0zLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItY2EtaW5zdGFsbGF0aW9uLw==" target=\"_blank\">Part 3</a></li>
</ul>
<div class="shr-publisher-1785"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDMvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC02LWNvbmZpZ3VyaW5nLWEtZGFnLw==" data-shr_title='Building+an+Exchange+2013+LAB+Environment+using+Windows+Server+2012+from+scratch+%26ndash%3B+Part+6%3A+Configuring+a+DAG%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1785" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/03/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-6-configuring-a-dag/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building an Exchange 2013 LAB Environment using Windows Server 2012 from scratch &#8211; Part 5: Installing your first Exchange 2013 Server&#8230;</title>
		<link>http://www.telnetport25.com/2013/02/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-5-installing-your-first-exchange-2013-server/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-5-installing-your-first-exchange-2013-server</link>
		<comments>http://www.telnetport25.com/2013/02/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-5-installing-your-first-exchange-2013-server/#comments</comments>
		<pubDate>Sat, 23 Feb 2013 15:11:46 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Exchange 2013 (Installation)]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Test Labs]]></category>
		<category><![CDATA[Windows Hyper-V Server 2012]]></category>
		<category><![CDATA[Windows Server 2012 [ Install ]]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Powerhshell]]></category>
		<category><![CDATA[Windows Server 2012]]></category>
		<category><![CDATA[Windows Server 2012 Active Directory]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1748</guid>
		<description><![CDATA[As a quick re-cap from what we have covered so far in this series: Part 1 We established our domain design, covered how to provision the Domain Controller for the LAB in Hyper-V and then how to install Windows Server 2012 on the Domain Controller. Part 2 We went through the process of installing Active [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>As a quick re-cap from what we have covered so far in this series:</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0xLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItb3MtaW5zdGFsbC8=" target=\"_blank\">Part 1</a></p>
<p>We established our domain design, covered how to provision the Domain Controller for the LAB in Hyper-V and then how to install Windows Server 2012 on the Domain Controller.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0yLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItYWQtaW5zdGFsbGF0aW9uLw==" target=\"_blank\">Part 2</a></p>
<p>We went through the process of installing Active Directory Domain Services on the LAB domain controller using PowerShell.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0zLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItY2EtaW5zdGFsbGF0aW9uLw==" target=\"_blank\">Part 3</a></p>
<p>We covered how you can install a very simple PKI infrastructure on the domain controller using Active Directory Certificate Services. These will be used in a later part to configure SSL for various parts of Exchange 2013.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC00LXByb3Zpc2lvbmluZy15b3VyLWV4Y2hhbmdlLXNlcnZlcnMv" target=\"_blank\">Part 4</a></p>
<p>We covered how to use PowerShell to provision Exchange server VM’s in the lab, and went through the pre-requisite software installation.</p>
<p>In this part (5) of the series I will take you through the process of installing Exchange on the first Client Access and Mailbox Server <strong>art-MBXCAS-01</strong> – this includes Active Directory and Organization preparation. I will then round off with explaining how you can then go onto complete the installation on the remaining servers.</p>
<h2>Installing Exchange</h2>
<p>Before you begin the setup process ensure that there are no pending reboots from any other installations (<em><strong>for example </strong>Windows Update or Role / Feature installations</em>). Failure to do so may result in the following error message being presented within Exchange Setup.</p>
<pre>Performing Microsoft Exchange Server Prerequisite Check
Prerequisite Analysis - FAILED
There is a pending reboot from a previous installation of a Windows Server role or feature. Please restart the computer and then run Setup again.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.PendingRebootWindowsComponents.aspx
The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log located in the &lt;SystemDrive&gt;:\ExchangeSetupLogs folder.</pre>
<h3>Required Permissions</h3>
<p>Although this is a lab, and if you have been following this guide closely you should already have the required permissions to install Exchange. However for the sake of completeness make sure that the account that you are logged on with has the following permissions:</p>
<ul>
<li>Schema Admins </li>
<li>Enterprise Admins </li>
</ul>
<p>Open an elevated command prompt and navigate to the folder (or drive) where you have the Exchange 2013 media located. Then type in the following command line:</p>
<pre>setup.exe/prepareAD /OrganizationName:artTest /IAcceptExchangeServerLicenseTerms</pre>
<p><img title="10-02-201311-51-01" style="display: inline" alt="10-02-201311-51-01" src="http://www.telnetport25.com/wp-content/uploads/2013/02/10-02-201311-51-01.png" width="600" height="107" /></p>
<p>This will begin the process of Organisational Preparation. Specifically by using the /prepareAD switch the following is completed (summarised from TechNet <a title=\"http://technet.microsoft.com/en-us/library/bb125224.aspx\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2JiMTI1MjI0LmFzcHg=">http://technet.microsoft.com/en-us/library/bb125224.aspx</a>):</p>
<ul>
<li>If the Microsoft Exchange container doesn&#8217;t exist, this command creates it under CN=Services,CN=Configuration,DC=&lt;<em>root domain</em>&gt;. </li>
<li>Verifies that the schema has been updated and that the organization is up to date by checking the <strong>objectVersion</strong> property in Active Directory. The <strong>objectVersion</strong> property is in the CN=&lt;<em>your organization</em>&gt;,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=&lt;<em>domain</em>&gt; container. The <strong>objectVersion</strong> value for Exchange 2013 is 15449. </li>
<li>Sets the <strong>msExchProductId</strong> of the Exchange organization object to 15.00.0516.032. The <strong>msExchProductId</strong> property is in the CN=<em>&lt;your organization&gt;</em>,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=&lt;<em>domain</em>&gt; container. </li>
<li>If the Exchange Organisation containers don&#8217;t exist they are created. </li>
<li>If it doesn&#8217;t exist, creates the default Accepted Domains entry, based on the forest root namespace, under CN=Transport Settings,CN=&lt;<em>Organization Name</em>&gt;,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=&lt;<em>root domain</em>&gt;. </li>
<li>Assigns specific permissions throughout the configuration partition. </li>
<li>Imports the Rights.ldf file. This adds the extended rights required for Exchange to install into Active Directory. </li>
<li>Creates the Microsoft Exchange Security Groups organizational unit (OU) in the root domain of the forest and assigns specific permissions on this OU. </li>
<li>Creates the relevant management groups within the Microsoft Exchange Security Groups OU </li>
<li>Adds the new universal security groups (USGs) that are within the Microsoft Exchange Security Groups OU to the <strong>otherWellKnownObjects</strong> attribute stored on the CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=&lt;<em>root domain</em>&gt; container. </li>
<li>Creates the Unified Messaging Voice Originator contact in the Microsoft Exchange System Objects container of the root domain. </li>
<li>Prepares the local domain for Exchange 2013. </li>
</ul>
<p><img title="10-02-201312-41-44" style="display: inline" alt="10-02-201312-41-44" src="http://www.telnetport25.com/wp-content/uploads/2013/02/10-02-201312-41-44.png" width="677" height="343" /></p>
<p>When the preparation has been completed you will be returned to the administrative command prompt. If you have provisioned more than one domain controller in your LAB – you should wait for Active Directory replication to complete (<em>as the setup process creates a number of schema changes and objects</em>). You don’t have to – but a reboot of the Exchange Server can also be useful at this point.</p>
<p><img title="10-02-201312-44-20" style="display: inline" alt="10-02-201312-44-20" src="http://www.telnetport25.com/wp-content/uploads/2013/02/10-02-201312-44-20.png" width="677" height="343" /></p>
<p>If you have rebooted, logon to your first Exchange server and open up an Administrative command prompt and navigate back to the location of the Exchange 2013 installation media. This time we are going to install the relevant roles on the Server as per the design that we earmarked in <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0xLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItb3MtaW5zdGFsbC8=">article 1</a>.</p>
<p>Here we are going to use Setup.exe with a number of command line switches (unattended mode):</p>
<ul>
<li><strong>/Mode:Install</strong> – sets the setup program to run in install mode (perhaps that was obvious ~ the other option is <strong>uninstall</strong>) </li>
<li><strong>/Role:ClientAccess,Mailbox</strong> – the two roles that we want to host on the server </li>
<li><strong>/MdbName:GeneralStore </strong>– this allows for us to specify a name for the default store that is created during setup, if we don’t include this Exchange will create a generic named store </li>
<li><strong>/DbFilePath:&lt;PathToEdbFile&gt;\General.edb</strong> – places the default store in the a different location to the default which is located under the Exchange installation path </li>
<li><strong>/LogFolderPath:&lt;PathToLogs&gt; </strong>– places the transaction logs in a different location to the default which is located under the Exchange installation path </li>
<li><strong>/IAcceptExchangeServerLicensingTerms</strong> – does what it says on the tin! </li>
</ul>
<p>So given the above, our (my) command line looks like the following:</p>
<pre style="height: 52px; width: 682px">Setup.exe /mode:Install /role:ClientAccess,Mailbox /MdbName:GeneralStore /DbFilePath:X:\ExchangeDBs\General\GeneralStore.edb /LogFolderPath:X:\ExchangeLogs\General /IAcceptExchangeServerLicenseTerms</pre>
<p><img title="10-02-201312-49-55" style="display: inline" alt="10-02-201312-49-55" src="http://www.telnetport25.com/wp-content/uploads/2013/02/10-02-201312-49-55.png" width="677" height="149" /></p>
<p>Once you have hit the &lt;Enter&gt; key – Exchange setup will then go away and complete the installation process:</p>
<p><img title="10-02-201312-50-40" style="display: inline" alt="10-02-201312-50-40" src="http://www.telnetport25.com/wp-content/uploads/2013/02/10-02-201312-50-40.png" width="677" height="343" /></p>
<p>Once Exchange setup has finished, you will be presented with output that should look similar to that below:</p>
<p><img title="10-02-201313-17-08" style="display: inline" alt="10-02-201313-17-08" src="http://www.telnetport25.com/wp-content/uploads/2013/02/10-02-201313-17-08.png" width="677" height="595" /></p>
<p>It is always a good idea to reboot the server at this point to completely finalise the setup.</p>
<h2>Checking your Exchange Installation</h2>
<p>When your Exchange Server has rebooted open Internet Explorer on the server and type in the following address:</p>
<pre>https://localhost/ecp </pre>
<p>You should then be presented with the Exchange Administrative Centre logon screen:</p>
<p><img title="23-02-201314-34-47" style="display: inline" alt="23-02-201314-34-47" src="http://www.telnetport25.com/wp-content/uploads/2013/02/23-02-201314-34-471.png" width="641" height="264" /></p>
<p>Using the administrator account – provide the logon details on the above screen which should then take you into the Admin Interface. Navigate to Servers (<em>from the option on the left hand side of the screen</em>) and check to see if your server appears as expected. I also recommend that you have a browse around to familiarise yourself wit a number of other features that are available within the interface.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzAyLzIzLTAyLTIwMTMxNC0zOS00OC5wbmc="><img title="23-02-201314-39-48" style="display: inline" alt="23-02-201314-39-48" src="http://www.telnetport25.com/wp-content/uploads/2013/02/23-02-201314-39-48_thumb.png" width="610" height="417" /></a></p>
<h2>Configuring the Servers Secondary Interface</h2>
<p>The scripts that we used to provision the Exchange Servers will have created two network adapters. One of the adapters is used for Public Network communications (Clients etc.) and the other is used as the replication interface (this is marked on the diagram and the 10.0.0.x address into the private V-Switch. I recommend that you rename the interfaces on your LAB servers so that their purposes are marked.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzAyLzIzLTAyLTIwMTMxNC01Ny00OC5wbmc="><img title="23-02-201314-57-48" style="display: inline" alt="23-02-201314-57-48" src="http://www.telnetport25.com/wp-content/uploads/2013/02/23-02-201314-57-48_thumb.png" width="569" height="215" /></a></p>
<p>Assign the replication interface (on <strong>art-MBXCAS-01</strong>) the relevant private IP address range that you have assigned within your own LAB environment. In mine I have used the following:</p>
<ul>
<li>IP Address = 10.0.0.1 </li>
<li>Mask = 255.255.252.0 </li>
</ul>
<p>You should also configure you settings on this replication interface to match the following <strong><u>Advanced</u></strong> configuration items on the following tabs:</p>
<h3>DNS Tab</h3>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzAyLzIzLTAyLTIwMTMxNS0xOC01NC5wbmc="><img title="23-02-201315-18-54" style="display: inline" alt="23-02-201315-18-54" src="http://www.telnetport25.com/wp-content/uploads/2013/02/23-02-201315-18-54_thumb.png" width="414" height="495" /></a></p>
<h3>WINS</h3>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzAyLzIzLTAyLTIwMTMxNS0yMC0zMy5wbmc="><img title="23-02-201315-20-33" style="display: inline" alt="23-02-201315-20-33" src="http://www.telnetport25.com/wp-content/uploads/2013/02/23-02-201315-20-33_thumb.png" width="414" height="495" /></a></p>
<h2>Installing Exchange on the remaining Servers</h2>
<p>You we are now in a position to install Exchange on the remaining servers within the infrastructure – at this point our LAB should look like the following.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzAyL1NjaGVtYXRpY1Byb2dyZXNzUGFydDUucG5n"><img title="SchematicProgressPart5" style="display: inline" alt="SchematicProgressPart5" src="http://www.telnetport25.com/wp-content/uploads/2013/02/SchematicProgressPart5_thumb.png" width="703" height="494" /></a></p>
<p>We should have the following servers left to install Exchange 2013 on:</p>
<ul>
<li>art-MBXCAS-02 </li>
<li>art-MBX-01 </li>
</ul>
<h2>art-MBXCAS-02</h2>
<p>You should follow the exact same process that has been provided in this article, with the following changes:</p>
<ul>
<li>You do not need to run the organisation preparation command: </li>
</ul>
<pre>setup.exe/prepareAD /OrganizationName:artTest /IAcceptExchangeServerLicenseTerms</pre>
<ul>
<li>You should only run the install roles command of: </li>
</ul>
<pre style="height: 52px; width: 682px">Setup.exe /mode:Install /role:ClientAccess,Mailbox /MdbName:GeneralStore02 /DbFilePath:X:\ExchangeDBs\General02\GeneralStore02.edb /LogFolderPath:X:\ExchangeLogs\General02 /IAcceptExchangeServerLicenseTerms</pre>
<ul>
<li>When you configure the replication interface on art-MBXCAS-02 you should provide the next available address in your private range, for example in my LAB this is:
<ul>
<li>10.0.0.2 </li>
</ul>
</li>
</ul>
<h2>art-MBX-01</h2>
<p>Again, you should follow the exact same processes that have been described in this article – only with the following changes:</p>
<ul>
<li>You do not need to run the organisation preparation command: </li>
</ul>
<pre>setup.exe/prepareAD /OrganizationName:artTest /IAcceptExchangeServerLicenseTerms</pre>
<ul>
<li>You should only run the install roles command of: </li>
</ul>
<pre style="height: 52px; width: 682px">Setup.exe /mode:Install /role:Mailbox /MdbName:GeneralStore03 /DbFilePath:X:\ExchangeDBs\General03\GeneralStore03.edb /LogFolderPath:X:\ExchangeLogs\General03 /IAcceptExchangeServerLicenseTerms</pre>
<p>This will ensure that only the Mailbox role is installed.</p>
<p>When you configure the replication interface <strong>on art-MBX-01</strong> you should provide the next available address in your private range, for example in my LAB this is: </p>
<ul>
<li>10.0.0.3 </li>
</ul>
<h2>In the next part</h2>
<p>I will be covering the following aspects of the Exchange configuration:</p>
<ul>
<li>Configuring the Database Availability Groups for the LAB. </li>
</ul>
<div class="shr-publisher-1748"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC01LWluc3RhbGxpbmcteW91ci1maXJzdC1leGNoYW5nZS0yMDEzLXNlcnZlci8=" data-shr_title='Building+an+Exchange+2013+LAB+Environment+using+Windows+Server+2012+from+scratch+%26ndash%3B+Part+5%3A+Installing+your+first+Exchange+2013+Server%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1748" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/02/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-5-installing-your-first-exchange-2013-server/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>OOOCTA (Out of Office Configuration Assistant) &#8211; Version 4.1</title>
		<link>http://www.telnetport25.com/2013/02/ooocta-out-of-office-configuration-assistant-version-4-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ooocta-out-of-office-configuration-assistant-version-4-1</link>
		<comments>http://www.telnetport25.com/2013/02/ooocta-out-of-office-configuration-assistant-version-4-1/#comments</comments>
		<pubDate>Thu, 21 Feb 2013 20:19:56 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2010 (Admin)]]></category>
		<category><![CDATA[Exchange 2010 (General)]]></category>
		<category><![CDATA[Exchange Programming .NET]]></category>
		<category><![CDATA[OOOCTA]]></category>
		<category><![CDATA[Out of Office]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[OOOCTA Version 4.1]]></category>
		<category><![CDATA[Out of Office Congfiguration Tool]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1760</guid>
		<description><![CDATA[Recently I released version 4.0 of the OOOCTA, which was a complete re-write of version 3.5 which some years ago (which is now no longer supported). I have had some really great feedback from readers of the site which I have decided to roll up into a .1 incremental release from version 4.0. Specific enhancements [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Recently <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvb29vY3RhLW91dC1vZi1vZmZpY2UtY29uZmlndXJhdGlvbi1hc3Npc3RhbnQtdmVyc2lvbi00LTAv">I released version 4.0 of the OOOCTA</a>, which was a complete re-write of <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTEvMDQvb29vY3RhLTMtNS1hcHBsaWNhdGlvbi1kb3dubG9hZC8=">version 3.5</a> which some years ago (<em>which is now no longer supported</em>). I have had some really great feedback from readers of the site which I have decided to roll up into a .1 incremental release from <strong>version 4.0</strong>.</p>
<p>Specific enhancements in version 4.1 are:</p>
<ul>
<li><b>BUG FIX:</b> Fixed problem with an Exception being thrown when either the Internal or External Message contains either a &#8216; or &quot; </li>
<li><b>New Feature:</b> Added in the ability to configure the target audience for external replies (All, Contacts or None) </li>
<li><b>New Feature:</b> Added in an operational status which reports the result of a configuration change. </li>
</ul>
<p>I have also updated the <strong>installation and users guide</strong> to reflect the upgrade process from version 4.0 to 4.1 and the new functionality.</p>
<p>Version 4.0 is still available for download from the original article, however I will be retiring it in the next few weeks.</p>
<h2>Pre-Requisites</h2>
<p>The following are the pre-requisites for the OOOCTA version 4.1.</p>
<ul>
<li>Windows Server 2008 R2. </li>
<li>IIS 7.0. </li>
<li>.NET Framework 3.5 or above. </li>
<li>Exchange 2010 Service Pack 2 or above. </li>
<li>Exchange 2010 Management Tools installed on the primary OOOCTA server. </li>
<li>The OOOCTA Application Service Account will require Exchange Organization Management rights, you will also need the account that you use to install the software has these rights as well. </li>
</ul>
<p>It is recommended that you install the OOOCTA on a Client Access Server within your environment. Whereas this is not essential to the operation of the tool – it makes the setup easier.</p>
<h2>Download</h2>
<p>You can download both the OOOCTA v 4.0 and the Installation and Users guide from the following locations.</p>
<p><img title="cntMstr006" border="0" alt="cntMstr006" src="http://www.telnetport25.com/wp-content/uploads/2011/09/cntMstr006.jpg" width="53" height="53" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvb29vY3RhdjQvT09PQ1RBLVY0LjEtU2V0dXAuZXhl">OOOCTA v 4.1 for Exchange 2010 – 196KB</a> ]</p>
<p><img alt="adobe" src="http://www.telnetport25.com/images/stories/legimages/Icons/adobe.jpg" width="40" height="40" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvb29vY3RhdjQvT09PQ1RBdjQuMS1JbnN0YWxsYXRpb25Vc2Vyc0d1aWRlLnBkZg==">OOOCTA v 4.1 Installation and Users Guide – 1.1 MB</a> ]</p>
<p>I hope that you enjoy OOOCTA 4.1, and of course value your feedback.</p>
<div class="shr-publisher-1760"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvb29vY3RhLW91dC1vZi1vZmZpY2UtY29uZmlndXJhdGlvbi1hc3Npc3RhbnQtdmVyc2lvbi00LTEv" data-shr_title='OOOCTA+%28Out+of+Office+Configuration+Assistant%29+%26ndash%3B+Version+4.1'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1760" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/02/ooocta-out-of-office-configuration-assistant-version-4-1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Quick Tip &#8211; Mapping mailboxes to forwarding contacts</title>
		<link>http://www.telnetport25.com/2013/02/quick-tip-mapping-mailboxes-to-forwarding-contacts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=quick-tip-mapping-mailboxes-to-forwarding-contacts</link>
		<comments>http://www.telnetport25.com/2013/02/quick-tip-mapping-mailboxes-to-forwarding-contacts/#comments</comments>
		<pubDate>Fri, 15 Feb 2013 20:00:23 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2010 (Admin)]]></category>
		<category><![CDATA[Exchange 2010 (General)]]></category>
		<category><![CDATA[Exchange 2010 (Mailbox)]]></category>
		<category><![CDATA[Exchange 2013 (Admin)]]></category>
		<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[CSV file]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Managing Mailbox Forwaders]]></category>
		<category><![CDATA[Managing Mailbox Forwarding using Powershell]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1755</guid>
		<description><![CDATA[A reader of my blog contacted me the other day with the following question: I am a contractor at my company which is being broken up because of investment developments. I need to do the following. Company has about 4200 users total About 1300 have gone to another company almost all of these have normal [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>A reader of my blog contacted me the other day with the following question:</p>
<blockquote><p>I am a contractor at my company which is being broken up because of investment developments. I need to do the following.</p>
<p>Company has about <b>4200</b> users total</p>
<p>About <b>1300</b> have gone to another company almost all of these have normal mailboxes in our existing organisation</p>
<ul>
<li>They want to create <b>mail enabled contacts</b> for these users (that is why I downloaded your Contact Master Tool as it looks like it will work great for that</li>
<li>In their mailboxes they want to check the <b>forward to</b> also put in the <b>forward to address</b></li>
</ul>
<p>I think I am going to have to run Contact Master to do the contacts and run another script to do the “Forward Items” &#8211; is my thinking correct?</p>
<p>Is there a PowerShell script that you could help me with to take care of the checkbox and forward address?.</p></blockquote>
<p>The good news is that this is very easy using PowerShell and a simple CSV file.</p>
<h2>Structure of the CSV file</h2>
<p>In order to use the script within this post you will need to build a CSV file that contains the following headers:</p>
<ul>
<li><strong>Mailbox</strong> – This is the alias of the Mailbox on your Exchange Server that you want to configure the forwarder for.</li>
<li><strong>Forwarder – </strong>This is the alias of the contact that you wish to forward the mail onto.</li>
</ul>
<p>And then add in the relevant Mailbox and Contact aliases – <strong><em>see below</em></strong></p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzAyLzE1LTAyLTIwMTMxOS0zOC0zMy5wbmc="><img style="float: none; margin-left: auto; display: block; margin-right: auto;" title="15-02-201319-38-33" alt="15-02-201319-38-33" src="http://www.telnetport25.com/wp-content/uploads/2013/02/15-02-201319-38-33_thumb.png" width="251" height="118" /></a></p>
<h2>The script</h2>
<p>The following script can be pasted into a new PS1 file on your Exchange Server.</p>
<pre class="code"><span style="color: black;">[</span><span style="color: blue;">CmdletBinding</span><span style="color: black;">()]
</span><span style="color: blue;">Param</span><span style="color: black;">(
    [</span><span style="color: blue;">Parameter</span><span style="color: black;">(</span><span style="color: blue;">Mandatory</span><span style="color: red;">=</span><span style="color: blue;">$True</span><span style="color: black;">)]
    [</span><span style="color: blue;">string</span><span style="color: black;">]</span><span style="color: purple;">$CSVFile</span><span style="color: black;">,[</span><span style="color: blue;">Parameter</span><span style="color: black;">(</span><span style="color: blue;">Mandatory</span><span style="color: red;">=</span><span style="color: blue;">$True</span><span style="color: black;">)]
       [</span><span style="color: blue;">boolean</span><span style="color: black;">]</span><span style="color: purple;">$DeliverToMailboxAndForward
</span><span style="color: black;">)

</span><span style="color: purple;">$FileName </span><span style="color: red;">= </span><span style="color: purple;">$CSVFile
$UserInformation </span><span style="color: red;">= </span><span style="color: #5f9ea0;">Import-Csv </span><span style="color: purple;">$FileName

</span><span style="color: blue;">Foreach </span><span style="color: black;">(</span><span style="color: purple;">$User </span><span style="color: blue;">in </span><span style="color: purple;">$UserInformation</span><span style="color: black;">){

    </span><span style="color: purple;">$Mailbox </span><span style="color: red;">= </span><span style="color: purple;">$User</span><span style="color: black;">.</span><span style="color: #8b4513;">Mailbox
    </span><span style="color: purple;">$Forwarder </span><span style="color: red;">= </span><span style="color: purple;">$User</span><span style="color: black;">.</span><span style="color: #8b4513;">Forwarder

    </span><span style="color: #5f9ea0;">Set-Mailbox -Identity </span><span style="color: purple;">$Mailbox </span><span style="color: #5f9ea0;">-ForwardingAddress </span><span style="color: purple;">$Forwarder </span><span style="color: #5f9ea0;">-DeliverToMailboxAndForward </span><span style="color: purple;">$DeliverToMailboxAndForward

</span><span style="color: black;">}
</span><span style="color: #5f9ea0;">Write-Host </span><span style="color: maroon;">"Script Completed..." </span><span style="color: #5f9ea0;">-ForegroundColor </span><span style="color: blue;">Green</span></pre>
<h2>Running the script</h2>
<p>The script <strong><span style="text-decoration: underline;">requires two parameters</span></strong> which are as follows:</p>
<ul>
<li><strong>CSVFile</strong> – This is the path to the CSV file that contains the mappings.</li>
<li><strong>DeliverToMailboxAndForward</strong> – The value should either be $True or $False – if you select $True then messages will be delivered to the local mailbox and to the forwarder, if you select $false if you only wish for the mails to be sent onwards.</li>
</ul>
<p>You can run the script by using the following format:</p>
<pre>.\&lt;name that you have given the script&gt; –CSVFile &lt;path to CSV&gt; –DeliverToMailboxAndForward</pre>
<p>If you need assistance – you can refer to the following post which explains how you can run PowerShell script files: <a title=\"http://www.telnetport25.com/2012/02/quick-tip-running-exchange-based-powershell-script-files-from-the-command-line-or-a-batch-file/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDIvcXVpY2stdGlwLXJ1bm5pbmctZXhjaGFuZ2UtYmFzZWQtcG93ZXJzaGVsbC1zY3JpcHQtZmlsZXMtZnJvbS10aGUtY29tbWFuZC1saW5lLW9yLWEtYmF0Y2gtZmlsZS8=">http://www.telnetport25.com/2012/02/quick-tip-running-exchange-based-powershell-script-files-from-the-command-line-or-a-batch-file/</a></p>
<p>When the script has executed you should see the following output:</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzAyLzE1LTAyLTIwMTMxOS00OS00MC5wbmc="><img style="float: none; margin-left: auto; display: block; margin-right: auto;" title="15-02-201319-49-40" alt="15-02-201319-49-40" src="http://www.telnetport25.com/wp-content/uploads/2013/02/15-02-201319-49-40_thumb.png" width="560" height="74" /></a></p>
<p>Hope that someone finds this useful.</p>
<div class="shr-publisher-1755"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvcXVpY2stdGlwLW1hcHBpbmctbWFpbGJveGVzLXRvLWZvcndhcmRpbmctY29udGFjdHMv" data-shr_title='Quick+Tip+-+Mapping+mailboxes+to+forwarding+contacts'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1755" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/02/quick-tip-mapping-mailboxes-to-forwarding-contacts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OOOCTA (Out of Office Configuration Assistant) &#8211; Version 4.0</title>
		<link>http://www.telnetport25.com/2013/02/ooocta-out-of-office-configuration-assistant-version-4-0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ooocta-out-of-office-configuration-assistant-version-4-0</link>
		<comments>http://www.telnetport25.com/2013/02/ooocta-out-of-office-configuration-assistant-version-4-0/#comments</comments>
		<pubDate>Sat, 09 Feb 2013 17:39:47 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange Programming .NET]]></category>
		<category><![CDATA[OOOCTA]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[OOOCTA Version 4.0]]></category>
		<category><![CDATA[Out of Office]]></category>
		<category><![CDATA[Out of Office Congfiguration Tool]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1741</guid>
		<description><![CDATA[A long time ago (in a Galaxy far, far away) I released a tool for Exchange 2007 called the OOOCTA. In essence the OOOCTA allowed for administrators to delegate (via a web interface) the configuration and reporting of Out of Office. To be honest, this tool was a little … clunky. Don’t get me wrong [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>A long time ago (<em>in a Galaxy far, far away</em>) I released a tool for Exchange 2007 called the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTEvMDMvb29vY3RhLTMtNS0lZTIlODAlOTMtcmVsZWFzZWQlZTIlODAlOTMtb3ZlcnZpZXctaW5zdGFsbGF0aW9uLWFuZC12aWRlby10YXBlJWUyJTgwJTkzLXBhcnQtMSVlMiU4MCVhNi8=" target=\"_blank\">OOOCTA</a>. In essence the OOOCTA allowed for administrators to delegate (<em>via a web interface</em>) the configuration and reporting of Out of Office.</p>
<p>To be honest, this tool was a little … <strong><em>clunky</em></strong>. Don’t get me wrong – it did work, but at the same time suffered from a number of bugs that I struggled to eliminate from the code. Some people downloaded it and tried to use it with mixed fortunes – but the long and short of it was it was a victim of its own complexity.</p>
<p>I did try and support as many people as I could – but one of the odd things that I found was that despite it being a pretty standard install, no two environments seemed to exhibit the same problems – there were some that never had an issue (<em>and are still using it today</em>), whilst others had to abandon it.</p>
<p>You see, in Exchange 2007 there is no direct way to set, modify or report on a users Out of Office settings. <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTEvMDMvb29vY3RhLTMtNS0lZTIlODAlOTMtcmVsZWFzZWQlZTIlODAlOTMtb3ZlcnZpZXctaW5zdGFsbGF0aW9uLWFuZC12aWRlby10YXBlJWUyJTgwJTkzLXBhcnQtMSVlMiU4MCVhNi8=" target=\"_blank\">The OOOCTA (version 3.5)</a> used the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2V4Y2hhbmdlL2RkNjMzNzA5KHY9ZXhjaGcuODApLmFzcHg=" target=\"_blank\">Exchange EWS API</a> to set OOF configurations via an agent service which ran on one of the Exchange servers in an organisation. This agent would take input from a SQL database (<em>which contained the users which the admin wish to set the OOF for</em>) – assigned permissions to the mailbox, and using the EWS API &#8211; change the OOF configuration and then remove the permissions. Sounds simple enough – but in practice, it was a flawed design and suffered from a number of reliability problems.</p>
<p>The root issue was assigning permissions to the Mailbox to allow for the OOF to be modified. In Exchange 2007 you had to be the mailbox owner (or have full permissions) in order for the EWS code logic to work – I wrote more about this here: <a title=\"http://www.telnetport25.com/2012/01/exchange-2010-out-of-office-fun-with-set-mailboxautoreplyconfiguration/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDEvZXhjaGFuZ2UtMjAxMC1vdXQtb2Ytb2ZmaWNlLWZ1bi13aXRoLXNldC1tYWlsYm94YXV0b3JlcGx5Y29uZmlndXJhdGlvbi8=">http://www.telnetport25.com/2012/01/exchange-2010-out-of-office-fun-with-set-mailboxautoreplyconfiguration/</a>.</p>
<p>You see, by changing the permissions on the mailbox (<em>which the OOOCTA Command Processor Service did in version 3.5</em>) – you had to wait for the permissions to take effect (<em>if you had more than one than domain controller</em>). This meant that it could be difficult for the OOOCTA to set the OOF on the first service pass (<em>the service queried the OOOCTA SQL Database at a predefined interval</em>). Sometimes and for reasons that I still don’t fully understand – it would miss some entries in the database completely, resulting in having to pour over the OOOCTA logs, and sometimes completely clear the database and start again.</p>
<p>Since the release of OOOCTA 3.5; I have been thinking long and hard about to future of OOOCTA being supported on <strong>Exchange 2007</strong> – and I have decided to drop the tool for that version of Exchange.</p>
<p>There are a few reasons for this, but the main one being that with the release of Exchange 2013 – Exchange 2007 (<em>whilst stull supported by Microsoft</em>) is two clear versions down on the current release.</p>
<p>Furthermore fast forwarding to <strong>Exchange 2010 Service Pack 1</strong> and Microsoft introduced two new cmdlets:</p>
<ul>
<li>Get-MailboxAutoReplyConfiguration </li>
<li>Set-MailboxAutoReplyConfiguration </li>
</ul>
<p>Which can be executed in the context of RBAC role – meaning that we can natively change the OOF settings on a mailbox without having to install the EWS or modify mailbox permissions.</p>
<p>Given the above, I would like to present to you <strong>OOOCTA – Version 4.0</strong> for Exchange 2010, Service Pack 1 and above.</p>
<p><img title="09-02-201316-55-10" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="09-02-201316-55-10" src="http://www.telnetport25.com/wp-content/uploads/2013/02/09-02-201316-55-10.png" width="636" height="864" /></p>
<h2>Why OOOCTA v4.0?</h2>
<blockquote><p>The Out of Office function is a very useful tool for customers working within organizations to let people know their whereabouts. However people do forget at times to set their Out of Office before they leave, which can result in delays in getting responses to queries from people who mail a person who is out of the office for a prolonged period of time – as they do not know that they perhaps should be speaking to someone else.</p>
<p>It is common for managers to call ICT Service Desks or HR departments asking for someone’s Out of Office to be configured. This tool allows for this to be delegated through a centralized and simple management interface.</p>
<p>OOOCTA version 4.0 is a complete re-write of the original tool. I have removed both the Windows Service and SQL requirements and added in the ability to configure the OOF’s in real time. I have simplified the install and user interface and improved the error handling.</p>
</blockquote>
<p>The OOOCTA is based upon the same design principals as the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvcmVsZWFzZWR2ZXJzaW9uLTItMC1vZi10aGUtZGlzdHJpYnV0aW9uLWxpc3QtcmVwb3J0aW5nLXRvb2wtZGxydC8=" target=\"_blank\">recently released DLRT</a> -</p>
<ul>
<li>Free </li>
<li>Simple </li>
<li>Easy to install </li>
<li>Easy to troubleshoot </li>
<li>Easy to Service </li>
</ul>
<p>The OOOCTA v4 and the DLRT are also compatible with devices such as IPads and IPhones, which opens the possibility of configuring Out of Office on the move.</p>
<h3>Reporting</h3>
<p><img title="oocIPhoneRep" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="oocIPhoneRep" src="http://www.telnetport25.com/wp-content/uploads/2013/02/oocIPhoneRep.png" width="400" height="600" /></p>
<h3>Setting</h3>
<p><img title="oooIPhnSet" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="oooIPhnSet" src="http://www.telnetport25.com/wp-content/uploads/2013/02/oooIPhnSet.png" width="400" height="600" /></p>
<h2>Pre-Requisites</h2>
<p>The following are the pre-requisites for the OOOCTA.</p>
<ul>
<li>Windows Server 2008 R2. </li>
<li>IIS 7.0. </li>
<li>.NET Framework 3.5 or above. </li>
<li>Exchange 2010 Service Pack 2 or above. </li>
<li>Exchange 2010 Management Tools installed on the primary OOOCTA server. </li>
<li>The OOOCTA Application Service Account will require Exchange Organization Management rights, you will also need the account that you use to install the software has these rights as well. </li>
</ul>
<p>It is recommended that you install the OOOCTA on a Client Access Server within your environment. Whereas this is not essential to the operation of the tool – it makes the setup easier.</p>
<h2>Download</h2>
<p>You can download both the OOOCTA v 4.0 and the Installation and Users guide from the following locations.</p>
<p><img title="cntMstr006" border="0" alt="cntMstr006" src="http://www.telnetport25.com/wp-content/uploads/2011/09/cntMstr006.jpg" width="53" height="53" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvb29vY3RhdjQvT09PQ1RBLVY0LVNldHVwLmV4ZQ==" target=\"_blank\">OOOCTA v 4.0 for Exchange 2010 – 196KB</a> ]</p>
<p><img alt="adobe" src="http://www.telnetport25.com/images/stories/legimages/Icons/adobe.jpg" width="40" height="40" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvb29vY3RhdjQvT09PQ1RBdjQtSW5zdGFsbGF0aW9uVXNlcnNHdWlkZS5wZGY=" target=\"_blank\">OOOCTA v 4.0 Installation and Users Guide – 1.1 MB</a> ]</p>
<p>I hope that you enjoy OOOCTA 4.0, and of course value your feedback.</p>
<div class="shr-publisher-1741"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvb29vY3RhLW91dC1vZi1vZmZpY2UtY29uZmlndXJhdGlvbi1hc3Npc3RhbnQtdmVyc2lvbi00LTAv" data-shr_title='OOOCTA+%28Out+of+Office+Configuration+Assistant%29+%26ndash%3B+Version+4.0'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1741" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/02/ooocta-out-of-office-configuration-assistant-version-4-0/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Building an Exchange 2013 LAB Environment using Windows Server 2012 from scratch &#8211; Part 4: Provisioning your Exchange Servers&#8230;</title>
		<link>http://www.telnetport25.com/2013/02/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-4-provisioning-your-exchange-servers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-4-provisioning-your-exchange-servers</link>
		<comments>http://www.telnetport25.com/2013/02/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-4-provisioning-your-exchange-servers/#comments</comments>
		<pubDate>Sat, 02 Feb 2013 17:42:51 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Exchange 2013 (Installation)]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Windows Server 2012 [ Install ]]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Exchange 2013 on Windows 2012 pre-reqs]]></category>
		<category><![CDATA[Powerhshell]]></category>
		<category><![CDATA[Test Labs]]></category>
		<category><![CDATA[Windows Server 2012]]></category>
		<category><![CDATA[Windows Server 2012 Active Directory]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1734</guid>
		<description><![CDATA[So where were we? Ah, yes – in the previous three parts of this series we have covered: The conceptual schematic of what our test lab domain will look like. Established the specifications for each of the virtual machines that we would be using in the Lab. How to provision the Domain Controller for the [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>So where were we?</p>
<p>Ah, yes – in the previous three parts of this series we have covered:</p>
<ul>
<li>The conceptual schematic of what our test lab domain will look like. </li>
<li>Established the specifications for each of the virtual machines that we would be using in the Lab. </li>
<li>How to provision the Domain Controller for the LAB in on Hyper-V server on Windows Server 2012. </li>
<li>Built the Windows Server 2012 O/S for the domain controller. </li>
<li>Installed Active Directory on the Domain Controller using a Powershell Script. </li>
<li>Installed Active Directory Certificate Services on the domain controller. </li>
</ul>
<p>If you would like to review those parts you can find them at the links below:</p>
<ul>
<li><a href="building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-1-active-directory-domain-controller-os-install" target=\"_blank\">Part 1</a> </li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0yLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItYWQtaW5zdGFsbGF0aW9uLw==" target=\"_blank\">Part 2</a> </li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0zLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItY2EtaW5zdGFsbGF0aW9uLw==" target=\"_blank\">Part 3</a> </li>
</ul>
<p>In this the fourth part of the Series I will take you through the provisioning of your Exchange Servers in Hyper-V, summarising the install of Windows Server 2012 Data Centre (as we have covered the step by step install of Windows 2012 in the <a href="building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-1-active-directory-domain-controller-os-install" target=\"_blank\">first part</a>), and finally installing the prerequisites for Exchange 2013 on Windows Servers 2012.</p>
<h2>Provisioning your Exchange Servers</h2>
<p><a href="building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-1-active-directory-domain-controller-os-install" target=\"_blank\">In part one</a> of the series I took you through manually using the Hyper-V manager to provision the domain controller. In this part I would like to show you how you can use the Hyper-V module in Powershell to query settings in a CSV file and create your Virtual Machines using a very simple PowerShell script.</p>
<h3>The script and CSV file</h3>
<p>The following is the simple script that I have written which takes input from a CSV file (more details on this later) and creates the Virtual Machines as per the configuration data from the source file.</p>
<div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &#39;Courier New&#39;, courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4">
<div id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&lt;<span style="color: #008000">#</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Simple Powershell Script to Provision Hyper-V Guests</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    Version 0.1</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Author: Andy Grogan</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    http://www.telnetport25.com</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Usage &lt;scriptName.ps1&gt; -csvFile</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"><span style="color: #008000">#&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">Import-Module Hyper-V</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">Param(</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    [parameter(Mandatory=$true)]</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    [alias(<span style="color: #006080">&quot;CSV&quot;</span>)]</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    $CSVFile)</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">$VMData = Import-CSV $CSVFile</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"><span style="color: #0000ff">foreach</span>($VMDef <span style="color: #0000ff">in</span> $VMData){</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    $VMName = $VMDef.VMName</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    $VMPath = $VMDef.VMPath</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    $VHDPathName = $VMDef.VHDPathName</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    $VHDSize = $VMDef.VHDSize</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    $VMMem = $VMDef.VMMemory</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    $VSwitch = $VMDef.Vswitch</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    $ProcCount = $VMDef.ProcessorCount</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    $ISO = $VMDef.OSISOPath</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    <span style="color: #0000ff">if</span>(!(Test-Path $VMPath)){</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">        New-Item $VMPath -Type Directory</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    }    </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    New-VM $VMName -Path $VMPath</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    New-VHD -Path $VHDPathName -SizeBytes $VHDSize</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    Add-VMHardDiskDrive -VMName $VMName -Path $VHDPathName -ControllerNumber 0</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Set-VMMemory -VMName $VMName -DynamicMemoryEnabled $True</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    Set-VMMemory -VMName $VMName -MinimumBytes $VMMem -MaximumBytes $VMMem -StartupBytes $VMMem</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Add-VMNetworkAdapter -VMName $VMName -SwitchName $VSwitch</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    Set-VM $VMName -ProcessorCount $ProcCount</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Add-VMDvdDrive -VMName $VMName –Path $ISO</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">}</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">Write-Host <span style="color: #006080">&quot;Script Completed&quot;</span> -ForeGroundColor Green</pre>
<p><!--CRLF--></div>
</div>
<p>The CSV file should contain the following column headings:</p>
<ul>
<li>VMName – Name of the Virtual Machine. </li>
<li>VMPath – Physical path on your Server where the Virtual Machine configuration will live. </li>
<li>VHDPathName – Physical path and file name of the primary system disk for your VM. </li>
<li>VHDSize – Size of the system disk, this is represented in Bytes – therefore 100GB is 107374182400 bytes. </li>
<li>ProcessorCount – The number of vCPU’s assigned to the Virtual Machine. </li>
<li>VMMemory – The amount of RAM assigned to the Virtual Machine – this is in Bytes, therefore 5GB is 5368709120 in bytes.</td>
</li>
<li>VSwitch – The name of the VSwitch that you wish the primary interface to use – in my lab this is called <strong>RIO_PUBLIC_VSWITCH</strong>. </li>
<li>OSISOPath – The path on your Server to the Windows 2012 installation ISO. </li>
</ul>
<h3>Download</h3>
<p>You can download a copy of the script above, and a sample CSV file for reference from the links below.</p>
<p><img alt="" src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL3dpbmRvd3MyMDEyL3Byb3ZWTS5wczE=">Hyper-V Provisioning Script – 1.1KB</a> ]</p>
<p><img title="CSVIco" style="display: inline" alt="CSVIco" src="http://www.telnetport25.com/wp-content/uploads/2013/02/CSVIco.png" width="47" height="50" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL3dpbmRvd3MyMDEyL1ZNUy5jc3Y=" target=\"_blank\">Sample Source CSV File – 1.0 KB</a> ] </p>
<h3>Running the Script</h3>
<p>Like with all the scripts that have been provided in this series – you need to ensure that before you try to run them – you have the correct execution policy configured (RemoteSigned). This is covered in the following post: <a title=\"http://www.telnetport25.com/2012/02/quick-tip-running-exchange-based-powershell-script-files-from-the-command-line-or-a-batch-file/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDIvcXVpY2stdGlwLXJ1bm5pbmctZXhjaGFuZ2UtYmFzZWQtcG93ZXJzaGVsbC1zY3JpcHQtZmlsZXMtZnJvbS10aGUtY29tbWFuZC1saW5lLW9yLWEtYmF0Y2gtZmlsZS8=">http://www.telnetport25.com/2012/02/quick-tip-running-exchange-based-powershell-script-files-from-the-command-line-or-a-batch-file/</a></p>
<p>Copy the script and your CSV file to a location on your Hyper-V server, open a Powershell command prompt and use the following command line:</p>
<pre>.\provVM.ps1 –CSVFile &lt;path and name of CSV file&gt;</pre>
<p>The script will then go away and provision your machines.</p>
<p><img title="02-02-201313-43-09" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201313-43-09" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201313-43-09.png" width="702" height="491" /></p>
<p>If you then review the Hyper-V manager – you will see your new VM are now present:</p>
<p><img title="02-02-201314-43-40" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201314-43-40" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201314-43-40.png" width="337" height="145" /></p>
<p>If you check the properties of any one of the VMs you will see that they have been configured as per the settings in the CSV file.</p>
<p><img title="02-02-201314-46-19" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201314-46-19" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201314-46-19.png" width="550" height="518" /></p>
<p>You are now in a position to Power the VM’s on and being the process of installing Windows Server 2012 Data Centre.</p>
<h2>Installing Windows 2012 Data Centre Edition</h2>
<p><a href="building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-1-active-directory-domain-controller-os-install" target=\"_blank\">In the first part of this series</a>; I did a detailed overview of installing Windows Server 2012 – therefore I will not be covering that again. Where you should pick the configuration up again in this post is after you have renamed the computer, configured the relevant IP settings and joined the machine to the <strong>art-test domain</strong> and installed relevant Windows Updates..</p>
<p>The first machine that we will build will be <strong><u>art-mbxcas-01</u></strong> – which will be our first Mailbox / CAS and HT server.</p>
<p>What I will cover here is installing both the Operating System Pre-Requisites and supporting components required for a successful installation of Exchange 2013 on Windows Server 2012.</p>
<h3>Required Operating System Components</h3>
<p>On your Exchange Server – open a Powershell command prompt then enter in:</p>
<pre>Import-Module ServerManager</pre>
<p>Then enter in:</p>
<pre>Add-WindowsFeature RSAT-ADDS</pre>
<p>Then copy and paste the following code:</p>
<pre style="height: 56px; width: 679px">Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation</pre>
<p>You will then need to restart the computer – you can do this by typing:</p>
<pre>Restart-Computer</pre>
<p>Within the Powershell command window.</p>
<h3>Required Supporting Software</h3>
<p>In order to successfully install Exchange Server on the VM – you will need to install some supporting software which is required in order for it to function correctly.</p>
<p>You will need to download each of the following to a location on your Exchange VM:</p>
<ol>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rL3AvP2xpbmtJZD0yNTgyNjk=">Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit</a> </li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rL3AvP2xpbmtJRD0xOTE1NDg=">Microsoft Office 2010 Filter Pack 64 bit</a> </li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rL3AvP0xpbmtJZD0yNTQwNDM=">Microsoft Office 2010 Filter Pack SP1 64 bit</a> </li>
</ol>
<p>You will then need to install them.</p>
<h3>Microsoft Unified Communications Managed API 4.0, Core Runtime x64</h3>
<p>As per Microsoft:</p>
<blockquote>
<p>Unified Communications Managed API (UCMA) 4.0 is a managed-code platform that developers use to build applications that provide access to and control over Microsoft Enhanced Presence information, instant messaging, telephone and video calls, and audio/video conferencing.</p>
</blockquote>
<p>Double click on the Setup installer for the MUCM API which will begin by showing you the following introduction screen.</p>
<p><img title="02-02-201316-13-07" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201316-13-07" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201316-13-07.png" width="429" height="247" /></p>
<p>You will then be presented with the following welcome screen which explains the actions that the installer intends to perform on your server. When you are ready click on the “<strong><em>Next</em></strong>” button.</p>
<p><img title="02-02-201316-13-26" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201316-13-26" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201316-13-26.png" width="513" height="481" /></p>
<p>Accept the licensing agreement by checking the “<strong><em>I have read and accept the license terms</em></strong>” then click on the “<strong><em>Install</em></strong>” button.</p>
<p><img title="02-02-201316-13-51" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201316-13-51" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201316-13-51.png" width="513" height="481" /></p>
<p>The setup process will then install the required components on your server.</p>
<p><img title="02-02-201316-14-07" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201316-14-07" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201316-14-07.png" width="513" height="481" /></p>
<p>Set will then complete – click on the “<strong><em>Finish</em></strong>” button.</p>
<p><img title="02-02-201316-15-00" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201316-15-00" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201316-15-00.png" width="513" height="481" /></p>
<h3>Installing the Microsoft Office Filter Pack with Service Pack 1</h3>
<p>As per Microsoft:</p>
<blockquote>
<p>The Microsoft Filter Pack is a single point-of-distribution for Office IFilters. IFilters are components that allow search services to index content of specific file types, letting you search for content in those files. They are intended for use with Microsoft Search Services (Sharepoint, SQL, Exchange, Windows Search).<br />
    <br />Install this product if you want to search for content in the file types listed below. </p>
<p>The Filter Pack includes: </p>
<p>Legacy Office Filter (97-2003; .doc, .ppt, .xls) </p>
<p>Metro Office Filter (2007; .docx, .pptx, .xlsx) </p>
<p>Zip Filter </p>
<p>OneNote filter </p>
<p>Visio Filter </p>
<p>Publisher Filter </p>
<p>Open Document Format Filter</p>
</blockquote>
<p>Double click on the Microsoft Office Filter pack installer – you will be presented with the following welcome screen, when you are ready click on the “<strong><em>Next</em></strong>” button.</p>
<p><img title="02-02-201316-15-27" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201316-15-27" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201316-15-27.png" width="513" height="421" /></p>
<p>Accept the licensing agreement by checking the “<strong><em>I accept the terms in the licensing agreement</em></strong>” check box. When you are done click on the “<strong><em>Next</em></strong>” button.</p>
<p><img title="02-02-201316-15-47" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201316-15-47" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201316-15-47.png" width="526" height="456" /></p>
<p>The setup process will then install the required files on your Exchange Server.</p>
<p><img title="02-02-201316-16-03" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201316-16-03" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201316-16-03.png" width="526" height="456" /></p>
<p>When setup is completed – you will be presented with the following dialog box – click on the “<strong><em>OK</em></strong>” button to finish.</p>
<p><img title="02-02-201316-16-19" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201316-16-19" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201316-16-19.png" width="416" height="219" /></p>
<p>You will then need to install Service Pack 1 for the Microsoft Office filter pack. Double click on the Service Pack 1 setup file. You will then be presented with the introduction screen – click on the “<strong><em>Continue</em></strong>” button when ready.</p>
<p><img title="02-02-201316-16-40" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201316-16-40" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201316-16-40.png" width="550" height="345" /></p>
<p>Setup of Service Pack 1 for the Office 2.0 filter packs is very quick – when it has been completed you will be presented with the following dialog box – click on the “<strong><em>OK</em></strong>” button when setup has completed.</p>
<p><img title="02-02-201316-17-03" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="02-02-201316-17-03" src="http://www.telnetport25.com/wp-content/uploads/2013/02/02-02-201316-17-03.png" width="410" height="155" /></p>
<h2>And then Repeat</h2>
<p>You will now need to repeat the above setups on the remaining two servers:</p>
<ul>
<li>art-mbxcas-02 </li>
<li>art-mbx-01 </li>
</ul>
<h2>In the next part</h2>
<p>In the next part of the series I will cover:</p>
<ul>
<li>Preparing the Active Directory Schema and Domain. </li>
<li>Installing Exchange 2013 on your provisioned Virtual Machines. </li>
</ul>
<div class="shr-publisher-1734"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC00LXByb3Zpc2lvbmluZy15b3VyLWV4Y2hhbmdlLXNlcnZlcnMv" data-shr_title='Building+an+Exchange+2013+LAB+Environment+using+Windows+Server+2012+from+scratch+%26ndash%3B+Part+4%3A+Provisioning+your+Exchange+Servers%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1734" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/02/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-4-provisioning-your-exchange-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Released-Version 2.0 of the DLRT for Exchange 2013&#8230;</title>
		<link>http://www.telnetport25.com/2013/02/released-version-2-0-of-the-dlrt-for-exchange-2013/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=released-version-2-0-of-the-dlrt-for-exchange-2013</link>
		<comments>http://www.telnetport25.com/2013/02/released-version-2-0-of-the-dlrt-for-exchange-2013/#comments</comments>
		<pubDate>Fri, 01 Feb 2013 15:25:00 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 (Admin)]]></category>
		<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Exchange Programming .NET]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Distribution List Reporting Tool]]></category>
		<category><![CDATA[Exchange 2013 Distribution Lists]]></category>
		<category><![CDATA[Reporting]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1712</guid>
		<description><![CDATA[Last week I released version 2.0 of the DLRT for Exchange 2010. This week I am pleased to release a version which is compatible with Exchange 2013 which can be installed on Exchange 2013 servers. Why two versions? Normally I like to try and maintain a single code base for my tools across different versions [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Last week I released <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvcmVsZWFzZWR2ZXJzaW9uLTItMC1vZi10aGUtZGlzdHJpYnV0aW9uLWxpc3QtcmVwb3J0aW5nLXRvb2wtZGxydC8=">version 2.0 of the DLRT for Exchange 2010</a>. This week I am pleased to release a version which is compatible with Exchange 2013 which can be installed on Exchange 2013 servers.</p>
<h2>Why two versions?</h2>
<p>Normally I like to try and maintain a single code base for my tools across different versions of Exchange (e.g. if I write something for Exchange 2010 – I would like the same installer to function on Exchange 2013 if the purpose of the tool covers functionality in the target versions of Exchange).</p>
<p>However there are some <strong><em>very</em></strong> subtle differences between how cmdlets common to both Exchange 2010 and 2013 return values. These differences are not so obvious that you would notice them day to day – but &#8211; from a C# and Automation RunSpace perspective they require some slightly different code logic when returning Distribution Lists and their members to the DLRT Interface.</p>
<p>Furthermore; the Exchange 2013 Powershell management snap-in (which the DLRT integrates with) in compiled for<span style="text-decoration: underline;"><strong> .NET 4.5</strong></span> – whereas the DLRT version for Exchange 2010 is compiled in .NET 3.5.</p>
<p>I could of course compile both versions of the code for 4.5 – but that would not get around the formatting differences between 2010 and 2013 cmdlets, and not everyone has .NET 4.5 installed on the 2010 servers (and they may not wish to).</p>
<h2>Download</h2>
<p>You can download the Exchange 2013 version of the DLRT from the link below – please note that this version will not function correctly when installed on an Exchange 2010 server.</p>
<p>The installation and setup is the same between the two Exchange versions with the only difference being the requirement for .Net 4.5.</p>
<p><img title="cntMstr006" alt="cntMstr006" src="http://www.telnetport25.com/wp-content/uploads/2011/09/cntMstr006.jpg" width="53" height="53" border="0" />  [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvZGxydC9EaXN0TGlzdDIxM1NldHVwLmV4ZQ==">Distribution List Reporting Tool – Version 2.0 - Exchange 2013 – 190KB</a> ]</p>
<p><img alt="adobe" src="http://www.telnetport25.com/images/stories/legimages/Icons/adobe.jpg" width="40" height="40" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvZGxydC9ETFJUdjJJbnN0YWxsYXRpb25Vc2Vyc0d1aWRlLnBkZg==">DLRT Installation and Users Guide – 1.3MB</a> ]</p>
<div class="shr-publisher-1712"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvcmVsZWFzZWQtdmVyc2lvbi0yLTAtb2YtdGhlLWRscnQtZm9yLWV4Y2hhbmdlLTIwMTMv" data-shr_title='Released-Version+2.0+of+the+DLRT+for+Exchange+2013%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1712" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/02/released-version-2-0-of-the-dlrt-for-exchange-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Released&#8211;Version 2.0 of the Distribution List Reporting Tool (DLRT)&#8230;</title>
		<link>http://www.telnetport25.com/2013/01/releasedversion-2-0-of-the-distribution-list-reporting-tool-dlrt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=releasedversion-2-0-of-the-distribution-list-reporting-tool-dlrt</link>
		<comments>http://www.telnetport25.com/2013/01/releasedversion-2-0-of-the-distribution-list-reporting-tool-dlrt/#comments</comments>
		<pubDate>Sun, 27 Jan 2013 19:18:03 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2010 (Admin)]]></category>
		<category><![CDATA[Exchange 2010 (General)]]></category>
		<category><![CDATA[Exchange Programming .NET]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Distribution List Reporting Tool]]></category>
		<category><![CDATA[Exchange 2010 Distribution Lists]]></category>
		<category><![CDATA[Reporting]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1710</guid>
		<description><![CDATA[NOTE: If you would like to install the DLRT on Exchange 2013 – please use the version that has been posted here: http://www.telnetport25.com/2013/02/released-version-2-0-of-the-dlrt-for-exchange-2013/ A couple of weeks ago I released Version 1.0 of the Exchange Distribution List Reporting tool. Since then there have been a couple of updates to the original 1.0 code (versions 1.1 [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><blockquote><p><strong><u>NOTE:</u></strong> If you would like to install the DLRT on Exchange 2013 – please use the version that has been posted here: <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvcmVsZWFzZWQtdmVyc2lvbi0yLTAtb2YtdGhlLWRscnQtZm9yLWV4Y2hhbmdlLTIwMTMv">http://www.telnetport25.com/2013/02/released-version-2-0-of-the-dlrt-for-exchange-2013/</a></p>
</blockquote>
<p>A couple of weeks ago I released <strong>Version 1.0</strong> of the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvdGhlLWV4Y2hhbmdlLWRpc3RyaWJ1dGlvbi1saXN0LXJlcG9ydGluZy10b29sLw==" target=\"_blank\">Exchange Distribution List Reporting tool</a>. Since then there have been a couple of updates to the original 1.0 code (<em>versions 1.1 and 1.2</em>) – however today I would like to present <strong>version 2.0</strong> of the code.</p>
<p>I have been working on the DLRT for some months – therefore I have had a few code bases in development – and the changes in this release represent an amalgamation of all the development code that I have on my servers.</p>
<p>For information on the change history please see the information the change log below:</p>
<h3>Version 1.0</h3>
<ul>
<li>Initial release </li>
</ul>
<h3>Version 1.1</h3>
<ul>
<li>Added in handling for environments where there are no distribution lists </li>
<li>Added in handling for environments where there is only one distribution list </li>
<li>Added in handling for lists that contain either no or only a single membership entry </li>
<li>Added in an event debugging information field at the bottom of the main page </li>
</ul>
<h3>Version 1.2</h3>
<ul>
<li>Added in handling for lists that contain spaces within their names </li>
<li>Modified the version number on the logo to 1.2 </li>
<li>Added a “sort” button for the lists on the main page – this sorts the names Alphabetically </li>
</ul>
<h3>Version 2.0</h3>
<ul>
<li>Modified Member list rendering engine from a list control to GridView when querying a single list </li>
<li>Added in bulk reporting on all lists which contain members with new GridView renderer </li>
<li>Added in bulk reporting on lists that contain no members with new GridView renderer </li>
<li>Added in support for Distribution lists which have members in multiple domains </li>
<li>Redesigned user interface </li>
<li>Added in the ability to export list membership to a CSV file </li>
<li>Bug Fix: Fixed the incorrect reporting of lists that contain a single nested Distribution Group </li>
<li>Improved error and report handling than that in version 1.2 </li>
</ul>
<h2>Download</h2>
<p>The original code contained within the version 1.0 release article has now been replaced with Version 2.0. The installation and upgrade process between the two versions is the same (e.g. run the setup executable and install over the top) – the IIS and Active Directory configuration remain the same.</p>
<p>I have also included a full Installation and Users Guide within this download section.</p>
<p><img title="cntMstr006" border="0" alt="cntMstr006" src="http://www.telnetport25.com/wp-content/uploads/2011/09/cntMstr006.jpg" width="53" height="53" />&#160; [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvZGxydC9EaXN0SW5zdGFsbFNldHVwLmV4ZQ==">Distribution List Reporting Tool – Version 2.0 – 190KB</a> ]</p>
<p><img alt="adobe" src="http://www.telnetport25.com/images/stories/legimages/Icons/adobe.jpg" width="40" height="40" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvZGxydC9ETFJUdjJJbnN0YWxsYXRpb25Vc2Vyc0d1aWRlLnBkZg==" target=\"_blank\">DLRT Installation and Users Guide – 1.3MB</a> ]</p>
<h2>Installation and Users Guide</h2>
<p>Please see the PDF download in the download section.</p>
<h2>Screenshots – Version 2.0</h2>
<p>As a quick preview – I have included some screen grabs of the tool below.</p>
<h3>Landing screen:</h3>
<p><img title="27-01-201315-14-56" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="27-01-201315-14-56" src="http://www.telnetport25.com/wp-content/uploads/2013/01/27-01-201315-14-56.png" width="623" height="832" /></p>
<h3>Populated Lists:</h3>
<p><img title="27-01-201317-46-36" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="27-01-201317-46-36" src="http://www.telnetport25.com/wp-content/uploads/2013/01/27-01-201317-46-36.png" width="623" height="632" /></p>
<p>I hope that you enjoy the DLRT tool as much as I have enjoyed writing it – and of course that you find it useful.</p>
<div class="shr-publisher-1710"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvcmVsZWFzZWR2ZXJzaW9uLTItMC1vZi10aGUtZGlzdHJpYnV0aW9uLWxpc3QtcmVwb3J0aW5nLXRvb2wtZGxydC8=" data-shr_title='Released%26ndash%3BVersion+2.0+of+the+Distribution+List+Reporting+Tool+%28DLRT%29%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1710" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/01/releasedversion-2-0-of-the-distribution-list-reporting-tool-dlrt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Building an Exchange 2013 LAB Environment using Windows Server 2012 from scratch &#8211; Part 3: Active Directory Domain Controller: CA Installation&#8230;</title>
		<link>http://www.telnetport25.com/2013/01/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-3-active-directory-domain-controller-ca-installation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-3-active-directory-domain-controller-ca-installation</link>
		<comments>http://www.telnetport25.com/2013/01/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-3-active-directory-domain-controller-ca-installation/#comments</comments>
		<pubDate>Sun, 20 Jan 2013 14:14:56 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Certificates]]></category>
		<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Exchange 2013 (Installation)]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Windows Server 2012 [ Active Directory ]]]></category>
		<category><![CDATA[Windows Server 2012 [ Install ]]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Active Directory Certificate Services]]></category>
		<category><![CDATA[Certificate Services]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Powerhshell]]></category>
		<category><![CDATA[Test Labs]]></category>
		<category><![CDATA[Windows Server 2012]]></category>
		<category><![CDATA[Windows Server 2012 Active Directory]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1706</guid>
		<description><![CDATA[In the previous two parts of this series I took you through building a Windows 2012 server on Hyper-V Server and then in the second part took you through the process of installing Active Directory Domain Services. For reference these two posts are here and here. In this part of the series I would like [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In the previous two parts of this series I took you through building a Windows 2012 server on Hyper-V Server and then in the second part took you through the process of installing Active Directory Domain Services.</p>
<p>For reference these two posts are <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0xLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItb3MtaW5zdGFsbC8=" target=\"_blank\">here</a> and <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0yLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItYWQtaW5zdGFsbGF0aW9uLw==" target=\"_blank\">here</a>.</p>
<p>In this part of the series I would like to take you through the process of installing and configuring Microsoft Active Directory Certificate Services on your domain controller. By then end of this article; our test lab will be one fourth complete – and looks like the following schematic:</p>
<p><img title="SchematicProgressPart3" style="display: inline" alt="SchematicProgressPart3" src="http://www.telnetport25.com/wp-content/uploads/2013/01/SchematicProgressPart3.png" width="630" height="485" /></p>
<p>You might be thinking – Andy, why are we installing this? Well the answer is simple: in our end Exchange 2013 test lab we are going want some SSL certificates generated for the OWA and Autodiscover services, rather than the self signed ones that are assigned after Exchange setup. Within the domain environment that we create; any SSL certificates that are generated from the Enterprise Root CA will be automatically trusted by the Exchange Servers and clients within that domain.</p>
<p>This means that we can generate as many certificates with as many Subject Alternative Names (SAN’s) as we like, without having to invest in any commercial certificates. If you should wish to install commercial certificates, you can skip this part and move onto part 4 when it is released.</p>
<h2>Installing the Enterprise Root CAS</h2>
<p>Rather than screenshot the entire process of configuring Active Directory Certificate Services – I thought that it would be easier to put together a quick video overview which is located below. Follow the steps outlined in the video overview customising them where needed to suit your own needs.</p>
<p>Within the video there is a Powershell script which is used to install the Certificate Service binaries – this is located here for download:</p>
<p><img alt="" src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL3dpbmRvd3MyMDEyL2luc3RDZXJ0Um9sZXMucHMx" target=\"_blank\">Install Active Directory Certificate Services Script – 1.1 KB</a> ]</p>
<p>If you intend to use this script – you will need to follow the guide that I posted <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDIvcXVpY2stdGlwLXJ1bm5pbmctZXhjaGFuZ2UtYmFzZWQtcG93ZXJzaGVsbC1zY3JpcHQtZmlsZXMtZnJvbS10aGUtY29tbWFuZC1saW5lLW9yLWEtYmF0Y2gtZmlsZS8=" target=\"_blank\">here</a> which explains how you can execute PS1 files from the Internet by modifying PowerShell’s execution policy.</p>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:4daa9233-a07a-4dca-a6e9-75b7cec81922" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px">
<div><object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/l8MswuPL81U?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/l8MswuPL81U?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></embed></object></div>
<div style="width:448px;clear:both;font-size:.8em">Installing a Windows 2012 Enterprise Root CA</div>
</div>
<h2>In the next part</h2>
<p>I will cover the build of you Exchange 2013 Servers on Windows 2012 and explain the various prerequisites that you will need for a successful install.</p>
<div class="shr-publisher-1706"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0zLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItY2EtaW5zdGFsbGF0aW9uLw==" data-shr_title='Building+an+Exchange+2013+LAB+Environment+using+Windows+Server+2012+from+scratch+%26ndash%3B+Part+3%3A+Active+Directory+Domain+Controller%3A+CA+Installation%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1706" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/01/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-3-active-directory-domain-controller-ca-installation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Building an Exchange 2013 LAB Environment using Windows Server 2012 from scratch &#8211; Part 2: Active Directory Domain Controller: AD Installation&#8230;</title>
		<link>http://www.telnetport25.com/2013/01/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-2-active-directory-domain-controller-ad-installation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-2-active-directory-domain-controller-ad-installation</link>
		<comments>http://www.telnetport25.com/2013/01/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-2-active-directory-domain-controller-ad-installation/#comments</comments>
		<pubDate>Sat, 19 Jan 2013 18:26:36 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Test Labs]]></category>
		<category><![CDATA[Windows Server 2012 [ Active Directory ]]]></category>
		<category><![CDATA[Windows Server 2012 [ Install ]]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Powerhshell]]></category>
		<category><![CDATA[Windows Server 2012]]></category>
		<category><![CDATA[Windows Server 2012 Active Directory]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1702</guid>
		<description><![CDATA[In the previous part of this series (Part 1) I took you through to the point where you now have a basic Hyper-V guest which can be used as the domain controller for your Exchange 2013 Test Lab. In this part I would like to take you through how you can install Active Directory on [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0xLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItb3MtaW5zdGFsbC8=" target=\"_blank\">previous part of this series (Part 1)</a> I took you through to the point where you now have a basic Hyper-V guest which can be used as the domain controller for your Exchange 2013 Test Lab. In this part I would like to take you through how you can install Active Directory on that guest machine.</p>
<p>Now it is important to note that the process of installing AD on Windows Server 2012 is very different to previous versions of Windows. In versions of Windows from 2000 through to 2008R2 it was as simple as dropping to a command line and typing “<strong><em>DCPROMO</em></strong>” – but in Windows 2012 DCPROMO has been depreciated. You can type it in – but you will be told to use the Server Manager to perform an install of Active Directory Domain Services.</p>
<p>You <strong><span style="text-decoration: underline">can</span></strong> use the Server Manager to install Active Directory (<em>but where is the fun in that?</em>) – so, you guessed it – you can also use PowerShell.</p>
<p>So for the purposes of this article in the series I decided to write an Powershell automation script for the installation of Active Directory on the domain controller in our LAB.</p>
<p>As I said you <strong><em>can</em></strong> use the GUI – but I personally found that Powershell was quicker and less cumbersome.</p>
<h2>Active Directory Installation Script</h2>
<p>You can download the script from the link provided in the Download section below – or copy and paste it to your Guest Machine from the Script section.</p>
<p>Remember that this script is only designed for the following scenarios:</p>
<ul>
<li>Creating a new forest
<li>Creating a new domain
<li>Promoting your VM to a domain controller </li>
</ul>
<p>It should not be used to add a domain controller to an existing forest / domain.</p>
<p>The script performs the following actions:</p>
<ul>
<li>Imports the ServerManager Modules (to allow for the add-WindowsFeature cmdlet to function)
<li>Installs the AD-DOMAIN-SERVICES role and the management tools
<li>Imports the ADDSDeployment module to allow for the configuration of Active Directory Services (after they have been installed)
<li>Defines a function that uses the Install-ADDSForest cmdlet which accepts the following parameters:
<ul>
<li>Directory Database Path
<li>Directory Log Path
<li>Directory SysVol Path
<li>The AD Domain Name
<li>The NetBIOS domain Name </li>
</ul>
<li>Gets the above values from the user
<li>Creates the Database, Log File and SysVol folder structure
<li>Installs Active Directory Services </li>
</ul>
<p>If you examine the script you will see a number of other parameters that are used in conjunction with the <strong>Install-ADDSForest</strong> cmdlet – these are as follows:</p>
<ul>
<li><strong>-DomainMode</strong> – this configures the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjNzcxMjk0LmFzcHg=" target=\"_blank\">Domain Functional Mode</a> that the first domain (<em>that the script creates</em>) is configured to work under. The script configures this to be “<strong><em>Win2012</em></strong>”.
<li><strong>-ForestMode</strong> – This configures the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjNzcxMjk0LmFzcHg=" target=\"_blank\">Forest Functional Level</a> for the test LAB – the script sets this to be “<em><strong>Win2012</strong></em>”.
<li><strong>-CreateDnsDelegation</strong> – (as per <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2hoOTc0NzIwLmFzcHg=" target=\"_blank\">Microsoft</a>) Indicates whether to create a DNS delegation that references the new DNS server that you are installing along with the domain controller. Valid for Active Directory-integrated DNS only. The default is computed automatically based on the environment. The script sets this to false.
<li><strong>-NoRebootonCompletion</strong> – Instruct the Install-ADDSForest cmdlet to either reboot or not reboot automatically – the script has this set to <strong>$true</strong>, which means that you will need to reboot manually after completion. </li>
</ul>
<h3>Download</h3>
<p><img alt="" src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG"> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL3dpbmRvd3MyMDEyL2luc3RBRFdpbmRvd3MyMDEyLnBzMQ==" target=\"_blank\">Install Directory Services Windows 2012 PS1 – 1.2KB</a> ]</p>
<h3>Script (for copy and paste)</h3>
<div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: 'Courier New', courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4">
<div id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&lt;<span style="color: #008000"># </span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Author: A.Grogan</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    http://www.telnetport25.com</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Version 0.1</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"><span style="color: #008000">#&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">Import-Module ServerManager</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">Write-Host <span style="color: #006080">"*******************************************************"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">Write-Host <span style="color: #006080">"*"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">Write-Host <span style="color: #006080">"* Windows 2012 - Prepare Active Directory Script"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">Write-Host <span style="color: #006080">"* For Windows 2012 Servers Only"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">Write-Host <span style="color: #006080">"* Version 0.1"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">Write-Host <span style="color: #006080">"* Will prepare the first Forest, Domain and Domain Controller"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">Write-Host <span style="color: #006080">"* on Windows Server 2012"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">Write-Host <span style="color: #006080">"*******************************************************"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">Write-Host <span style="color: #006080">""</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">Write-Host <span style="color: #006080">"Installing Required Windows Feature"</span> -ForegroundColor Cyan</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">Write-Host <span style="color: #006080">""</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">Install-WindowsFeature AD-Domain-Services -IncludeManagementTools</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">Import-Module ADDSDeployment</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"><span style="color: #0000ff">function</span> inst_AD{</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    <span style="color: #0000ff">param</span>($DatabasePath,$LogPath,$SysVolPath,$DomainName,$DomainNETBIOS)</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Install-ADDSForest -DomainMode Win2012 -ForestMode Win2012 -DomainNetbiosName $DomainNETBIOS -CreateDnsDelegation:$false -DatabasePath <span style="color: #006080">"$DatabasePath"</span> -DomainName <span style="color: #006080">"$DomainName"</span> -InstallDns:$true -LogPath <span style="color: #006080">"$LogPath"</span> -NoRebootOnCompletion:$true -SysvolPath <span style="color: #006080">"$SysVolPath"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">}</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">Write-Host <span style="color: #006080">"Getting AD Information - please answer the following questions"</span> -ForegroundColor White</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">$DName = Read-Host <span style="color: #006080">"Please provide domain name for you AD Installation"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">$NetB = Read-Host <span style="color: #006080">"Please provide the NETBIOS name for this domain"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">$DBPath = Read-Host <span style="color: #006080">"Please provide a path for the Directory Database"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">$LPath = Read-Host <span style="color: #006080">"Please provide a path for the Directory Logs"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">$SVol = Read-Host <span style="color: #006080">"Please provide a path for the SysVol folder"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">Write-Host <span style="color: #006080">""</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">Write-Host <span style="color: #006080">"Creating Directories"</span> -ForegroundColor Green</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">New-Item $DBPath -ItemType Directory -Force</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">New-Item $LPath -ItemType Directory -Force</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">New-Item $SVol -ItemType Directory -Force</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">Write-Host <span style="color: #006080">""</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">inst_AD $DBPath $LPath $SVol $DName $NetB</pre>
<p><!--CRLF--></p>
</div>
</div>
<h2>Installing Active Directory on your Windows 2012 Domain Controller</h2>
<p>In order to install Active Directory on the LAB domain controller – I downloaded the above script to my VM guest (well actually I wrote it on the Domain Controller; but you get what I mean).</p>
<p>Before you use the script in your environments you will need to ensure that your server’s Powershell execution policy is set to “<strong><em>RemoteSigned</em></strong>” – see the following article that I posted <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDIvcXVpY2stdGlwLXJ1bm5pbmctZXhjaGFuZ2UtYmFzZWQtcG93ZXJzaGVsbC1zY3JpcHQtZmlsZXMtZnJvbS10aGUtY29tbWFuZC1saW5lLW9yLWEtYmF0Y2gtZmlsZS8=" target=\"_blank\">here</a> for further information.</p>
<p>Then open a Powershell console window and navigate to the location where the script is located on your VM, and type the following:</p>
<pre>.\instADWindows2012.ps1</pre>
<p><img title="19-01-201313-17-37" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-01-201313-17-37" src="http://www.telnetport25.com/wp-content/uploads/2013/01/19-01-201313-17-37.png" width="478" height="91"></p>
<p>The script will then execute – firstly it will install the Active Directory Domain Services role and management tools and then it will prompt you for the DNS domain name for your AD domain. In my Lab I have used “<strong><em>artTest.local</em></strong>”</p>
<p><img title="19-01-201313-18-02" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-01-201313-18-02" src="http://www.telnetport25.com/wp-content/uploads/2013/01/19-01-201313-18-02.png" width="544" height="276"></p>
<p>The script will then prompt you further for the following information:</p>
<ul>
<li>NetBIOSName for the domain
<li>Location of the Directory database (<em>this <strong><span style="text-decoration: underline">MUST NOT</span></strong> have a trailing slash at the end</em>)
<li>Location of the Directory Logs (<em>this <strong><span style="text-decoration: underline">MUST NOT</span></strong> have a trailing slash at the end</em>)
<li>Location of the Directory SysVOL folder (<em>this <strong><span style="text-decoration: underline">MUST NOT</span></strong> have a trailing slash at the end</em>) </li>
</ul>
<p><img title="19-01-201313-19-22" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-01-201313-19-22" src="http://www.telnetport25.com/wp-content/uploads/2013/01/19-01-201313-19-22.png" width="605" height="591"></p>
<p>You will be prompted for the “<strong><em>SafeModeAdministratorPassword</em></strong>” – this is the equivalent of the traditional “<strong><em>Directory Services Restore Mode</em></strong>” Password of old but can also be used when starting the Domain Controller in “<strong><em>Safe Mode</em></strong>”.</p>
<p><img title="19-01-201313-19-53" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-01-201313-19-53" src="http://www.telnetport25.com/wp-content/uploads/2013/01/19-01-201313-19-53.png" width="437" height="81"></p>
<p>You will then be asked to confirm that you wish for the installation process to configure your server as a domain controller – confirm with “<strong><em>Y</em></strong>” to continue.</p>
<p><img title="19-01-201313-20-12" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-01-201313-20-12" src="http://www.telnetport25.com/wp-content/uploads/2013/01/19-01-201313-20-12.png" width="630" height="72"></p>
<p>The Install-ADDSForest cmdlet will then continue with the installation of the Director Services on your domain controller.</p>
<p><img title="19-01-201313-20-29" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-01-201313-20-29" src="http://www.telnetport25.com/wp-content/uploads/2013/01/19-01-201313-20-29.png" width="591" height="83"></p>
<p>During the configuration you may see a number of warnings similar to those in the example below – these can be safely ignored as this is a test Lab that will only consist of Windows 2012 machines and no other DNS servers.</p>
<p><img title="19-01-201313-20-49" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-01-201313-20-49" src="http://www.telnetport25.com/wp-content/uploads/2013/01/19-01-201313-20-49.png" width="624" height="222"></p>
<p>When the process has completed you will be presented with a short summary of the actions completed. You will need to reboot your VM.</p>
<p><img title="19-01-201313-21-39" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-01-201313-21-39" src="http://www.telnetport25.com/wp-content/uploads/2013/01/19-01-201313-21-39.png" width="624" height="82"></p>
<p>To reboot the machine – type:</p>
<pre>Restart-Computer</pre>
<p>At the management shell prompt.</p>
<p><img title="19-01-201313-22-16" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-01-201313-22-16" src="http://www.telnetport25.com/wp-content/uploads/2013/01/19-01-201313-22-16.png" width="285" height="27"></p>
<h2>In the next part</h2>
<p>We are getting nearer the “<strong><em>sexy</em></strong>” parts in terms of Exchange 2013, however I will be focussing on installing Certificate Services on your new Domain Controller.</p>
<div class="shr-publisher-1702"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0yLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItYWQtaW5zdGFsbGF0aW9uLw==" data-shr_title='Building+an+Exchange+2013+LAB+Environment+using+Windows+Server+2012+from+scratch+%26ndash%3B+Part+2%3A+Active+Directory+Domain+Controller%3A+AD+Installation%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1702" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/01/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-2-active-directory-domain-controller-ad-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building an Exchange 2013 LAB Environment using Windows Server 2012 from scratch &#8211; Part 1: Active Directory Domain Controller O/S Install&#8230;</title>
		<link>http://www.telnetport25.com/2013/01/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-1-active-directory-domain-controller-os-install/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-1-active-directory-domain-controller-os-install</link>
		<comments>http://www.telnetport25.com/2013/01/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-1-active-directory-domain-controller-os-install/#comments</comments>
		<pubDate>Sat, 19 Jan 2013 16:02:28 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Test Labs]]></category>
		<category><![CDATA[Windows Hyper-V Server 2012]]></category>
		<category><![CDATA[Windows Server 2012 [ Active Directory ]]]></category>
		<category><![CDATA[Windows Server 2012 [ Install ]]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Powerhshell]]></category>
		<category><![CDATA[Windows Server 2012]]></category>
		<category><![CDATA[Windows Server 2012 Active Directory]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1687</guid>
		<description><![CDATA[Times change, people change – and as well all know, technology changes as well. The last part of that sentence could not be more true of Windows, Active Directory and Exchange Server recently. Back in the day (from around 2000 / 2001) – you could set up a working Active Directory / Exchange environment up [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Times change, people change – and as well all know, technology changes as well. The last part of that sentence could not be more true of Windows, Active Directory and Exchange Server recently.</p>
<p>Back in the day (<em>from around 2000 / 2001</em>) – you could set up a working Active Directory / Exchange environment up in your test lab probably in a day. However as the products have evolved over the years the feature set has expanded there is much more to consider, and a number of traditionally familiar ways of doing things have changed.</p>
<p>Whereas it is probably wrong to say that things have become more complex (<em>although to a certain degree this is also true</em>) – the gap between terminology and processes to get your environments up and running has expanded between Windows 2000, 2003, 2008, and Windows 2012.</p>
<p>So, with this borne in mind I have decided to put out an article series which takes you through the process of setting up a simple Exchange 2013 test lab from scratch on Windows Hyper-V server. As I go through the series I will pass on some tips and Powershell scripts which hopefully will make you lives easier – as well as demonstrate some of the areas that have had a major overhaul in both Windows and Exchange.</p>
<h2>Configuring Hyper-V</h2>
<p>This article is based around Hyper-V 3.0 which shipped with Windows 2012. I am personally using Windows 2012 Core with the Hyper-V role installed, but the processes within this article also apply to Windows Server 2012 Hyper-V installed with the full Windows GUI.</p>
<p>First of all – it is probably best to give you an overview of the topology of the lab environment that I have provisioned for this set of articles along with the specification of each Virtual Machine.</p>
<p><img title="artTestLocalSchematic" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="artTestLocalSchematic" src="http://www.telnetport25.com/wp-content/uploads/2013/01/artTestLocalSchematic.png" width="630" height="541" /></p>
<p>The Hyper-V host is provisioned with a single Inter i7 Quad Core processor and 32 GB of RAM. The server has around 4 Terabytes of usable storage connected via SATA 3, full specifications of the test rig can be found here: <a title=\"http://www.telnetport25.com/2011/11/the-new-test-lab-rig-is-born/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTEvMTEvdGhlLW5ldy10ZXN0LWxhYi1yaWctaXMtYm9ybi8=">http://www.telnetport25.com/2011/11/the-new-test-lab-rig-is-born/</a></p>
<p>I am running Windows Server 2012 Data Centre Core – with Hyper-V installed on the server.</p>
<p>At the networking layer &#8211; I have created two V-Switches within Hyper-V:</p>
<ul>
<li>Public V-Switch – used for Public network communications (as an External within the Hyper-V Manager) </li>
<li>Private V-Switch – used for Private network communications – this will be used as the replication network for Exchange 2013 Mailbox DAGs (as Private within the Hyper-V Manager) </li>
</ul>
<p>The environment consists of the following servers:</p>
<table class="MsoTable15List4Accent5" style="border-collapse: collapse; line-height: normal; mso-border-alt: solid #8eaadb .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes; mso-yfti-lastfirstrow: yes">
<td style="border-top: #4472c4 1pt solid; border-right: medium none; background: #4472c4; border-bottom: #4472c4 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #4472c4 1pt solid; padding-right: 5.4pt; mso-border-themecolor: accent5; mso-border-top-alt: solid #4472c4 .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #4472c4 .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #4472c4 .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 5"><b><span style="mso-themecolor: background1"><span style="font-family: calibri"><span style="font-size: 10pt; color: #ffffff">Name:</span></span></span></b></p>
</td>
<td style="border-top: #4472c4 1pt solid; border-right: #4472c4 1pt solid; background: #4472c4; border-bottom: #4472c4 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-themecolor: accent5; mso-border-top-alt: solid #4472c4 .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #4472c4 .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #4472c4 .5pt; mso-border-right-themecolor: accent5" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 1"><b><span style="mso-themecolor: background1"><span style="font-family: calibri"><span style="font-size: 10pt; color: #ffffff">art-DC-01</span></span></span></b></p>
</td>
</tr>
<tr style="mso-yfti-irow: 0">
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-alt: solid #8eaadb .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51" valign="top" colspan="2">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">&#160;</span></span></b></p>
</td>
</tr>
<tr style="mso-yfti-irow: 1">
<td style="border-top: medium none; border-right: medium none; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Role:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Domain Controller (GC and all FSMO Roles)</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 2">
<td style="border-top: medium none; border-right: medium none; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Memory:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">1.5 GB</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 3">
<td style="border-top: medium none; border-right: medium none; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">V-CPU:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">1</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 4">
<td style="border-top: medium none; border-right: medium none; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Disk:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">C:\ [100 GB] T:\ [20 GB]</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 5">
<td style="border-top: medium none; border-right: medium none; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">NIC:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">1 [Public V-Switch]</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 6">
<td style="border-top: medium none; border-right: medium none; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">O/S:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Windows 2012 Standard</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 7; mso-yfti-lastrow: yes">
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-alt: solid #8eaadb .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153" valign="top" colspan="2">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">&#160;</span></span></b></p>
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table class="MsoTable15List4Accent5" style="border-collapse: collapse; line-height: normal; mso-border-alt: solid #8eaadb .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes; mso-yfti-lastfirstrow: yes">
<td style="border-top: #4472c4 1pt solid; border-right: medium none; background: #4472c4; border-bottom: #4472c4 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #4472c4 1pt solid; padding-right: 5.4pt; mso-border-themecolor: accent5; mso-border-top-alt: solid #4472c4 .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #4472c4 .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #4472c4 .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 5"><b><span style="mso-themecolor: background1"><span style="font-family: calibri"><span style="font-size: 10pt; color: #ffffff">Name:</span></span></span></b></p>
</td>
<td style="border-top: #4472c4 1pt solid; border-right: #4472c4 1pt solid; background: #4472c4; border-bottom: #4472c4 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-themecolor: accent5; mso-border-top-alt: solid #4472c4 .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #4472c4 .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #4472c4 .5pt; mso-border-right-themecolor: accent5" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 1"><b><span style="mso-themecolor: background1"><span style="font-family: calibri"><span style="font-size: 10pt; color: #ffffff">art-MBXCAS-01</span></span></span></b></p>
</td>
</tr>
<tr style="mso-yfti-irow: 0">
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-alt: solid #8eaadb .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51" valign="top" colspan="2">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">&#160;</span></span></b></p>
</td>
</tr>
<tr style="mso-yfti-irow: 1">
<td style="border-top: medium none; border-right: medium none; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Role:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Exchange 2013 Server with MBX and CAS roles</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 2">
<td style="border-top: medium none; border-right: medium none; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Memory:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">5 GB</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 3">
<td style="border-top: medium none; border-right: medium none; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">V-CPU:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">2</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 4">
<td style="border-top: medium none; border-right: medium none; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Disk:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">C:\ [100 GB] X:\ [60 GB]</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 5">
<td style="border-top: medium none; border-right: medium none; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">NIC:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">2 [Public V-Switch] and [Private V-Switch]</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 6">
<td style="border-top: medium none; border-right: medium none; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">O/S:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Windows 2012 Data Centre</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 7; mso-yfti-lastrow: yes">
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-alt: solid #8eaadb .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153" valign="top" colspan="2">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">&#160;</span></span></b></p>
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table class="MsoTable15List4Accent5" style="border-collapse: collapse; line-height: normal; mso-border-alt: solid #8eaadb .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes; mso-yfti-lastfirstrow: yes">
<td style="border-top: #4472c4 1pt solid; border-right: medium none; background: #4472c4; border-bottom: #4472c4 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #4472c4 1pt solid; padding-right: 5.4pt; mso-border-themecolor: accent5; mso-border-top-alt: solid #4472c4 .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #4472c4 .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #4472c4 .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 5"><b><span style="mso-themecolor: background1"><span style="font-family: calibri"><span style="font-size: 10pt; color: #ffffff">Name:</span></span></span></b></p>
</td>
<td style="border-top: #4472c4 1pt solid; border-right: #4472c4 1pt solid; background: #4472c4; border-bottom: #4472c4 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-themecolor: accent5; mso-border-top-alt: solid #4472c4 .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #4472c4 .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #4472c4 .5pt; mso-border-right-themecolor: accent5" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 1"><b><span style="mso-themecolor: background1"><span style="font-family: calibri"><span style="font-size: 10pt; color: #ffffff">art-MBXCAS-02</span></span></span></b></p>
</td>
</tr>
<tr style="mso-yfti-irow: 0">
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-alt: solid #8eaadb .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51" valign="top" colspan="2">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">&#160;</span></span></b></p>
</td>
</tr>
<tr style="mso-yfti-irow: 1">
<td style="border-top: medium none; border-right: medium none; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Role:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Exchange 2013 Server with MBX and CAS roles</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 2">
<td style="border-top: medium none; border-right: medium none; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Memory:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">5 GB</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 3">
<td style="border-top: medium none; border-right: medium none; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">V-CPU:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">2</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 4">
<td style="border-top: medium none; border-right: medium none; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Disk:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">C:\ [100 GB] X:\ [60 GB]</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 5">
<td style="border-top: medium none; border-right: medium none; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">NIC:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">2 [Public V-Switch] and [Private V-Switch]</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 6">
<td style="border-top: medium none; border-right: medium none; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">O/S:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Windows 2012 Data Centre</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 7; mso-yfti-lastrow: yes">
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-alt: solid #8eaadb .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153" valign="top" colspan="2">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">&#160;</span></span></b></p>
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<table class="MsoTable15List4Accent5" style="border-collapse: collapse; line-height: normal; mso-border-alt: solid #8eaadb .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes; mso-yfti-lastfirstrow: yes">
<td style="border-top: #4472c4 1pt solid; border-right: medium none; background: #4472c4; border-bottom: #4472c4 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #4472c4 1pt solid; padding-right: 5.4pt; mso-border-themecolor: accent5; mso-border-top-alt: solid #4472c4 .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #4472c4 .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #4472c4 .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 5"><b><span style="mso-themecolor: background1"><span style="font-family: calibri"><span style="font-size: 10pt; color: #ffffff">Name:</span></span></span></b></p>
</td>
<td style="border-top: #4472c4 1pt solid; border-right: #4472c4 1pt solid; background: #4472c4; border-bottom: #4472c4 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-themecolor: accent5; mso-border-top-alt: solid #4472c4 .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #4472c4 .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #4472c4 .5pt; mso-border-right-themecolor: accent5" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 1"><b><span style="mso-themecolor: background1"><span style="font-family: calibri"><span style="font-size: 10pt; color: #ffffff">art-MBX-01</span></span></span></b></p>
</td>
</tr>
<tr style="mso-yfti-irow: 0">
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-alt: solid #8eaadb .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51" valign="top" colspan="2">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">&#160;</span></span></b></p>
</td>
</tr>
<tr style="mso-yfti-irow: 1">
<td style="border-top: medium none; border-right: medium none; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Role:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Exchange 2013 Server with MBX and CAS roles</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 2">
<td style="border-top: medium none; border-right: medium none; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Memory:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">5 GB</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 3">
<td style="border-top: medium none; border-right: medium none; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">V-CPU:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">2</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 4">
<td style="border-top: medium none; border-right: medium none; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Disk:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">C:\ [100 GB] X:\ [60 GB]</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 5">
<td style="border-top: medium none; border-right: medium none; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">NIC:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">2 [Public V-Switch] and [Private V-Switch]</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 6">
<td style="border-top: medium none; border-right: medium none; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-left-alt: solid #8eaadb .5pt; mso-border-left-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-left-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 68"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">O/S:</span></span></b></p>
</td>
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; background: #d9e2f3; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: medium none; padding-right: 5.4pt; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-bottom-alt: solid #8eaadb .5pt; mso-border-bottom-themecolor: accent5; mso-background-themecolor: accent5; mso-border-right-alt: solid #8eaadb .5pt; mso-border-right-themecolor: accent5; mso-border-top-themetint: 153; mso-background-themetint: 51; mso-border-bottom-themetint: 153; mso-border-right-themetint: 153" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 64"><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">Windows 2012 Data Centre</span></span></p>
</td>
</tr>
<tr style="mso-yfti-irow: 7; mso-yfti-lastrow: yes">
<td style="border-top: medium none; border-right: #8eaadb 1pt solid; border-bottom: #8eaadb 1pt solid; padding-bottom: 0cm; padding-top: 0cm; padding-left: 5.4pt; border-left: #8eaadb 1pt solid; padding-right: 5.4pt; mso-border-alt: solid #8eaadb .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #8eaadb .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153" valign="top" colspan="2">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; mso-yfti-cnfc: 4"><b><span style="font-family: calibri"><span style="font-size: 10pt; color: #000000">&#160;</span></span></b></p>
</td>
</tr>
</tbody>
</table>
<h2>Provisioning the Domain Controller in Hyper-V</h2>
<p>To provision the Domain Controller within Windows Server Hyper-V 2012 open the the Hyper-V Manager tool. When the management interface has loaded, from the “<strong><em>Actions</em></strong>” menu (<em>on the right hand side</em>) select [ <strong><em>New-&gt; Virtual Machine</em></strong> ]. This will begin the New Virtual Machine Wizard.</p>
<p>You will be asked to provide a name for your VM (<em>I have used art-DC-01 – but you can call your domain controller whatever your would like</em>). You should also choose the location where you would like the Virtual Machines files – you can either accept the default location that is configured within Hyper-V – or you can tick the “<strong><em>Store the virtual machine in a different location</em></strong>” tick box and select another disk.</p>
<p>When you are done click on the “<strong><em>Next</em></strong>” button.</p>
<p><img title="18-01-201318-58-35" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201318-58-35" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201318-58-35.png" width="630" height="474" /></p>
<p>You will then be asked how much RAM you would like to allocate to your Virtual Machine – in my LAB I have chosen 1.5 GB – you can allocate more, but I would not recommend less. You can also choose to use Dynamic Memory for the VM. When you have finished click on the “<strong><em>Next</em></strong>” button.</p>
<p><img title="18-01-201318-59-30" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201318-59-30" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201318-59-30.png" width="630" height="474" /></p>
<p>You will now need to configure the Network connection that you wish to make available to the Virtual machine. As I mentioned above, in my environment I have two connections, one Public and one Private. Select the connection in your environment that will allow for the VM to be visible to all machines on your network. When you are done click on the “<strong><em>Next</em></strong>” button.</p>
<p><img title="18-01-201319-00-51" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-00-51" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-00-51.png" width="630" height="474" /></p>
<p>You will then be asked to configure a system disk for your VM. You will need to give it a name, provide the location where you would like it stored (<em>this should be with the VM configuration files</em>), the size of the disk (I am using 110GB). When you are happy click on the “<strong><em>Next</em></strong>” button.</p>
<p><img title="19-01-201314-33-08" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="19-01-201314-33-08" src="http://www.telnetport25.com/wp-content/uploads/2013/01/19-01-201314-33-08.png" width="630" height="474" /></p>
<p>You will then be asked to provide the location of the Installation files for your operating system. I have downloaded the Windows 2012 installation ISO to a location on my Hyper-V host, therefore I choose the option “<strong><em>Install an operating system from a boot CD/DVD-ROM</em></strong>” and located the ISO. You will need to select the option which suites your own and then click on the “<strong><em>Next</em></strong>” button.</p>
<p><img title="18-01-201319-03-00" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-03-00" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-03-00.png" width="630" height="474" /></p>
<p>You will then be presented with a summary of your configuration options – please take time to review them, then click on the “<strong><em>Finish</em></strong>” button.</p>
<p><img title="18-01-201319-03-58" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-03-58" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-03-58.png" width="630" height="474" /></p>
<h2>Installing Windows Server 2012</h2>
<p>When your VM has been provisioned and appears in the Hyper-V Management Console – right click on its entry and from the context menu that appears choose the “<strong><em>Start</em></strong>” option. When then machine has started, again right click on its entry and from the context menu choose “<strong><em>Connect</em></strong>”.</p>
<p>The Windows 2012 setup process should have begun and you should be presented with the Locale screen as per the example below. Choose the options that suit your own configuration best and then click on the “<strong><em>Next</em></strong>” button.</p>
<p><img title="18-01-201319-05-49" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-05-49" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-05-49.png" width="619" height="458" /></p>
<p>On the next screen click on the “<strong><em>Install Now</em></strong>” option.</p>
<p><img title="18-01-201319-06-49" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-06-49" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-06-49.png" width="620" height="458" /></p>
<p>You will then be asked to provide your license key for the edition of Windows that you intend to install. Within my LAB the domain controller is going to be running on Windows Server 2012 Standard Edition, but you can provide a key for whatever version you are licensed for. When done click on the “<strong><em>Next</em></strong>” button.</p>
<p><img title="18-01-201319-08-27" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-08-27" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-08-27.png" width="639" height="480" /></p>
<p>On the “<strong><em>Select the operating system that you want to install</em></strong>” screen – choose the GUI version of the O/S that you provided the license key for in the previous step. When you are done click on the “<em><strong>Next</strong></em>” button.</p>
<p><img title="18-01-201319-13-32" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-13-32" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-13-32.png" width="639" height="480" /></p>
<p>You will then be asked to confirm that you accept the licensing agreement for the operating system, select the “<strong><em>I accept the license terms</em></strong>” and then click on the “<strong><em>Next</em></strong>” button.</p>
<p><img title="18-01-201319-14-23" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-14-23" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-14-23.png" width="640" height="480" /></p>
<p>You will then be asked if you would like to upgrade an existing install of Windows, or choose a custom install – select the custom install option. This will give you the chance (<em>should you wish</em>) to customise the disk partitions of your VM. When you are done click on the “<strong><em>Next</em></strong>” button. For the purposes of my LAB I made no changes and gave the entire 100GB to the O/S.</p>
<p><img title="18-01-201319-15-15" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-15-15" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-15-15.png" width="641" height="480" /></p>
<p>Windows setup will then proceed to install the O/S on your VM – there may be several reboots during this process.</p>
<p><img title="18-01-201319-16-09" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-16-09" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-16-09.png" width="640" height="479" /></p>
<p>When Windows setup has completed you will be asked to provide a local administrator password for the VM.</p>
<p><img title="18-01-201319-24-03" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-24-03" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-24-03.png" width="679" height="291" /></p>
<p>When the password has been set – you will be able to log into your new VM and begin the process of configuring it as a LAB domain controller.</p>
<p><img title="18-01-201319-25-05" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-25-05" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-25-05.png" width="433" height="661" /></p>
<h2>Configuring your Virtual Machine</h2>
<p>When you have logged onto the VM you will need to configure a number of settings within your Operating System. In order to do this I will take you through how you can use Powershell to modify the following:</p>
<ul>
<li>Local Computer Name (as Windows Setup provides you with a default name) </li>
<li>IP Addressing </li>
</ul>
<h3>Configure Your Computer Name</h3>
<p>Open a Powershell session on your VM and at the prompt type:</p>
<pre>Rename-Computer &lt;computername&gt;</pre>
<p>
  <br />Therefore in my LAB – my domain controller is to be called art-DC-01 – therefore the command is:</p>
<p></p>
<pre>Rename-Computer art-DC-01</pre>
<p><img title="18-01-201320-02-13" style="display: inline" alt="18-01-201320-02-13" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201320-02-13.png" width="716" height="99" /></p>
<p>You need to restart the VM for the new name to take effect – and this can be done by typing:</p>
<pre>Restart-Computer</pre>
<p>However if you wish to save time, hold off on restarting your machine until you have configured your IP settings.</p>
<h3>Configuring your IP settings</h3>
<p>As Powershell has advanced – there are now a number of new cmdlets that let you control a huge number of aspects of your Operating System configuration. Once such advance is the ability to configure IP settings from the shell.</p>
<p>From within your Powershell Window type in the following command:</p>
<pre>New-NetIPAddress –InterfaceAlias “Ethernet” –IPAddress &lt;your chosen IP&gt; –AddressFamily IPv4 –PrefixLength 24 –DefaultGateway &lt;Gateway address&gt;</pre>
<p>Breaking this command down – some of the parameters might seem a little unfamiliar – therefore:</p>
<ul>
<li>-<strong>InterfaceAlias</strong> – the name of the Network adapter on your system that you wish to apply the address to. When Windows Server 2012 was setup the network adapter that you assigned to the VM will be given the default name of “Ethernet” </li>
<li><strong>-AddressFamily</strong> – stipulates if you are providing a IP4 address or IP6 – in our example we are using IPv4 </li>
<li><strong>-PrefixLength</strong> – This is essentially the subnet mask – in my LAB I am using a /24 subnet which translates to 255.255.255.0 </li>
</ul>
<p>Given the above the command for my server looks like:</p>
<pre>New-NetIPAddress –InterfaceAlias “Ethernet” –IPAddress 172.31.253.107 –AddressFamily IPv4 –PrefixLength 24 –DefaultGateway 172.31.253.129</pre>
<h3></h3>
<p><img title="18-01-201319-40-00" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="18-01-201319-40-00" src="http://www.telnetport25.com/wp-content/uploads/2013/01/18-01-201319-40-00.png" width="630" height="406" /></p>
<p>It is also a good idea at this point to configure a DNS server (<em>as in the next step you should install any available Windows updates</em>). You can do this from the shell by using the following command:</p>
<pre>Set-DNSClientServerAddress –InterfaceAlias “Ethernet” –ServerAddresses &lt;DNS Servers separated via a comma&gt;</pre>
<p>
  <br />Therefore in my LAB I have assigned a DNS server address of 172.31.253.130 using:</p>
<p></p>
<pre>Set-DNSClientServerAddress –InterfaceAlias “Ethernet” –ServerAddresses 172.31.253.130</pre>
<p>
  <br />Reboot your computer using the</p>
<p></p>
<pre>Restart-Computer</pre>
<p>Powershell command and then install any required windows updates.</p>
<h2>In the next part</h2>
<p>I will take you through how you can install Active Directory on your new Domain Controller.</p>
<div class="shr-publisher-1687"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvYnVpbGRpbmctYW4tZXhjaGFuZ2UtMjAxMy1sYWItZW52aXJvbm1lbnQtdXNpbmctd2luZG93cy1zZXJ2ZXItMjAxMi1mcm9tLXNjcmF0Y2gtcGFydC0xLWFjdGl2ZS1kaXJlY3RvcnktZG9tYWluLWNvbnRyb2xsZXItb3MtaW5zdGFsbC8=" data-shr_title='Building+an+Exchange+2013+LAB+Environment+using+Windows+Server+2012+from+scratch+%26ndash%3B+Part+1%3A+Active+Directory+Domain+Controller+O%2FS+Install%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1687" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/01/building-an-exchange-2013-lab-environment-using-windows-server-2012-from-scratch-part-1-active-directory-domain-controller-os-install/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Exchange Distribution List Reporting Tool&#8230;</title>
		<link>http://www.telnetport25.com/2013/01/the-exchange-distribution-list-reporting-tool/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-exchange-distribution-list-reporting-tool</link>
		<comments>http://www.telnetport25.com/2013/01/the-exchange-distribution-list-reporting-tool/#comments</comments>
		<pubDate>Sat, 12 Jan 2013 22:51:46 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2010 (Admin)]]></category>
		<category><![CDATA[Exchange 2010 (General)]]></category>
		<category><![CDATA[Exchange Programming .NET]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Distribution List Reporting Tool]]></category>
		<category><![CDATA[Exchange 2010 Distribution Lists]]></category>
		<category><![CDATA[Reporting]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1663</guid>
		<description><![CDATA[NOTE: Versions 1.0, 1.1 and 1.2 of this tool have now been superseded by version 2.0 of this tool – you can find the associated article here: http://www.telnetport25.com/2013/01/releasedversion-2-0-of-the-distribution-list-reporting-tool-dlrt/ NOTE: If you would like to install the DLRT on Exchange 2013 – please use the version that has been posted here: http://www.telnetport25.com/2013/02/released-version-2-0-of-the-dlrt-for-exchange-2013/ A couple of organisations [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><blockquote><p><strong><u>NOTE:</u></strong> Versions 1.0, 1.1 and 1.2 of this tool have now been superseded by version 2.0 of this tool – you can find the associated article here: <a title=\"http://www.telnetport25.com/2013/01/releasedversion-2-0-of-the-distribution-list-reporting-tool-dlrt/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvcmVsZWFzZWR2ZXJzaW9uLTItMC1vZi10aGUtZGlzdHJpYnV0aW9uLWxpc3QtcmVwb3J0aW5nLXRvb2wtZGxydC8=">http://www.telnetport25.com/2013/01/releasedversion-2-0-of-the-distribution-list-reporting-tool-dlrt/</a></p>
<p><strong><u>NOTE:</u></strong> If you would like to install the DLRT on Exchange 2013 – please use the version that has been posted here: <a title=\"http://www.telnetport25.com/2013/02/released-version-2-0-of-the-dlrt-for-exchange-2013/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDIvcmVsZWFzZWQtdmVyc2lvbi0yLTAtb2YtdGhlLWRscnQtZm9yLWV4Y2hhbmdlLTIwMTMv">http://www.telnetport25.com/2013/02/released-version-2-0-of-the-dlrt-for-exchange-2013/</a></p>
</blockquote>
<p>A couple of organisations that I have worked for over the years have had a need to provide some form of reporting to staff who are employed outside of the IT department that enables some oversight of Exchange Distribution List membership. In the main this has been a requirement from HR departments who have taken on the responsibility of managing Distribution lists within their respective organisations. </p>
<p>Given that management of Distribution lists can be easily delegated &#8211; but <strong><em>simple</em></strong> reporting on membership is not (<em>remember for people outside IT using Powershell is probably a “no no”</em>) – I wrote the DLRT (<strong>D</strong>istribution <strong>L</strong>ist <strong>R</strong>eporting <strong>T</strong>ool) for those two organisations and decided to release it on my blog; just in case someone else out there is looking for some thing similar.</p>
<h2>Pre-Requisites</h2>
<p>The following are the pre-requisites for the Distribution List Reporting Tool.</p>
<ul>
<li>Windows Server 2008 R2 </li>
<li>IIS 7.0 </li>
<li>.NET Framework 3.5 or above </li>
<li>Access to Active Directory Users and Computers and the rights to setup a new account in Active Directory and grant “Account Operators” rights </li>
<li>Exchange 2010 </li>
<li>Exchange 2010 Management Tools installed on the chosen server </li>
</ul>
<h2>Download</h2>
<p>Download the following self extracting archive to a server on your network which meets specification in the pre-requisites section.</p>
<p><img title="cntMstr006" border="0" alt="cntMstr006" src="http://www.telnetport25.com/wp-content/uploads/2011/09/cntMstr006.jpg" width="53" height="53" />&#160; [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvZGxydC9EaXN0SW5zdGFsbFNldHVwLmV4ZQ==" target=\"_blank\">Distribution List Reporting Tool – Version 1.2 – 168KB</a> ]</p>
<h2>Installation and Setup</h2>
<p>Double click on the setup file (<strong><em>DistInstallSetup.exe</em></strong>)&#160; that you have downloaded to your chosen server – click on the “<strong><em>OK</em></strong>” button.</p>
<p><img title="12-01-201320-02-11" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201320-02-11" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201320-02-11.png" width="405" height="126" /></p>
<p>You will be asked where you would like to place the installation files – you can either accept the defaults or choose an alternate location, however you should make a note of where you place the files as you will need this information later on. When you are ready click on the “<strong><em>Unzip</em></strong>” button (<em>marked with the <strong><font color="#008040">green</font></strong> tick</em>).</p>
<p><img title="12-01-201320-02-52" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201320-02-52" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201320-02-52.png" width="351" height="215" /></p>
<p>When the extraction is complete, click on the “<strong><em>OK</em></strong>” button.</p>
<p><img title="12-01-201320-03-32" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201320-03-32" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201320-03-32.png" width="190" height="125" /></p>
<p>When the files have been extracted to your servers – open up Active Directory Users and Computers. Navigate to an appropriate OU or container, right click and from the context menu that appears choose [ <strong><em>New –&gt; User</em></strong> ] (<em><strong>marked with <font color="#008040">green</font> ticks below</strong></em>).</p>
<p><img title="12-01-201318-33-26" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201318-33-26" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201318-33-26.png" width="437" height="375" /></p>
<p>You will then be asked to create a new user object in the directory. This account will be used for the application pool within IIS for the DLRT. You can call the account whatever you like but, again remember your customisations as you will need them later on when configuring IIS.</p>
<p><img title="12-01-201318-36-54" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201318-36-54" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201318-36-54.png" width="441" height="371" /></p>
<p>Provide a password for your new user account – ensure that you select “<strong><em>User cannot change password</em></strong>” and “<strong><em>Password never expires</em></strong>” – when done, click on the “<strong><em>Next</em></strong>” button.</p>
<p><img title="12-01-201318-37-39" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201318-37-39" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201318-37-39.png" width="441" height="371" /></p>
<p>Confirm the creation of the user by clicking on the “<strong><em>Finish</em></strong>” button.</p>
<p><img title="12-01-201318-38-16" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201318-38-16" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201318-38-16.png" width="441" height="371" /></p>
<p>When you have created your user – you need to add it to the “<strong><em>Account Operators</em></strong>” group in Active Directory. Find the account that you have created, right click on it and from the context menu that appears select the “<strong><em>Add to group</em></strong>” option (<em>marked with a <strong><font color="#008000">green</font></strong> tick below</em>).</p>
<p><img title="12-01-201318-38-51" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201318-38-51" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201318-38-51.png" width="232" height="295" /></p>
<p>From the selection box that appears type in “<strong><em>Account Operators</em></strong>” and then click on the “<em><strong>OK</strong></em>” button.</p>
<p><img title="12-01-201318-40-00" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201318-40-00" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201318-40-00.png" width="464" height="247" /></p>
<p>You will then be presented with the operation completion dialog – click on the “<strong><em>OK</em></strong>” button.</p>
<p><img title="12-01-201318-40-39" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201318-40-39" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201318-40-39.png" width="371" height="145" /></p>
<p>Next you will need to open up the Internet Services Manager on your server. Navigate to “<strong><em>Application Pools</em></strong>” – right click on the entry and from the context menu that appears choose the “<strong><em>Add Application Pool</em></strong>” (<em>marked with a <strong><font color="#008040">green</font></strong> tick below</em>).</p>
<p><img title="12-01-201318-44-23" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201318-44-23" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201318-44-23.png" width="309" height="223" /></p>
<p>From the dialog box that appears provide a name for the Application Pool – and ensure that the other options are configured as per the example in the image below.</p>
<p><img title="12-01-201318-45-38" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201318-45-38" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201318-45-38.png" width="263" height="239" /></p>
<p>When the application pool has been created – it will appear in the right hand window pane of the IIS manager. Right click on it and from the context menu that appears select the “<strong><em>Advanced Settings</em></strong>” options – marked with the <strong><em><font color="#008040">green</font></em></strong> tick below.</p>
<p><img title="12-01-201318-46-40" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201318-46-40" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201318-46-40.png" width="318" height="320" /></p>
<p>The Advanced Settings dialog will appear – find the entry for “<strong><em>Identity</em></strong>” and click on the button next to the entry (<em>this is marked with the <strong><font color="#008040">green</font></strong> tick in the example below</em>).</p>
<p><img title="12-01-201318-48-08" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201318-48-08" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201318-48-08.png" width="450" height="550" /></p>
<p>From the dialog box that appears provide the name of the Active Directory account that you created earlier on.</p>
<p><img title="12-01-201318-50-29" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201318-50-29" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201318-50-29.png" width="359" height="347" /></p>
<p>You are now ready to add the IIS application. On you IIS web server – where you created the Application Pool – right click on the “<strong><em>Default Web Site</em></strong>” entry and from the context menu that appears choose the “<strong><em>Add Application</em></strong>” option – this is marked with a green tick in the example below.</p>
<p><img title="12-01-201319-04-42" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201319-04-42" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201319-04-42.png" width="257" height="283" /></p>
<p>Provide an alias for the application (<em>this will be the end of the URL that you connect to from IE</em>) – in the example below this is “<strong><em>reporter</em></strong>” – therefore the URL would be <strong>http://&lt;yourserver&gt;/reporter</strong>. Click on the “<strong><em>Select</em></strong>&quot; button for the application pool and choose the pool that you created in the earlier step.</p>
<p>Under “<strong><em>Physical Path</em></strong>” click on the “<strong>…</strong>” button and browse to the path where you extracted the setup files at the beginning of the setup process. Then you are done, click on the “<strong><em>OK</em></strong>” button.</p>
<p><img title="12-01-201319-11-35" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201319-11-35" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201319-11-35.png" width="448" height="311" /></p>
<p>When the application has been created, select it from the entries under the “<strong><em>Default Web Site</em></strong>” and then from the right hand window pane – double click on the “<strong><em>Authentication</em></strong>” entry.</p>
<p><img title="12-01-201319-14-27" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201319-14-27" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201319-14-27.png" width="339" height="112" /></p>
<p>Ensure that all of the authentication methods listed match the examples provided in the image below.</p>
<p><img title="12-01-201319-16-29" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201319-16-29" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201319-16-29.png" width="457" height="128" /></p>
<h2>Using the tool</h2>
<p>Open Internet Explorer and navigate to the server URL where you installed the tool – if you have followed the setup above this should be <strong><em>http://&lt;installationServer&gt;/reporter</em></strong> – the will present you with the DLRT landing page. Click on the “<strong><em>Populate</em></strong>” button (<em>marked with the <strong><font color="#008040">first green</font></strong> tick in the image below</em>) which will then populate the drop down list with all of the distribution lists that have been found. Click on the “<strong><em>Get Members</em></strong>” button to return all members of that lists (<em>this is marked with the <strong><font color="#008040">second green</font></strong> tick in the example below</em>).</p>
<p><img title="12-01-201319-23-27" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201319-23-27" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201319-23-27.png" width="627" height="606" /></p>
<p>All the members of the list will populate below the drop down list which contains the Distribution Lists. You can click on the “<strong><em>Print</em></strong>” button to send the report to your printer.</p>
<p><img title="12-01-201319-26-31" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201319-26-31" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201319-26-31.png" width="627" height="327" /></p>
<p>If you wish to report on all members of every distribution list in your organisation – click on the “<em><strong>Report on all lists</strong></em>” link at the top of the Reporting Tool screen. Then click on the “<strong><em>Generate</em></strong>” button (<em>highlighted with the <strong><font color="#008040">green</font></strong> tick in the image below</em>).</p>
<p><img title="12-01-201319-50-43" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201319-50-43" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201319-50-43.png" width="627" height="523" /></p>
<p>The Reporter will then give you a full overview of the membership of all detected distribution lists in your organisation.</p>
<p><img title="12-01-201319-52-42" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="12-01-201319-52-42" src="http://www.telnetport25.com/wp-content/uploads/2013/01/12-01-201319-52-42.png" width="627" height="867" /></p>
<p>I hope that someone out there finds this tool useful.</p>
<div class="shr-publisher-1663"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvdGhlLWV4Y2hhbmdlLWRpc3RyaWJ1dGlvbi1saXN0LXJlcG9ydGluZy10b29sLw==" data-shr_title='The+Exchange+Distribution+List+Reporting+Tool%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1663" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/01/the-exchange-distribution-list-reporting-tool/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Quick Tip &#8211; Recovering from a missing migration mailbox in Exchange 2013</title>
		<link>http://www.telnetport25.com/2013/01/quick-tiprecovering-from-a-missing-migration-mailbox-in-exchange-2013/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=quick-tiprecovering-from-a-missing-migration-mailbox-in-exchange-2013</link>
		<comments>http://www.telnetport25.com/2013/01/quick-tiprecovering-from-a-missing-migration-mailbox-in-exchange-2013/#comments</comments>
		<pubDate>Sat, 05 Jan 2013 15:05:33 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 (Admin)]]></category>
		<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Migration.8f3e7716-2011-43e4-96b1-aba62d229136]]></category>
		<category><![CDATA[Missing Migration Arbitration Mailbox]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1626</guid>
		<description><![CDATA[I have been doing some work with Exchange 2013 over the last couple of days testing some migration scenarios (cannot go into exact detail as a lot of the work is currently covered under Non-Disclosure Agreement [NDA]). What I can disclose is this little tip. Exchange makes use of a number of System mailboxes which [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I have been doing some work with Exchange 2013 over the last couple of days testing some migration scenarios (cannot go into exact detail as a lot of the work is currently covered under Non-Disclosure Agreement [NDA]). What I can disclose is this little tip.</p>
<p>Exchange makes use of a number of System mailboxes which are created setup in the root domain of Active Directory.</p>
<p>Users or administrators cannot login to these mailboxes as system mailboxes are created for internal Exchange features and associated processes within Unified Messaging (UM), migration, message approval, and In-Place e-Discovery.</p>
<p>One of these mailboxes is called:</p>
<pre>Migration.8f3e7716-2011-43e4-96b1-aba62d229136</pre>
<p>Which unsurprisingly is used for migration and mailbox move activities. Whilst working in my LAB I have been moving some mailboxes around between databases. Today, I was attempting another move – during this particular move I was presented with the following error in the Exchange Administrative Centre.</p>
<p><img style="float: none; margin-left: auto; display: block; margin-right: auto;" title="05-01-201314-25-22" alt="05-01-201314-25-22" src="http://www.telnetport25.com/wp-content/uploads/2013/01/05-01-201314-25-22.png" width="660" height="546" /></p>
<p>Now, I wasn’t too surprised at the above error, as I had to forcibly destroy the database which had previously contained the Migration.8f3e7716-2011-43e4-96b1-aba62d229136 mailbox. So, I now needed to get the Migration mailbox back.</p>
<p>Thankfully this is not a terribly difficult process – and involves the following steps:</p>
<ol>
<li>Run Exchange Setup with the following command line: <strong>setup /ps /IAcceptExchangeServerLicenseTerms</strong> – this will recreate the Active Directory account if it is missing.</li>
<li>Open an Exchange Management Shell window and type in the following commands:</li>
</ol>
<pre>Enable-Mailbox -Arbitration -Identity "Migration.8f3e7716-2011-43e4-96b1-aba62d229136"

Set-Mailbox "Migration.8f3e7716-2011-43e4-96b1-aba62d229136" -Arbitration –Management:$true</pre>
<p>These commands are shown below.</p>
<p><img style="float: none; margin-left: auto; display: block; margin-right: auto;" title="05-01-201314-28-10" alt="05-01-201314-28-10" src="http://www.telnetport25.com/wp-content/uploads/2013/01/05-01-201314-28-10.png" width="630" height="144" /></p>
<p>Once the commands have been entered, the Migration Mailbox should be recreated. If you have multiple domain controllers allow time for domain replication to take place and then retry the mailbox move.</p>
<div class="shr-publisher-1626"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvcXVpY2stdGlwcmVjb3ZlcmluZy1mcm9tLWEtbWlzc2luZy1taWdyYXRpb24tbWFpbGJveC1pbi1leGNoYW5nZS0yMDEzLw==" data-shr_title='Quick+Tip+-+Recovering+from+a+missing+migration+mailbox+in+Exchange+2013'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1626" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/01/quick-tiprecovering-from-a-missing-migration-mailbox-in-exchange-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Tip&#8211;adding multiple Remote IP Addresses to Receive Connectors&#8230;</title>
		<link>http://www.telnetport25.com/2013/01/quick-tipadding-multiple-remote-ip-addresses-to-receive-connectors/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=quick-tipadding-multiple-remote-ip-addresses-to-receive-connectors</link>
		<comments>http://www.telnetport25.com/2013/01/quick-tipadding-multiple-remote-ip-addresses-to-receive-connectors/#comments</comments>
		<pubDate>Sat, 05 Jan 2013 12:43:44 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2007 (Admin)]]></category>
		<category><![CDATA[Exchange 2007 (Hub Transport)]]></category>
		<category><![CDATA[Exchange 2010 (Admin)]]></category>
		<category><![CDATA[Exchange 2010 (Hub Transport)]]></category>
		<category><![CDATA[Exchange 2013 (Admin)]]></category>
		<category><![CDATA[Exchange 2013 (Transport)]]></category>
		<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[Adding IP addresses to Receive Connector]]></category>
		<category><![CDATA[Adding IP addresses to Receive Connector in bulk]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Powershell]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1621</guid>
		<description><![CDATA[A couple of weeks back an online buddy of mine contacted me to ask some advice. In essence his company was performing some major upgrades to their MPLS network which required some relatively significant changes to hosts that were allowed to relay off of the Exchange Server that was located on his site. We had [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>A couple of weeks back an online buddy of mine contacted me to ask some advice. In essence his company was performing some major upgrades to their MPLS network which required some relatively significant changes to hosts that were allowed to relay off of the Exchange Server that was located on his site.</p>
<p>We had a discussion and agreed that they best way to do this was probably to add a new Receive Connector to his Exchange server dedicated to the MPLS and add the relevant Remote IP Ranges to his Receive Connector. Of course this is where it got a little complicated. Well I say complicated – more labour intensive.</p>
<p>You see, my buddies parent company who was managing the MPLS upgrade, had supplied him with a large Excel Spread sheet which contained all of the IP addresses of the hosts which needed to relay off this connector – about 180 entries in total.</p>
<p>Luckily for my buddy (Phil) the Exchange Management Shell was his friend – and by using a simple Text file – a few loops and the Set-ReceiveConnector cmdlet it was pretty easy to put together a Powershell script that would process all of the Remote IP Ranges for him.</p>
<p>Now, I should point out that there are a number of ways in PowerShell that this can be accomplished if you have a look around the Internet – but pretty much all of the examples (<em>including mine</em>) involve concatenating new Remote Remote IP ranges to the existing list on the receive connector and then committing them. My version of the script is designed to make the process of getting multiple IP values out of a text file and added to a specific Receive Connector more straight forward.</p>
<h2>The Script</h2>
<p>The following is a preview of the script – you can copy and paste it from below to a blank PS1 file on your Exchange Server – or download it from the download section of this post.</p>
<div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: 'Courier New', courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4">
<div id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&lt;#</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">.DESCRIPTION</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">   Simple Powershell script that can bulk import remote IP ranges from a text file <span style="color: #0000ff">in</span> a determined Exchange Receive Connector.</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">   The Import of the Remote IP ranges maintains the original values which are already present on the Selected Connector.</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">.PARAMETERS</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">   None - execute directly from the Exchange Management Shell</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">.Version</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    0.1</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">.Author</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Andy Grogan</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    http:<span style="color: #008000">//www.telnetport25.com</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">.Compatibility</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">   Exchange 2007</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">   Exchange 2010</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">   Exchange 2013</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">.Release Date</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    Jan 2013</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">#&gt;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&nbsp;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">function Select-FileDialog </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">{</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">      param([<span style="color: #0000ff">string</span>]$Title,[<span style="color: #0000ff">string</span>]$Directory,[<span style="color: #0000ff">string</span>]$Filter=<span style="color: #006080">"Text Files (*.txt)|*.txt"</span>)</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">      [System.Reflection.Assembly]::LoadWithPartialName(<span style="color: #006080">"System.Windows.Forms"</span>) | Out-Null</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">      $objForm = New-Object System.Windows.Forms.OpenFileDialog</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">      $objForm.InitialDirectory = $Directory</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">      $objForm.Filter = $Filter</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">      $objForm.Title = $Title</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">      $objForm.ShowHelp = $<span style="color: #0000ff">true</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">      </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">      $Show = $objForm.ShowDialog()</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">      </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">      <span style="color: #0000ff">if</span> ($Show -eq <span style="color: #006080">"OK"</span>)</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">      {</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">            <span style="color: #0000ff">return</span> $objForm.FileName</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">      }</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">      <span style="color: #0000ff">else</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">      {</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">            exit</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">      }</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">}</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&nbsp;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">function get_RecConnector{</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&nbsp;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    $RecConns = Get-ReceiveConnector | Select -ExpandProperty Identity</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    $Count = 0;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Write-Host <span style="color: #006080">"Bulk Import of Remote IP Addresses for Exchange Receive Connectors"</span> -ForegroundColor Green</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    Write-Host <span style="color: #006080">"Version 0.1"</span> -ForegroundColor Green</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Write-Host <span style="color: #006080">"www.telnetport25.com"</span> -ForegroundColor Green</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    Write-Host <span style="color: #006080">""</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Write-Host <span style="color: #006080">"Detected Receive Connectors: "</span> -ForegroundColor Cyan</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    Write-Host <span style="color: #006080">""</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    <span style="color: #0000ff">foreach</span>($Connector <span style="color: #0000ff">in</span> $RecConns){</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">        Write-Host $Count <span style="color: #006080">"."</span> $Connector -ForegroundColor White</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">        $Count ++</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    }</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Write-Host <span style="color: #006080">""</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    $Choice = Read-Host <span style="color: #006080">"Please select the Receive Connector that you wish to work with."</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Write-Host <span style="color: #006080">""</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    import_RemoteIPRanges $RecConns[$Choice]</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">}</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&nbsp;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">function import_RemoteIPRanges{</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&nbsp;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    param($ConnectorID)</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    $FileName = Select-FileDialog <span style="color: #006080">"Open IP Range Text File..."</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    $IPs = Get-Content $FileName</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">        <span style="color: #0000ff">foreach</span>($IP <span style="color: #0000ff">in</span> $IPs){</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">            Write-Host <span style="color: #006080">"Adding IP Address :"</span> $IP <span style="color: #006080">" to "</span>$ConnectorID -ForegroundColor Cyan</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">              $Rcnn = Get-ReceiveConnector <span style="color: #006080">"$ConnectorID"</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">              $Rcnn.RemoteIPRanges += $IP</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">              Set-ReceiveConnector <span style="color: #006080">"$ConnectorID"</span> -RemoteIPRanges $Rcnn.RemoteIPRanges</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">&nbsp;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">        }</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">}</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&nbsp;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">get_RecConnector</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">Write-Host <span style="color: #006080">""</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">Write-Host <span style="color: #006080">"Script Completed."</span> -ForegroundColor Yellow</pre>
<p><!--CRLF--></p>
</div>
</div>
<h2>Download</h2>
<h4>Exchange 2010 and Exchange 2013</h4>
<p><img src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG"> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL0J1bGtJbXBvcnRSZW1vdGVJUG9uUmVjQ29ubi5wczE=" target=\"_blank\">BulkImportRemoteIPonRecConn.ps1 – 2.31KB</a> ]</p>
<h4>Exchange 2007</h4>
<p><img src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG"> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL0J1bGtJbXBvcnRSZW1vdGVJUG9uUmVjQ29ubkV4MjcucHMx" target=\"_blank\">BulkImportRemoteIPonRecConnEx27.ps1 – 2.2KB</a> ]</p>
<h2>Using the script</h2>
<p>Download the script file which is relevant to your version of Exchange to one of your Exchange Servers.</p>
<p>In order to run the script you will need to ensure that your Powershell execution policies are set correctly. Review the following post that I prepared last year: <a title=\"http://www.telnetport25.com/2012/02/quick-tip-running-exchange-based-powershell-script-files-from-the-command-line-or-a-batch-file/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDIvcXVpY2stdGlwLXJ1bm5pbmctZXhjaGFuZ2UtYmFzZWQtcG93ZXJzaGVsbC1zY3JpcHQtZmlsZXMtZnJvbS10aGUtY29tbWFuZC1saW5lLW9yLWEtYmF0Y2gtZmlsZS8=">http://www.telnetport25.com/2012/02/quick-tip-running-exchange-based-powershell-script-files-from-the-command-line-or-a-batch-file/</a> to check your settings.</p>
<p>Before you use the script you should ensure that you have all of the IP addresses that you wish to add to a particular Receive Connector stored within a text file.</p>
<p>Each host should appear on a separate line. You can also use the CDIR address notation for an entire subnet if you wish to allow all hosts in a range to relay (<em>for example add a line for 172.31.253.0/24</em>) .</p>
<p>An example file is shown below:</p>
<p><img title="05-01-201312-19-09" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="05-01-201312-19-09" src="http://www.telnetport25.com/wp-content/uploads/2013/01/05-01-201312-19-09.png" width="326" height="129"></p>
<p>Open the Exchange Management Shell, navigate to the directory where you have downloaded the script file and type:</p>
<pre>&lt;path&gt;.\BulkImportRemoteIPonRecConn.ps1</pre>
<p>You will then be presented with a list of all the detected receive connectors that the script has located. Choose the connector via its numerical identifier (<em>the numbers on the left hand side</em>).</p>
<p><img title="05-01-201312-21-03" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="05-01-201312-21-03" src="http://www.telnetport25.com/wp-content/uploads/2013/01/05-01-201312-21-03.png" width="645" height="258"></p>
<p>You will then be prompted to locate your IP Range text file – browse to it and then click on the “<strong><em>Open</em></strong>” button.</p>
<p><img title="05-01-201312-21-22" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="05-01-201312-21-22" src="http://www.telnetport25.com/wp-content/uploads/2013/01/05-01-201312-21-22.png" width="563" height="412"></p>
<p>The script will then process each host entry and add it to the selected Receive Connector.</p>
<p><img title="05-01-201312-21-53" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="05-01-201312-21-53" src="http://www.telnetport25.com/wp-content/uploads/2013/01/05-01-201312-21-53.png" width="650" height="361"></p>
<p>After the script has completed – if you check the [ <strong><em>Network –&gt; Receive Mail from remote servers that these IP addresses</em></strong> ] in the Exchange Management Console, you should see that your addresses have been added.</p>
<p><img title="05-01-201312-28-16" style="float: none; margin-left: auto; display: block; margin-right: auto" alt="05-01-201312-28-16" src="http://www.telnetport25.com/wp-content/uploads/2013/01/05-01-201312-28-16.png" width="444" height="497"></p>
<p>I hope that you find this post and script useful, and that it might help automate this process for someone else in the future.</p>
<div class="shr-publisher-1621"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvcXVpY2stdGlwYWRkaW5nLW11bHRpcGxlLXJlbW90ZS1pcC1hZGRyZXNzZXMtdG8tcmVjZWl2ZS1jb25uZWN0b3JzLw==" data-shr_title='Quick+Tip%26ndash%3Badding+multiple+Remote+IP+Addresses+to+Receive+Connectors%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1621" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/01/quick-tipadding-multiple-remote-ip-addresses-to-receive-connectors/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Exchange installs and upgrades the good, the bad and the ugly&#8230;</title>
		<link>http://www.telnetport25.com/2013/01/exchange-installs-and-upgrades-the-good-the-bad-and-the-ugly/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exchange-installs-and-upgrades-the-good-the-bad-and-the-ugly</link>
		<comments>http://www.telnetport25.com/2013/01/exchange-installs-and-upgrades-the-good-the-bad-and-the-ugly/#comments</comments>
		<pubDate>Fri, 04 Jan 2013 21:03:08 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2007 (Installation)]]></category>
		<category><![CDATA[Exchange 2010 (General)]]></category>
		<category><![CDATA[Exchange 2010 (Installation)]]></category>
		<category><![CDATA[Exchange 2013 (Installation)]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Exchange technical planning]]></category>
		<category><![CDATA[Recovering from failed Exchange Setups]]></category>
		<category><![CDATA[Tips for installing and upgrading Exchange]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1611</guid>
		<description><![CDATA[Over the years, I have installed Exchange Server probably thousands of times. In big infrastructures, little infrastructures and everything in between. Luckily the vast majority of those installs have gone without a hitch &#8211; however, there have been some (and those tend to be the ones that I remember the most) that didn&#8217;t go so [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9UaGVfR29vZCxfdGhlX0JhZF9hbmRfdGhlX1VnbHk=" target=\"_blank\"><img align="left" alt="Copyright (c) - United Artists 1966" height="187" src="http://www.telnetport25.com/wp-content/uploads/2013/01/good-bad-ugly.jpg" style="float: left; display: inline" title="Copyright (c) - United Artists 1966" width="200" /></a>Over the years, I have installed Exchange Server probably thousands of times. In big infrastructures, little infrastructures and everything in between. Luckily the vast majority of those installs have gone without a hitch &ndash; however, there have been some (<em>and those tend to be the ones that I remember the most</em>) that didn&rsquo;t go so well ~ I affectionately call these the &ldquo;<strong><em>Smashed</em></strong>&rdquo; installations).</p>
<p>What I would like to do in this post is take you through some of my own tips when both installing, upgrading and where necessary &#8211; recovering from a smashed Exchange install which covers versions of Exchange from 2007 through to 2013. Please note that this is not a Disaster Recovery article &ndash; the tips here are about getting new Exchange servers up and running, either in Lab or Production environments and avoiding problems before you encounter them.</p>
<h2>First things first &ndash; take your time and plan accordingly</h2>
<p>Yep, this seems very obvious &ndash; I know the feeling, you have installed Exchange countless times, you already have an environment up and running and you just want to get the ISO down and dive into the installation wizard. Long and short of this is don&rsquo;t do it ~ not just yet.</p>
<p>Planning can be equated to &ldquo;<strong><em>staking out</em></strong>&rdquo; your existing environment &ndash; e.g. gathering information and researching potential &ldquo;<strong><em>gotchas</em></strong>&rdquo; before they happen.</p>
<p>It doesn&rsquo;t matter if you are working in a vanilla environment, adding new servers to one that already exists or working within a co-existence environment for an upgrade, you should still ensure that you have a plan.</p>
<p>Now there are many levels of planning &ndash; but the most pertinent of which I have found is the spend time reviewing almost every aspect that you can think of within the environment that you plan to build, upgrade, or char before you begin the install.</p>
<p>Please do:</p>
<ul>
<li>Try any new configuration / setup or upgrade in a test lab where possible.</li>
<li>Make backups of you AD infrastructure and Exchange Servers / Databases before you make any changes.</li>
<li>Read all the release notes for known issues, this is especially relevant in the case of Service Packs.</li>
<li>Check product compatibility with any 3rd party software that might be interfacing or be integrated with your Exchange environment, this mainly effects products such as 3rd party Archival Software &ndash; but can extend to CRM / ERP systems, room bookings software etc.</li>
</ul>
<p>Also take the time to review the following:</p>
<ul>
<li>That all Domain Controllers are online within your environment &ndash; having a domain controller offline that you are not aware of could cause Exchange Setup to fail. This does not necessarily means just key FSMO role holders (<em>like the Schema master for example</em>), but Exchange setup could try to talk to a &ldquo;<strong><em>non FSMO role holder</em></strong>&rdquo; that is a GC which is not working, this could &ldquo;<strong><em>kill</em></strong>&rdquo; the install.</li>
<li>Ensure that Directory Replication is working correctly &ndash; <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjNzMxOTY4KHY9d3MuMTApLmFzcHg=" target=\"_blank\">DCDIAG</a> is your friend here, if you have replication problems between AD replication partners &ndash; then you will probably have issues during Exchange setup, especially during the Schema preparation stages.</li>
</ul>
<p>However &ndash; if you would like to get some more detail which gives you an excellent and very detailed overview of the state of your Active Directory infrastructure &ndash; have a look at the following script on the TechNet scripts library by Jon Knapp: <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2dhbGxlcnkudGVjaG5ldC5taWNyb3NvZnQuY29tL3NjcmlwdGNlbnRlci8yODgxMmQ5Mi0zMGJlLTRmMzctODBjYi1hYjIxYjFlZWFhY2U=" title=\"http://gallery.technet.microsoft.com/scriptcenter/28812d92-30be-4f37-80cb-ab21b1eeaace\">http://gallery.technet.microsoft.com/scriptcenter/28812d92-30be-4f37-80cb-ab21b1eeaace</a></p>
<p>The code is two scripts in one &ndash; if you do decide to use it &ndash; read the information on the link carefully. Once it is up and running it produces a very good overview of your Directory environment.</p>
<ul>
<li>Review all Domain Controller Event Logs for unusual errors or warnings.</li>
<li>Ensure that DNS is working correctly and that you can resolve both forwarders and reverse &ndash; for all DC&rsquo;s and the Servers on which you intend to install Exchange.</li>
<li>Like above &ndash; ensure that all your existing Exchange servers are online and functioning correctly if you are adding a new server to an existing installation &ndash; or performing an upgrade.</li>
<li>Ensured that all relevant operating pre-requisites and patches are installed BEFORE you install Exchange. Whilst it is true that you can asked Exchange setup to install O/S pre-requisites during the install, this can lead to the installer stopping with the Message &ldquo;A reboot is pending from a previous installation (<em>for example if you let Setup install the RSAT tools</em>). It is always a good idea to get all reboots and installs out of the way before you install Exchange.</li>
<li>Linked to the above tip &ndash; if you have installed any recent O/S updates via Windows Update or a management tool such as System Centre Configuration Manager &ndash; ensure that any outstanding reboots have completed.</li>
<li>Take the time to ensure that relevant system mailboxes (<em>these are called arbitration mailboxes</em>) are working as you would expect. In the past I have had Exchange setups (<em>and upgrades</em>) fail, because certain arbitration mailboxes have been orphaned from their mailboxes store (<em>this is often caused by someone forcibly deleting a mailbox store using ADSI edit from AD</em>)</li>
</ul>
<p>You can check this by running the following Exchange PowerShell cmdlet before you run setup:</p>
<pre>Get-Mailbox &ndash;arbitration | Select name,Database</pre>
<p>If there is a problem you should see an error message similar to the following:</p>
<pre>Name                                                        Database
----                                                        --------
SystemMailbox{1f05a927-ac84-48a8-9e9b-03a88581d504}         prod-ex2010-01-General-2
FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042         pri_Commercial_01
SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}         pri_Technology_01
Migration.8f3e7716-2011-43e4-96b1-aba62d229136
WARNING: The object prepAD.local/Users/Migration.8f3e7716-2011-43e4-96b1-aba62d229136 has been corrupted, and it&#39;s in
an inconsistent state. The following validation errors happened:
WARNING: Database is mandatory on UserMailbox.
WARNING: Database is mandatory on UserMailbox.</pre>
<p><img alt="04-01-2013 17-53-54" height="120" src="http://www.telnetport25.com/wp-content/uploads/2013/01/04-01-2013-17-53-54.png" style="float: none; margin-left: auto; display: block; margin-right: auto" title="04-01-2013 17-53-54" width="620" /></p>
<p>You often can repair errors like the above by running Exchange Setup again with the setup /prepareAD command line &ndash; full details of the process are detailed here: <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3NvY2lhbC50ZWNobmV0Lm1pY3Jvc29mdC5jb20vd2lraS9jb250ZW50cy9hcnRpY2xlcy81MzE3LnJlY3JlYXRlLWFuZC1lbmFibGUtbWlzc2luZy1hcmJpdHJhdGlvbi11c2VyLWFjY291bnRzLWFuZC1tYWlsYm94ZXMtaW4tZXhjaGFuZ2Utc2VydmVyLTIwMTAuYXNweA==" title=\"http://social.technet.microsoft.com/wiki/contents/articles/5317.recreate-and-enable-missing-arbitration-user-accounts-and-mailboxes-in-exchange-server-2010.aspx\">http://social.technet.microsoft.com/wiki/contents/articles/5317.recreate-and-enable-missing-arbitration-user-accounts-and-mailboxes-in-exchange-server-2010.aspx</a></p>
<ul>
<li>If you are using any &ldquo;<strong><em>Agent Based</em></strong>&rdquo; monitoring tools such as System Centre Operations manager which maintain locks on critical files on a monitored host, or any monitoring tool that will take corrective action when a key service goes offline (<em><strong>MSExchangeIS for example</strong></em>) &ndash; disable them before you begin setup.</li>
<li>If you are running any File Level anti-virus products &ndash; you should ensure that these are not monitoring any Exchange files, critical paths or critical services (as per <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2JiMzMyMzQyKHY9ZXhjaGcuMTQxKS5hc3B4" title=\"http://technet.microsoft.com/en-us/library/bb332342(v=exchg.141).aspx\">http://technet.microsoft.com/en-us/library/bb332342(v=exchg.141).aspx</a> (<strong><em>for Exchange 2010</em></strong>) or <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2JiMzMyMzQyLmFzcHg=" title=\"http://technet.microsoft.com/en-us/library/bb332342.aspx\">http://technet.microsoft.com/en-us/library/bb332342.aspx</a> (<strong><em>for Exchange 2013</em></strong>) &ndash; these can interfere with the setup process.</li>
</ul>
<h2>Preserve your log trail for troubleshooting later on</h2>
<p>Before you install Exchange, review and preserve your Event and Setup logs &ndash; in particular:</p>
<ul>
<li>Before you begin an install &#8211; Export the event logs from the servers that you are working on and save them to a safe location.</li>
<li>Clear the event logs &ndash; this might seem like a crazy idea &ndash; but if you have exported them (<strong><em>as in the previous tip</em></strong>) &ndash; then you have preserved the historic data. Clearing the logs just before you begin setup means that if something should go wrong it is easier to filter out the relevant events.</li>
<li>When Exchange setup runs a folder called <strong>ExchangeSetupLogs</strong> is created in the root of the system boot drive (<strong><em>typically C:\</em></strong>). This folder is like gold dust if something goes wrong &ndash; however there are some things that you should know about the contents of this folder:
<ul>
<li>Each time Exchange Setup runs a large amount of data is input into the files in this folder. These files are a mix of text log files, PowerShell files, and Dr Watson Reports. As a tip I recommend that you take a copy of this folder after each setup run. Each time setup is executed a number of the files are appended to &ndash; which can make them harder to search.</li>
<li>If you take a copy after each setup run you effectively create a point in time set of logs for each install attempt which you can look at in isolation and compare if you need to.</li>
<li>If you need to effectively analyse the logs created in the ExchangeSetupLogs it is worth taking a look at the <strong>Get-SetupLog.ps1</strong> script which is located in the <strong>$exscripts</strong> folder in Exchange 2007 and 2010 versions of Exchange.</li>
</ul>
</li>
</ul>
<p>The full overview of how you can use the script is provided <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2Jsb2dzLnRlY2huZXQuY29tL2IvZXhjaGFuZ2UvYXJjaGl2ZS8yMDA3LzA1LzA3LzM0MDIyNTAuYXNweA==" target=\"_blank\">here</a> in the following post on the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2Jsb2dzLnRlY2huZXQuY29tL2IvZXhjaGFuZ2Uv" target=\"_blank\">MSExchangeTeam blog</a> &ndash; but the loose gist is as follows:</p>
<p>Open an Exchange Management Shell and type in:</p>
<pre>cd $exscripts

.\Get-SetupLog.ps1 &lt;path to Exchange Setup Log file&gt;</pre>
<p>The above above command will produce verbose output from the script.</p>
<p>If you use the following command</p>
<pre>.\Get-SetupLog.ps1 &lt;path to Exchange Setup Log file&gt; &ndash;error $true</pre>
<p>This will scale down the output from the script to relevant warnings and errors.</p>
<p><img alt="04-01-201319-09-15" height="262" src="http://www.telnetport25.com/wp-content/uploads/2013/01/04-01-201319-09-15.png" style="display: inline" title="04-01-201319-09-15" width="640" /></p>
<p>As you can see from my output, the problem with the Exchange setup that I was using in the example above was down to missing arbitration accounts &ndash; see below:</p>
<pre>0.  ErrorRecord: Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox.
[ERROR] The following error was generated when &quot;$error.Clear();
[ERROR] The following error was generated when &quot;$error.Clear();
[ERROR] Database is mandatory on UserMailbox.
1.  ErrorRecord: Database is mandatory on UserMailbox. Property Name: Database
1.  ErrorRecord: Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox. Property
Name: Database
[ERROR] The following error was generated when &quot;$error.Clear();
[ERROR] The following error was generated when &quot;$error.Clear();
[ERROR] Database is mandatory on UserMailbox. Property Name: Database</pre>
<p>The article on the MSExchange team&rsquo;s site mentions some further formatting scripts which can dump the output to HTML &ndash; however clicking on the link redirects to a 404 page. However, I have found that if you need to keep the data you can use the PowerShell Start-Transcript cmdlet &ndash; like so:</p>
<pre>Start-Transcript &ndash;path &lt;path to transcript file&gt;

.\Get-SetupLog.ps1 &lt;path to Exchange Setup Log file&gt; &ndash;error $true

Stop-Transcript</pre>
<p>You can then use a text editor such as <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL25vdGVwYWQtcGx1cy1wbHVzLm9yZy8=" target=\"_blank\">Notepad++</a> to review the formatted output file.</p>
<p>Just for information &ndash; this script does not appear to be included with Exchange 2013 &ndash; however from some of the testing that I have done, it works with the Exchange 2013 setup logs as well.</p>
<h2>Other tips that you might find useful</h2>
<ul>
<li>If you are having trouble restarting setup after a failed installation on a specific role, and you are getting an error message similar to the following:</li>
</ul>
<blockquote>
<p>Setup previously failed performing action: x</p>
</blockquote>
<p>Setup might then terminate.</p>
<p>In order to fix this problem you will need to open up the Registry Editor and navigate to the following location:</p>
<pre>HKLM\Software\Microsoft\ExchangeServer\V(14, 15)</pre>
<p>Under this key you will see entries for each Exchange Role that has been installed &ndash; click on each key and look for the &ldquo;<strong><em>Action</em></strong>&rdquo; and &ldquo;<strong><em>Watermark</em></strong>&rdquo; entries &ndash; delete them and then begin setup again.</p>
<ul>
<li>If you are adding servers to an existing Exchange 2010 environment, co-existing with Exchange 2007 take the time to run the Exchange BPA ~ this should identify any major issues before you make any changes to your environment.</li>
</ul>
<p>There are &#8211; of course many other tips available on the web to help you with a safe install or upgrade for you environment which I urge you to seek out &ndash; but I hope that you find my own personal brain dump useful.</p>
<div class="shr-publisher-1611"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvZXhjaGFuZ2UtaW5zdGFsbHMtYW5kLXVwZ3JhZGVzLXRoZS1nb29kLXRoZS1iYWQtYW5kLXRoZS11Z2x5Lw==" data-shr_title='Exchange+installs+and+upgrades+the+good%2C+the+bad+and+the+ugly%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1611" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/01/exchange-installs-and-upgrades-the-good-the-bad-and-the-ugly/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Errors Running Get-SetupLog.ps1 script on Exchange 2010</title>
		<link>http://www.telnetport25.com/2013/01/errors-running-get-setuplog-ps1-script-on-exchange-2010/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=errors-running-get-setuplog-ps1-script-on-exchange-2010</link>
		<comments>http://www.telnetport25.com/2013/01/errors-running-get-setuplog-ps1-script-on-exchange-2010/#comments</comments>
		<pubDate>Fri, 04 Jan 2013 15:27:48 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2007 (Installation)]]></category>
		<category><![CDATA[Exchange 2010 (Installation)]]></category>
		<category><![CDATA[DateTime conversion error]]></category>
		<category><![CDATA[Get-SetupLog.ps1]]></category>
		<category><![CDATA[String was not recognized as a valid DateTime]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1606</guid>
		<description><![CDATA[I have been working on a few Exchange installs recently which have not gone completely according to plan. Normally when Exchange setup fails my first stop are the logs which are produced by the Exchange Setup process. These are typically located in &#8220;c:\ExchangeSetupLogs&#8221;. There are normally quite a lot of files within this folder which [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I have been working on a few Exchange installs recently which have not gone completely according to plan. Normally when Exchange setup fails my first stop are the logs which are produced by the Exchange Setup process. These are typically located in &ldquo;<strong><em>c:\ExchangeSetupLogs</em></strong>&rdquo;.</p>
<p>There are normally quite a lot of files within this folder which detail the steps, processes, return results and errors of the Exchange setup processes. These files typically contain large amounts of data (<em>as you would expect</em>) so going through them manually can be a bit of a pain, unless of course the error is obvious!</p>
<p>However, in Exchange 2007 and 2010 &#8211; Microsoft provide a script in the $exscripts folder which helps &ldquo;<strong><em>parse</em></strong>&rdquo; the output of the logs files to make it easier for you to interpret the output. This script is called Get-SetupLog.ps1 and is covered in detail in this <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2Jsb2dzLnRlY2huZXQuY29tL2IvZXhjaGFuZ2UvYXJjaGl2ZS8yMDA3LzA1LzA3LzM0MDIyNTAuYXNweA==" target=\"_blank\">post</a> over on the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2Jsb2dzLnRlY2huZXQuY29tL2IvZXhjaGFuZ2Uv" target=\"_blank\">MSExchangeTeam&rsquo;s blog</a>.</p>
<p>Interestingly enough this script does not appear to be present in the $exscripts folder in Exchange 2013 &ndash; however, it appears that it still works with Exchange 2013 setup logs.</p>
<p>Anyway &ndash; back to my failed Exchange setups. I found that one the server where Exchange setup had failed I was getting the following error when trying to run the script:</p>
<pre>Exception calling &quot;Add&quot; with &quot;1&quot; argument(s): &quot;String was not recognized as a valid DateTime.Couldn&#39;t store &lt;12/30/2012 20:13:52.0010&gt; in DateTime Column.  Expected type is DateTime.&quot; At C:\Program Files\Microsoft\Exchange Server\V14\scripts\get-setuplog.ps1:107 char:52 + $currrow = $dataset.Tables[&#39;setuptable&#39;].Rows.Add &lt;&lt;&lt;&lt; ($holder) + CategoryInfo   : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException</pre>
<p><img alt="04-01-201314-22-39" height="357" src="http://www.telnetport25.com/wp-content/uploads/2013/01/04-01-201314-22-39.png" style="display: inline" title="04-01-201314-22-39" width="645" /></p>
<p>The command line that I had used was:</p>
<pre>.\get-setuplog.ps1 &lt;path to Exchange Setup Logs&gt;</pre>
<p>After some investigation in my lab I found that on some of my Exchange servers the script would run correctly, however on others it would give me the errors shown above. The interesting thing that I noticed about the above PowerShell error was that it was being thrown when the script was attempting to parse DateTime values into a DataSet.</p>
<p>This started me thinking about what could be causing this &#8211; and what the difference could be between the servers where the script executed correctly and where it didn&rsquo;t. I came up with Regional and Locale settings.</p>
<p>Sure enough, I found that on the server where the script ran correctly; the Regional Settings were set to <strong>en-US</strong> (<em>United States</em>) &ndash; and the server where the script did not run were set to <strong>en-GB</strong> ~ I tested this by changing the Regional settings on one of the servers in the lab and the script then ran fine.</p>
<p>Now, I did not wish to set the Regional settings to the USA on all my servers just to run the Get-SeupLogs.ps1 so I decided to have a look at the guts of the script.</p>
<p>I opened the <strong>Get-SetupLogs.ps1</strong> script in a text editor &ndash; and found the following definition of the DataSet that is used to store the data when parsing the logs.</p>
<div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: 'Courier New', courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4">
<div id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">$dataset = new-object System.Data.Dataset </pre>
<p><!--CRLF-->
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">$dataset.Tables.Add(<span style="color: #006080">&#39;setuptable&#39;</span>) </pre>
<p><!--CRLF-->
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&nbsp;</pre>
<p><!--CRLF-->
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">[void] $dataset.Tables[<span style="color: #006080">&#39;setuptable&#39;</span>].Columns.Add(<span style="color: #006080">&#39;SetupRun&#39;</span>, [int])</pre>
<p><!--CRLF-->
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">[void] $dataset.Tables[<span style="color: #006080">&#39;setuptable&#39;</span>].Columns.Add(<span style="color: #006080">&#39;Depth&#39;</span>, [int])</pre>
<p><!--CRLF-->
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">[void] $dataset.Tables[<span style="color: #006080">&#39;setuptable&#39;</span>].Columns.Add(<span style="color: #006080">&#39;DateTime&#39;</span>, [DateTime]) </pre>
<p><!--CRLF-->
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">[void] $dataset.Tables[<span style="color: #006080">&#39;setuptable&#39;</span>].Columns.Add(<span style="color: #006080">&#39;Description&#39;</span>, [String])</pre>
<p><!--CRLF-->
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">[void] $dataset.Tables[<span style="color: #006080">&#39;setuptable&#39;</span>].Columns.Add(<span style="color: #006080">&#39;Status&#39;</span>, [String])</pre>
<p><!--CRLF--></div>
</div>
<p>The line that I was interested in was:</p>
<div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: 'Courier New', courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4">
<div id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">[void] $dataset.Tables[<span style="color: #006080">&#39;setuptable&#39;</span>].Columns.Add(<span style="color: #006080">&#39;DateTime&#39;</span>, [DateTime])</pre>
<p><!--CRLF--></div>
</div>
<p>I changed the line to look like the following:</p>
<div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: 'Courier New', courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4">
<div id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">[void] $dataset.Tables[<span style="color: #006080">&#39;setuptable&#39;</span>].Columns.Add(<span style="color: #006080">&#39;DateTime&#39;</span>, [String]) # Was DateTime</pre>
<p><!--CRLF--></div>
</div>
<p>In essence, rather than trying to parse any date value within the log file being processed to a DateTime it would be processed as a normal string.</p>
<p>After making this change the script ran correctly.</p>
<p>Now I don&rsquo;t know if this is a problem that is peculiar to my own setups, or the script prefers a US based locale (there is nothing to suggest in the file that it does) &ndash; but if you should encounter this problem, the above is a workaround that can used.</p>
<div class="shr-publisher-1606"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvZXJyb3JzLXJ1bm5pbmctZ2V0LXNldHVwbG9nLXBzMS1zY3JpcHQtb24tZXhjaGFuZ2UtMjAxMC8=" data-shr_title='Errors+Running+Get-SetupLog.ps1+script+on+Exchange+2010'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1606" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/01/errors-running-get-setuplog-ps1-script-on-exchange-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WinWOL &#8211; Version 1.1</title>
		<link>http://www.telnetport25.com/2013/01/winwolversion-1-0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=winwolversion-1-0</link>
		<comments>http://www.telnetport25.com/2013/01/winwolversion-1-0/#comments</comments>
		<pubDate>Tue, 01 Jan 2013 15:00:43 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[Wake on LAN]]></category>
		<category><![CDATA[WinWOL]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1602</guid>
		<description><![CDATA[Information WinWOL is a free and simple Wake on LAN tool for Windows. WinWOL is a small, portable .NET framework application which allows for you to build a list of common computers on your network infrastructure that you like to “wake up” remotely. Download You can download the WinWOL tool from the following location. [ [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><h4>Information</h4>
<p>WinWOL is a free and simple Wake on LAN tool for Windows. WinWOL is a small, portable .NET framework application which allows for you to build a list of common computers on your network infrastructure that you like to “<b><i>wake up</i></b>” remotely.</p>
<h4>Download</h4>
<p>You can download the WinWOL tool from the following location.</p>
<p><img title="01-01-2013 13-22-28" alt="01-01-2013 13-22-28" src="http://www.telnetport25.com/wp-content/uploads/2013/01/01-01-2013-13-22-28.png" width="54" height="53" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvV2luV09ML1dpbldPTFNldHVwLmV4ZQ==">WinWOL – Version 1.1 – 170KB</a> ]</p>
<h4>User Guide</h4>
<p>You can download the WinWOL user guide from the following location.</p>
<p><img alt="adobe" src="http://www.telnetport25.com/images/stories/legimages/Icons/adobe.jpg" width="40" height="40" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvV2luV09ML1dpbldPTF9Vc2VyR3VpZGUucGRm">WinWOL – Users Guide – 350KB</a> ]</p>
<h2>Change History</h2>
<h5>Version 1.0 – Initial Release</h5>
<ul>
<li>Now retired</li>
</ul>
<h5>Version 1.1</h5>
<ul>
<li>Complete interface re-design to allow for easier discovery and “waking” of remembered hosts.</li>
<li>Re-compiled against version 4.0 of the .NET Framework.</li>
<li><strong>New Feature:</strong> Double click to wake feature added to the “<b><i>Remembered</i></b>” hosts window.</li>
<li><strong>New Feature:</strong> Added in name resolution of remembered hosts.</li>
<li>Added in an ‘About Box’</li>
<li>Enhanced error handling.</li>
<li>New User and Installation Guide.</li>
</ul>
<div class="shr-publisher-1602"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvd2lud29sdmVyc2lvbi0xLTAv" data-shr_title='WinWOL+-+Version+1.1'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1602" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/01/winwolversion-1-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinWOL (Windows Wake on LAN) &#8211; Version 1.0</title>
		<link>http://www.telnetport25.com/2013/01/winwol-windows-wake-on-lan-version-1-0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=winwol-windows-wake-on-lan-version-1-0</link>
		<comments>http://www.telnetport25.com/2013/01/winwol-windows-wake-on-lan-version-1-0/#comments</comments>
		<pubDate>Tue, 01 Jan 2013 14:56:18 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Windows Networking]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Wake on LAN]]></category>
		<category><![CDATA[WinWOL]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1601</guid>
		<description><![CDATA[A few weeks ago I took a bit of break from work and all things Exchange and sat down to write what I call some “self help tools”. In essence, every now and then I write small utilities to make laborious administrative processes easier to manage. One such tool that I needed was a simple [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>A few weeks ago I took a bit of break from work and all things Exchange and sat down to write what I call some “<strong><em>self help tools</em></strong>”. In essence, every now and then I write small utilities to make laborious administrative processes easier to manage. One such tool that I needed was a simple “<strong><em>Wake on LAN</em></strong>” application. I won’t bore you will all the details; but suffice to say I have a large amount of machines to turn on each day and by having a “<em>point and click</em>” list would make things far easier for me.</p>
<p>The other reason why I wrote the tool, was because I wanted to spend sometime writing an application in an area which I do not normally focus on.</p>
<p>I was quite pleased with the end result, so I decided to put it up on the site for download should anybody else wish to give it a try.</p>
<p><img title="01-01-2013 13-53-16" style="display: inline" alt="01-01-2013 13-53-16" src="http://www.telnetport25.com/wp-content/uploads/2013/01/01-01-2013-13-53-16.png" width="397" height="639" /></p>
<h2>Pre-Requisites</h2>
<ul>
<li>.Net Framework 4.5.</li>
<li>Windows Vista, Windows 7, or Windows 8 (x32 or x64).</li>
<li>The WOL features enabled on the relevant hosts network card (<em>this is often enabled within the BIOS of the destination computer – please refer to your manufacturer’s user guide for further information</em>).</li>
</ul>
<h2>Firewall Requirements</h2>
<ul>
<li>In order to use the network discovery features of WinWOL – all the relevant endpoint clients which you intend to “<strong><em>Wake UP</em></strong>” should allow ICMP traffic from the management machine (<em>e.g. the machine where you have installed WinWOL</em>). </li>
<li>The tool can be used <strong><u>WITHOUT </u></strong>the network discovery, but you will have to <strong><u>MANUALLY</u></strong> enter in IP and MAC addresses for your endpoints.</li>
</ul>
<h2>Download</h2>
<p>You can download the WinWOL tool from the following location.</p>
<p><img title="01-01-2013 13-22-28" style="display: inline" alt="01-01-2013 13-22-28" src="http://www.telnetport25.com/wp-content/uploads/2013/01/01-01-2013-13-22-28.png" width="54" height="53" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvV2luV09ML1dpbldPTFNldHVwLmV4ZQ==" target=\"_blank\">WinWOL – Version 1.0 – 168KB</a> ]</p>
<h2>User Guide</h2>
<p>You can download the WinWOL user guide from the following location.</p>
<p><img alt="adobe" src="http://www.telnetport25.com/images/stories/legimages/Icons/adobe.jpg" width="40" height="40" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvV2luV09ML1dpbldPTF9Vc2VyR3VpZGUucGRm" target=\"_blank\">WinWOL – Users Guide – 350KB</a> ]</p>
<div class="shr-publisher-1601"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDEvd2lud29sLXdpbmRvd3Mtd2FrZS1vbi1sYW4tdmVyc2lvbi0xLTAv" data-shr_title='WinWOL+%28Windows+Wake+on+LAN%29+%26ndash%3B+Version+1.0'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1601" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2013/01/winwol-windows-wake-on-lan-version-1-0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>telnetport25.com&#8211;2012 in Review&#8230;</title>
		<link>http://www.telnetport25.com/2012/12/telnetport25-com2012-in-review/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=telnetport25-com2012-in-review</link>
		<comments>http://www.telnetport25.com/2012/12/telnetport25-com2012-in-review/#comments</comments>
		<pubDate>Mon, 31 Dec 2012 12:40:48 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[General Mumblings]]></category>
		<category><![CDATA[End of Year Stats]]></category>
		<category><![CDATA[New Year]]></category>
		<category><![CDATA[telnetport25.com]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1598</guid>
		<description><![CDATA[I read with great interest today Michel de Rooij’s “A short retrospective” summarising 2012 on his excellent blog EighTwoOne #821. I thought that was pretty cool. Michel and I both use WordPress as our blogging platform – and one the many things that WordPress does is (if you are either blogging directly on WordPress.com or [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I read with great interest today <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2VpZ2h0d29uZS5jb20vMjAxMi8xMi8zMS8yMDEyLWEtc2hvcnQtcmV0cm9zcGVjdGl2ZS8=" target=\"_blank\">Michel de Rooij’s “A short retrospective”</a> summarising 2012 on his <strong><u>excellent</u></strong> blog <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2VpZ2h0d29uZS5jb20v" target=\"_blank\">EighTwoOne #821</a>. I thought that was pretty cool. </p>
<p>Michel and I both use WordPress as our blogging platform – and one the many things that WordPress does is (<em>if you are either blogging directly on WordPress.com or have your hosted sites connected to Jet Pack</em>) they provide you with some “fun” stats for your site each year. </p>
<p>Given that I liked Michel’s so much – I thought that I would share some of mine.</p>
<p><img title="31-12-201212-08-51" style="float: left; display: inline" alt="31-12-201212-08-51" align="left" src="http://www.telnetport25.com/wp-content/uploads/2012/12/31-12-201212-08-51.png" width="366" height="337" /></p>
<p>Wow – more visitors than Liechtenstein? It’s odd as I have been to Liechtenstein and it is a great place; and I am sure that it is more fun than my blog! – Maybe I can set up some kind of tourist economy for <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLw==" target=\"_blank\">telnetport25.com</a> in 2013, then again perhaps not.</p>
<p>I am still amazed at the amount of people who visit my blog, and of course grateful for their (<strong><em>your</em></strong>) continued support. I will be hoping to keep posting on through 2013 – and there are many cool topics to get my teeth into, especially in light of the Wave 15 products that have been released in 2012.</p>
<p>It seems that I get most of my traffic from forums and from <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2V4Y2hhbmdlc2VydmVycHJvLmNvbS8=" target=\"_blank\">Paul Cunningham’s rather cool Exchange Server Pro website</a> (<em>please visit if you have not already done so</em>) – interesting to see that I get some reasonable traffic from <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy5mYWNlYm9vay5jb20vdGVsbmV0cG9ydDI1Y29t" target=\"_blank\">Facebook</a>. I have to admit that I have not done as much with the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLw==" target=\"_blank\">telnetport25.com</a> Facebook page as I would have liked – definitely something to focus on in 2013.</p>
<p><img title="31-12-201212-09-16" style="display: inline" alt="31-12-201212-09-16" src="http://www.telnetport25.com/wp-content/uploads/2012/12/31-12-201212-09-16.png" width="620" height="312" /></p>
<p>Interestingly enough, WordPress thinks that I have had visitors from 208 countries! I had a quick look online and there is some conjecture about exactly how many nations there are – but the popular vote is around 196. Mind you, when you bring into the equation things like Recognised States, Observer States, Dependant territories etc. that figure does rise to about 249.</p>
<p>So &#8211; should I claim that my blog has technically had a visit from <strong><em>almost</em></strong> every country in Earth? or do I think that perhaps this little stat is open to interpretation?, <strong><em>Bugger it </em></strong>– I am going to claim that <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLw==" target=\"_blank\">telnetport25.com</a> created several new nation states in 2012, one of which is called “<strong><em>telnetport25.com</em></strong>” (<em>if you look hard enough on the world map you will see it in between Greenland and Norway!</em>)</p>
<p><img title="31-12-201212-09-30" style="display: inline" alt="31-12-201212-09-30" src="http://www.telnetport25.com/wp-content/uploads/2012/12/31-12-201212-09-30.png" width="620" height="516" /></p>
<p>Anyhow, I hope that you have enjoyed this little run through and you have enjoyed telnetport25.com over the last year. I would like to thank you all from the bottom of my heart for your continued support, comment and suggestions. This only leaves it for me to say – please have a happy and safe new year for 2013.</p>
<div class="shr-publisher-1598"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTIvdGVsbmV0cG9ydDI1LWNvbTIwMTItaW4tcmV2aWV3Lw==" data-shr_title='telnetport25.com%26ndash%3B2012+in+Review%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1598" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/12/telnetport25-com2012-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Removing Exchange Attributes by Force and in Bulk in Exchange 2010 and 2013 &#8211; Revisited&#8230;</title>
		<link>http://www.telnetport25.com/2012/12/removing-exchange-attributes-by-force-and-in-bulk-in-exchange-2010-and-2013-revisited/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=removing-exchange-attributes-by-force-and-in-bulk-in-exchange-2010-and-2013-revisited</link>
		<comments>http://www.telnetport25.com/2012/12/removing-exchange-attributes-by-force-and-in-bulk-in-exchange-2010-and-2013-revisited/#comments</comments>
		<pubDate>Sun, 30 Dec 2012 16:52:59 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2010 (Admin)]]></category>
		<category><![CDATA[Exchange 2010 (Mailbox)]]></category>
		<category><![CDATA[Exchange 2013 (Admin)]]></category>
		<category><![CDATA[Exchange Programming .NET]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Remove attributes by force]]></category>
		<category><![CDATA[Remove Exchange Attributes from AD User]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1594</guid>
		<description><![CDATA[Around three years ago I released a small command line based tool which forcibly removed the Exchange related attributes from a user within Active Directory. The original rationale behind writing the tool was: There have been many points over the years where I have personally (not sure if anyone else out there has encountered this) [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Around three years ago I released a small command line based tool which <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMDkvMDkvZm9yY2luZy10aGUtcmVtb3ZhbC1vZi1leGNoYW5nZS1hdHRyaWJ1dGVzLW9uLWEtZGlyZWN0b3J5LXVzZXItdGhlLXJlbW92ZWV4Y2hhbmdlYXR0cmlidXRlcy10b29sJWUyJTgwJWE2Lw==" target=\"_blank\">forcibly removed the Exchange related attributes from a user within Active Directory</a>. The original rationale behind writing the tool was:</p>
<blockquote><p>There have been many points over the years where I have personally (<em>not sure if anyone else out there has encountered this</em>) where I have forcibly needed to disassociate (<em>or remove</em>) a user account from its mailbox.</p>
<p>Normally this would be accomplished via the Exchange Management Shell using the Disable-Mailbox or the Remove-Mailbox -StoreMailboxIdentity -Database CMDLETS in a production environment.</p>
<p>However if you have found yourself in the situation where the Mailbox Server has been rebuilt without an suitable backup – or more to the point where Exchange has been forcibly removed from Active Directory which results in having a number of accounts which point to a Mailboxes on a Mailbox Server that no longer exists – I am sure that you are aware of how much of a pain it is to rummage around in AD – remove the required attributes for all of those accounts and reconnect them.</p>
</blockquote>
<p>Recently I found myself in the situation again (<em>through me messing something up in my lab (again!)</em>) – and I needed to remove the attributes from a number of accounts. I went to my old tool – and found that whilst it worked ~ it was not particularly good when you needed to use it in bulk. </p>
<p>I also found that due to the various changes that have happened in Exchange since I released the original code – there were a number of attributes that the tool does not clear up as they were not present on the user properties at the time (<em>there have been a number of schema updates which have added properties to user mailboxes</em>).</p>
<p>So, I decided to rewrite the tool so that it was capable of working on multiple mailboxes and add in some additional attributes to be removed that have been added into Exchange since version 1.0 of the tool was published.</p>
<h2>Warning</h2>
<p>The <strong><u>REA is HIGHLY</u></strong> destructive – it is designed for use in very particular circumstances, and only as a last resort. I cannot be held responsible for any data loss that might occur as a result of using this tool. Please ensure that you understand the ramifications of using this tool against a WORKING mailbox(es):</p>
<ul>
<li>The Active Directory Account will be orphaned from the Mailbox within the database</li>
</ul>
<p>This tool is designed for use against Active Directory accounts where the mailbox, mailbox database or server are no longer available and the normal Exchange cmdlets do not work.</p>
<p>Microsoft does not, and will not support this use of this tool – use at your own risk!</p>
<h2>Requirements</h2>
<ul>
<li>.Net Framework 3.5 Service Pack 1</li>
<li>Exchange 2010 and Exchange 2013 – Only</li>
<li>Needs to be executed in the context of a Domain User account</li>
</ul>
<h2>Download</h2>
<p><img title="30-12-201215-36-37" style="display: inline" alt="30-12-201215-36-37" src="http://www.telnetport25.com/wp-content/uploads/2012/12/30-12-201215-36-37.png" width="59" height="69" />[ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvUkVBL1JFQS5leGU=" target=\"_blank\">REA – Version 2.0 – 1.6 MB</a> ]</p>
<h2>Installation</h2>
<p>Double click on the installation binary file “<strong><em>REA.exe</em></strong>”.</p>
<p><img title="30-12-201215-36-37" style="display: inline" alt="30-12-201215-36-37" src="http://www.telnetport25.com/wp-content/uploads/2012/12/30-12-201215-36-371.png" width="59" height="69" /></p>
<p>You will be asked if you wish to continue with the installation – click on the “<strong><em>Yes</em></strong>” button if you wish to proceed.</p>
<p><img title="30-12-201215-37-17" style="display: inline" alt="30-12-201215-37-17" src="http://www.telnetport25.com/wp-content/uploads/2012/12/30-12-201215-37-17.png" width="326" height="126" /></p>
<p>Select your desired location for the main tools binary to be placed (<em>remember this location as the installer does not create icons in the Start menu</em>) When done click on “<strong><em>Unzip</em></strong>”. </p>
<p><img title="30-12-201215-38-40" style="display: inline" alt="30-12-201215-38-40" src="http://www.telnetport25.com/wp-content/uploads/2012/12/30-12-201215-38-40.png" width="351" height="215" /></p>
<p>When the process has completed you will be presented with the “<strong><em>Successful</em></strong>” dialog box – click on “<strong><em>OK</em></strong>” to exit.</p>
<p><img title="30-12-201215-39-31" style="display: inline" alt="30-12-201215-39-31" src="http://www.telnetport25.com/wp-content/uploads/2012/12/30-12-201215-39-31.png" width="191" height="126" /></p>
<p>Start the tool by double clicking on the tool binary file from the location where you installed it during the installation process.</p>
<h2>Usage</h2>
<p>When the tool has executed – in the “<strong><em>samAccountName</em></strong>” field type in the account name of user that you wish to forcibly remove the attributes of.</p>
<p><img title="30-12-201215-42-05_1" style="display: inline" alt="30-12-201215-42-05_1" src="http://www.telnetport25.com/wp-content/uploads/2012/12/30-12-201215-42-05_1.png" width="500" height="199" /></p>
<p>When done, click on the “<strong><em>Search</em></strong>” button.</p>
<p><img title="30-12-201215-42-05_2" style="display: inline" alt="30-12-201215-42-05_2" src="http://www.telnetport25.com/wp-content/uploads/2012/12/30-12-201215-42-05_2.png" width="550" height="219" /></p>
<p>The account details pane will populate – review the information to ensure that you are happy to proceed.</p>
<p><img title="30-12-201215-42-05_3" style="display: inline" alt="30-12-201215-42-05_3" src="http://www.telnetport25.com/wp-content/uploads/2012/12/30-12-201215-42-05_3.png" width="550" height="219" /></p>
<p>Click on the “<strong><em>Add &gt;&gt;</em></strong>” button which will transfer the account to the “<strong><em>Selected Mailboxes</em></strong>” window. Repeat the process to add further accounts for processing.</p>
<p><img title="30-12-201215-48-09_5" style="display: inline" alt="30-12-201215-48-09_5" src="http://www.telnetport25.com/wp-content/uploads/2012/12/30-12-201215-48-09_5.png" width="550" height="219" /></p>
<p>When ready – click on the “<strong><em>Remove</em></strong>” button. The tool will then process each account and remove all of the relevant Exchange attributes from the account.</p>
<p><img title="30-12-201215-48-09_6" style="display: inline" alt="30-12-201215-48-09_6" src="http://www.telnetport25.com/wp-content/uploads/2012/12/30-12-201215-48-09_6.png" width="550" height="219" /></p>
<p>The old version of tool will remain available as it is still compatible with versions of Exchange from 2003 to 2007.</p>
<div class="shr-publisher-1594"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTIvcmVtb3ZpbmctZXhjaGFuZ2UtYXR0cmlidXRlcy1ieS1mb3JjZS1hbmQtaW4tYnVsay1pbi1leGNoYW5nZS0yMDEwLWFuZC0yMDEzLXJldmlzaXRlZC8=" data-shr_title='Removing+Exchange+Attributes+by+Force+and+in+Bulk+in+Exchange+2010+and+2013+%26ndash%3B+Revisited%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1594" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/12/removing-exchange-attributes-by-force-and-in-bulk-in-exchange-2010-and-2013-revisited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Merry Christmas&#8230;</title>
		<link>http://www.telnetport25.com/2012/12/merry-christmas/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=merry-christmas</link>
		<comments>http://www.telnetport25.com/2012/12/merry-christmas/#comments</comments>
		<pubDate>Mon, 24 Dec 2012 17:37:41 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[General Mumblings]]></category>
		<category><![CDATA[Christmas 2012]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1583</guid>
		<description><![CDATA[Dear all, just a a very quick post to wish you all, including your families a very Happy Christmas. Currently sitting here with a small (large) glass of vino, reminiscing on my personal highlights from 2012. I hope that you all continue to enjoy telnetport25.com (I have renewed the hosting for another year; so I [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><img title="Santa-Sleigh-Black_png" style="float: left; display: inline" alt="Santa-Sleigh-Black_png" align="left" src="http://www.telnetport25.com/wp-content/uploads/2012/12/Santa-Sleigh-Black_png.png" width="250" height="138" />Dear all, just a a very quick post to wish you all, including your families a very Happy Christmas. Currently sitting here with a small (large) glass of vino, reminiscing on my personal highlights from 2012. I hope that you all continue to enjoy <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLw==" target=\"_blank\">telnetport25.com</a> (I have renewed the hosting for another year; so I intend to keep posting as regular as I can).</p>
<p>With love and peace – <strong>Andy G</strong></p>
<div class="shr-publisher-1583"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTIvbWVycnktY2hyaXN0bWFzLw==" data-shr_title='Merry+Christmas%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1583" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/12/merry-christmas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Installing Windows Hyper-V Server 2012 with an Asus P8Z68-V Pro Motherboard&#8230;</title>
		<link>http://www.telnetport25.com/2012/12/installing-windows-hyper-v-server-2012-with-an-asus-p8z68-v-pro-motherboard/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-windows-hyper-v-server-2012-with-an-asus-p8z68-v-pro-motherboard</link>
		<comments>http://www.telnetport25.com/2012/12/installing-windows-hyper-v-server-2012-with-an-asus-p8z68-v-pro-motherboard/#comments</comments>
		<pubDate>Sat, 08 Dec 2012 14:27:24 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Windows Hyper-V Server 2012]]></category>
		<category><![CDATA[Asus P8Z68-V Pro]]></category>
		<category><![CDATA[Intel 82579LM]]></category>
		<category><![CDATA[Intel 82579LM install problem with Windows Server]]></category>
		<category><![CDATA[Network issues]]></category>
		<category><![CDATA[NIC]]></category>
		<category><![CDATA[Virtulisation]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1578</guid>
		<description><![CDATA[Not quite an Exchange post, but technically related depending on your circumstances. Today I decided to “bite the bullet” and migrate all of my Virtual Machines to Windows Hyper-V 2012 server away from Windows 2008 R2 with Hyper-V 2. There were a number of reasons why I wanted to do this: My current test rig [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Not quite an Exchange post, but technically related depending on your circumstances. Today I decided to “<strong><em>bite the bullet</em></strong>” and migrate all of my Virtual Machines to <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL2VuLXVzL3NlcnZlci1jbG91ZC9oeXBlci12LXNlcnZlci9kZWZhdWx0LmFzcHg=" target=\"_blank\">Windows Hyper-V 2012 server</a> away from Windows 2008 R2 with Hyper-V 2.</p>
<p>There were a number of reasons why I wanted to do this:</p>
<ol>
<li>My current test rig was using Windows Server 2008 R2 with Hyper-V 2. I was also using Microsoft Virtual Machine Manager 2012 – this all culminated in a base memory utilisation of about <strong>2.3 – 3GB of RAM</strong> before I had even booted up a Virtual Machine instance. As Windows Hyper-V Server is based on a cut down version of Windows Server Core (<em>containing just the Virtualisation components</em>) The memory overhead is slightly less at around 1.2 GB. </li>
<li>I had a full O/S running on the server which was probably a waste of a license given that I did nothing else with it aside from run virtual instances – if I had less to update and manage I could simplify my environment. </li>
</ol>
<p>Of course, moving to this new platform presented its own set of unique challenges, not least of which the loss of a GUI – which (<em>as I found</em>) was about to cause me a number of issues in the context of installing drivers.</p>
<h2>The Problem</h2>
<p>Although Hyper-V 2012 Server installed with no issues – The problem that I had straight away was a lack of network connectivity. The <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy5hc3VzLmNvbS9Nb3RoZXJib2FyZHMvSW50ZWxfU29ja2V0XzExNTUvUDhaNjhWX1BSTy8=" target=\"_blank\">Asus P8Z68-V PRO</a> has an on-board <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy5pbnRlbC5jb20vc3VwcG9ydC9ldGhlcm5ldGNvbXBvbmVudHMvY29udHJvbGxlcnMvODI1Nzkvc2IvQ1MtMDMyMjM5Lmh0bQ==" target=\"_blank\">Intel 82579LM Network Interface Adapter</a> (see below)– which is a traditional Desktop based NIC, and unsurprisingly neither Asus or Intel supply native drivers for server operating systems.</p>
<p><img title="08-12-2012 10-05-27" style="display: inline" alt="08-12-2012 10-05-27" src="http://www.telnetport25.com/wp-content/uploads/2012/12/08-12-2012-10-05-27.png" width="345" height="398" /></p>
<p>Now, this is not a huge problem, as generally speaking the driver software does not vary a huge amount between Windows 8 and Windows Server 2012 – so the theory is that you can download the Windows 8 driver which will work correctly with Windows Server 2012. However the truth is that it does, but not without a bit of messing about!</p>
<p>The driver packs from either Asus or Intel contain no provision within the Windows 8 installation INF files to allow for an installation on Windows Server 2012 Server. So, you have to bodge the INF file so that the installation process will work on the server platform.</p>
<h2>Modifying the Driver Pack</h2>
<p>I downloaded the Intel Driver from Intel’s website and extracted the contents to a folder on my local PC. Within the extracted package there was a folder called “<strong><em>PRO1000</em></strong>” (<em>Pro drivers for Gigabit Network Adapters</em>). I drilled down further within PRO1000 to <strong>WinX64\NDIS63\</strong> and located the file entitled “<strong><em>e1c63x64.inf</em></strong>” this is the INF installation file for Windows 8 x64 platforms for the 82579LM NIC.</p>
<p>I opened the file in Notepad and located the <strong>[ControlFlags]</strong> section (<em>see image below</em>) – I removed all entries (<em>but not the ControlFlags section</em>).</p>
<p><img title="08-12-201213-18-23" style="display: inline" alt="08-12-201213-18-23" src="http://www.telnetport25.com/wp-content/uploads/2012/12/08-12-201213-18-23.png" width="457" height="411" /></p>
<p>I then located the section <strong>[Intel.NTamd64.6.2.1]</strong> – selected the last 3 highlighted entries (<em>shown the image below</em>) and copied them to the clipboard:</p>
<p><img title="08-12-201213-21-58" style="display: inline" alt="08-12-201213-21-58" src="http://www.telnetport25.com/wp-content/uploads/2012/12/08-12-201213-21-58.png" width="660" height="309" /></p>
<p>I then pasted these to the bottom of the entries located in the <strong>[Intel.NTamd64.6.2]</strong> section – see the image below.</p>
<p><img title="08-12-201213-25-32" style="display: inline" alt="08-12-201213-25-32" src="http://www.telnetport25.com/wp-content/uploads/2012/12/08-12-201213-25-32.png" width="660" height="331" /></p>
<p>I then saved the INF file.</p>
<h2>Installing the Driver on Windows Hyper-V Server 2012</h2>
<p>This process needs to be done from the command line on Windows Hyper-V Server 2012 – however, before this was attempted I needed to disable the “<strong><em>Driver Signature Enforcement</em></strong>” security function on Windows Hyper-V Server.</p>
<p>In essence most drivers and associated files from reputable manufacturers are signed with a unique digital ID. By modifying the INF file – it no longer conforms to the signature within the package catalog file – so Windows will choke and not install the driver.</p>
<p>I disabled Driver Signature Enforcement by executing the following commands at the Windows Hyper-V Server 2012 command line:</p>
<pre>bcdedit /set LOADOPTIONS DISABLE_INTEGRITY_CHECKS

bcdedit /set TESTSIGNING ON

bcdedit /set nointegritychecks ON</pre>
<p>After entering the above commands I rebooted the server. When the server had restarted I checked to see that my options had been configured by running the bcdedit command with no parameters – which produced output that looked like the following:</p>
<p><img title="08-12-201214-01-53" style="display: inline" alt="08-12-201214-01-53" src="http://www.telnetport25.com/wp-content/uploads/2012/12/08-12-201214-01-53.png" width="523" height="460" /></p>
<p>I was now ready to install the modified driver package onto my system. Now, as there is no GUI in Windows Hyper-V Server 2012 you cannot use the GUI install for drivers software – you need to manually install using the pnputil tool.</p>
<p>I copied the relevant files over to the server and then from the command line typed:</p>
<pre>pnputil –i –a h:\&lt;path&gt;\e1c63x64.inf</pre>
<p>The process then started and I was prompted if I really wanted to install the unsigned driver – to which I said yes. The install completed successfully.</p>
<p>I then rebooted the server – where I then found that I had network connectivity.</p>
<p>To tidy up, I then switched Driver Enforcement back on (for security reasons) but using the following commands:</p>
<pre>bcdedit /set LOADOPTIONS ENABLE_INTEGRITY_CHECKS

bcdedit /set TESTSIGNING OFF

bcdedit /set nointegritychecks OFF</pre>
<p>I hope that someone might find this useful if they find themselves in the same (or similar situation). The above process can also apply to Windows Server 2012 Core edition.</p>
<div class="shr-publisher-1578"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTIvaW5zdGFsbGluZy13aW5kb3dzLWh5cGVyLXYtc2VydmVyLTIwMTItd2l0aC1hbi1hc3VzLXA4ejY4LXYtcHJvLW1vdGhlcmJvYXJkLw==" data-shr_title='Installing+Windows+Hyper-V+Server+2012+with+an+Asus+P8Z68-V+Pro+Motherboard%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1578" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/12/installing-windows-hyper-v-server-2012-with-an-asus-p8z68-v-pro-motherboard/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>EBUCT&#8211;Exchange 2013 Bulk User Creation Tool</title>
		<link>http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ebuctexchange-2013-bulk-user-creation-tool-2</link>
		<comments>http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool-2/#comments</comments>
		<pubDate>Sun, 04 Nov 2012 19:19:54 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Exchange 2013 Bulk user creation tool]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1563</guid>
		<description><![CDATA[Program Description The EBUCT is designed to create mailboxes within Exchange 2013 in bulk from pre-existing accounts in Active Directory. This is currently a feature which is missing from the Exchange Administrative Centre in the RTM and Exchange 2013. Prerequisites This software should be executed from a server or computer which has the Exchange 2013 [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><h2>Program Description</h2>
<p>The EBUCT is designed to create mailboxes within Exchange 2013 in bulk from pre-existing accounts in Active Directory. This is currently a feature which is missing from the Exchange Administrative Centre in the RTM and Exchange 2013.</p>
<h2>Prerequisites</h2>
<p>This software should be executed from a server or computer which has the Exchange 2013 Management tools installed. The tool also requires version 4.0 of the .NET framework in order to execute.</p>
<h2>Download</h2>
<p><img title="04-11-201216-30-50" alt="04-11-201216-30-50" src="http://www.telnetport25.com/wp-content/uploads/2012/11/04-11-201216-30-50.png" width="76" height="80" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvRUJVQ1QvRUJVQ1QuZXhl">EBUCT.exe – 720KB</a> ]</p>
<h2>Relevant Links</h2>
<p>The following posts contain a full overview and description of usage for the EBUCT.</p>
<ul>
<li><a title=\"http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTEvZWJ1Y3RleGNoYW5nZS0yMDEzLWJ1bGstdXNlci1jcmVhdGlvbi10b29sLw==">http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool/</a></li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDQvcmVsZWFzZWQtZXhjaGFuZ2UtYnVsay11c2VyLWNyZWF0aW9uLXRvb2wtdjItMC1lYnVjdC0yLTAv">http://www.telnetport25.com/2013/04/released-exchange-bulk-user-creation-tool-v2-0-ebuct-2-0/</a></li>
</ul>
<h2>Revision History</h2>
<h3>Version 1.0.0.0 – 04/11/2012</h3>
<ul>
<li>Initial release – now retired</li>
</ul>
<h3>Version 1.0.0.1 – 05/11/2012</h3>
<ul>
<li>Changed Interface “Select / Unselect all Mailboxes” to “Select / Unselect all Active Directory Accounts”</li>
<li>Changed “www.telnetport25.com” located in the status bar to be an active and clickable URL</li>
<li>Moved the enable mailbox process bar to be next to the enable button</li>
<li>Added in a progress status label</li>
<li>BUG FIX: Fixed Directory Accounts with special characters within the name (samAccountName) were not processed correctly</li>
<li>BUG FIX: The “Select / Unselect all Active Directory Accounts” check box was not unchecked when all processing had been completed</li>
</ul>
<h3>Version 1.2.0.0</h3>
<ul>
<li>Re-compiled the tool so that it will run with version 4.0 of the .NET Framework, some people reported issues with 4.5 as they were not running it.</li>
<li>Added in Event Logging Diagnostics: The EBUCT creates an Event Log under Applications and Services called ExchangeEBUCT &#8211; relevant information from the tool is logged here</li>
</ul>
<h3> Version 2.0 – 26/04/2013</h3>
<ul>
<li>Redesigned interface to make the software more simple:
<ul>
<li>Removed the need to select Directory users from the from the “Active Directory Users without Mailboxes” to the “Selected Users section”. You can now just check the accounts in the Treeview.</li>
<li>Added in a ‘File’ menu which allows for the application to be exited from a menu command.</li>
<li>Added in an ‘About’ box.</li>
<li>Flattened the user interface buttons.</li>
</ul>
</li>
<li><strong>New Feature:</strong> Search for a specific account within the Active Directory Treeview.</li>
<li><strong>Error Handling:</strong> Added in some enhanced error handling scenarios which in previous versions could result in the tool raising an Exception.</li>
<li><strong>Error Handling:</strong> Program will notify you if you try and enable an account without having selected a Mailbox Database.</li>
<li><strong>Error Handling:</strong> Program will notify you if you have not selected at least one Active Directory Account.</li>
</ul>
<div class="shr-publisher-1563"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTEvZWJ1Y3RleGNoYW5nZS0yMDEzLWJ1bGstdXNlci1jcmVhdGlvbi10b29sLTIv" data-shr_title='EBUCT%26ndash%3BExchange+2013+Bulk+User+Creation+Tool'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1563" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Script to a shortcut icon on the desktop for the Exchange 2013 EAC</title>
		<link>http://www.telnetport25.com/2012/11/script-to-a-shortcut-icon-on-the-desktop-for-the-exchange-2013-eac/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=script-to-a-shortcut-icon-on-the-desktop-for-the-exchange-2013-eac</link>
		<comments>http://www.telnetport25.com/2012/11/script-to-a-shortcut-icon-on-the-desktop-for-the-exchange-2013-eac/#comments</comments>
		<pubDate>Sun, 04 Nov 2012 18:57:44 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 Scripts]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Exchange 2013 EAC]]></category>
		<category><![CDATA[Exchange 2013 EAC Admin Link]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1559</guid>
		<description><![CDATA[Script Description This PowerShell based script will create a shortcut to the Exchange Administrative Console for Exchange 2013 on the Desktop of each Exchange 2013 server which hosts the administrative tools. Download [ CreateExchangeAdminCentreIcon.ps1 &#8211; 1.5KB ] Usage Please refer to the following article(s): http://www.telnetport25.com/2012/11/quick-tipcreating-an-icon-on-the-desktop-for-the-exchange-2013-eac/]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><h2>Script Description</h2>
<p>This PowerShell based script will create a shortcut to the Exchange Administrative Console for Exchange 2013 on the Desktop of each Exchange 2013 server which hosts the administrative tools.</p>
<h2>Download</h2>
<p><img src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL2V4Y2hhbmdlMjAxMy9DcmVhdGVFeGNoYW5nZUFkbWluQ2VudHJlSWNvbi5wczE=">CreateExchangeAdminCentreIcon.ps1 &ndash; 1.5KB</a> ]</p>
<h3>Usage</h3>
<p>Please refer to the following article(s):</p>
<ul>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTEvcXVpY2stdGlwY3JlYXRpbmctYW4taWNvbi1vbi10aGUtZGVza3RvcC1mb3ItdGhlLWV4Y2hhbmdlLTIwMTMtZWFjLw==" title=\"http://www.telnetport25.com/2012/11/quick-tipcreating-an-icon-on-the-desktop-for-the-exchange-2013-eac/\">http://www.telnetport25.com/2012/11/quick-tipcreating-an-icon-on-the-desktop-for-the-exchange-2013-eac/</a></li>
</ul>
<div class="shr-publisher-1559"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTEvc2NyaXB0LXRvLWEtc2hvcnRjdXQtaWNvbi1vbi10aGUtZGVza3RvcC1mb3ItdGhlLWV4Y2hhbmdlLTIwMTMtZWFjLw==" data-shr_title='Script+to+a+shortcut+icon+on+the+desktop+for+the+Exchange+2013+EAC'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1559" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/11/script-to-a-shortcut-icon-on-the-desktop-for-the-exchange-2013-eac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EBUCT&#8211;Exchange 2013 Bulk User Creation Tool&#8230;</title>
		<link>http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ebuctexchange-2013-bulk-user-creation-tool</link>
		<comments>http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool/#comments</comments>
		<pubDate>Sun, 04 Nov 2012 17:10:16 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 (Admin)]]></category>
		<category><![CDATA[Exchange 2013 (General)]]></category>
		<category><![CDATA[Exchange Programming .NET]]></category>
		<category><![CDATA[EBUCT]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Exchange 2013 Bulk user creation tool]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1555</guid>
		<description><![CDATA[NOTE: I have updated the version of the EBUCT.exe from version 1.0.0.0 to 1.0.0.1. The new build contains minor bug fixes that I have found since its release on the 04/11/2012. I have also made some very cosmetic changes to the user interface – the guidance below is still relevant and covers the appropriate use [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><blockquote><p><strong>NOTE:</strong> I have updated the version of the EBUCT.exe from version 1.0.0.0 to 1.0.0.1. The new build contains minor bug fixes that I have found since its release on the 04/11/2012. I have also made some very cosmetic changes to the user interface – the guidance below is still relevant and covers the appropriate use of the tool. For full revision history – please refer to the download page located here: <a title=\"http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool-2/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTEvZWJ1Y3RleGNoYW5nZS0yMDEzLWJ1bGstdXNlci1jcmVhdGlvbi10b29sLTIv">http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool-2/</a></p>
<p><strong>NOTE (14/04/2013):</strong> I have provided another update to the tool (now at version 1.2.0.0) where it is now compiled using version 4.0 of the .NET framework (some people were reporting problems as they did not have version 4.5). The tool now also creates an Event Log under Applications and Services so diagnostic information can be written about the tools execution. The new version can be downloaded from the link in the previous “note” section – or from the download area below. I have also fixed a bug for environments which only have a <strong><u>single mailbox database</u></strong>.</p>
<p><strong>NOTE (26/04/2013):</strong> I have released version 2.0 of the EBUCT – available here: <a title=\"http://www.telnetport25.com/2013/04/released-exchange-bulk-user-creation-tool-v2-0-ebuct-2-0/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTMvMDQvcmVsZWFzZWQtZXhjaGFuZ2UtYnVsay11c2VyLWNyZWF0aW9uLXRvb2wtdjItMC1lYnVjdC0yLTAv">http://www.telnetport25.com/2013/04/released-exchange-bulk-user-creation-tool-v2-0-ebuct-2-0/</a></p>
</blockquote>
<p>From my own perspective, whilst I love the new EAC (Exchange Administrative Centre) within Exchange 2013 – there is one thing that really annoys me – and that is the inability to create mailboxes in bulk for accounts that already exist within Active Directory from within the GUI &#8211; see below:</p>
<p><img title="04-11-201217-02-51" style="display: inline" alt="04-11-201217-02-51" src="http://www.telnetport25.com/wp-content/uploads/2012/11/04-11-201217-02-51.png" width="481" height="185" /></p>
<p>I should point out that it s possible to create mailboxes in bulk from the Exchange Management Shell in Exchange 2013 using the following management shell cmdlet:</p>
<pre>Get-User -RecipientTypeDetails User -Filter { UserPrincipalName -ne $Null } | Enable-Mailbox</pre>
<p>However &#8211; to my mind is a bit of a “<strong><em>blunt</em></strong>” tool – and I would like more control over the process – e.g. being able to choose specific mailboxes to be created in specific databases which the above PowerShell cmdlet does not allow for without significant modification.</p>
<p>So, I decided to break out my trusty copy of Visual Studio and write a little application which provides the same basic functionality for Exchange 2013, that was present within the MMC based Exchange Management Console in Exchange 2010.</p>
<h2>Download</h2>
<p>You can download the Exchange 2013 Bulk User Creation Tool from the following link. You will need to have version 4.0 of the .NET framework installed as well as the Exchange 2013 management tools.</p>
<p><img title="04-11-201216-30-50" style="display: inline" alt="04-11-201216-30-50" src="http://www.telnetport25.com/wp-content/uploads/2012/11/04-11-201216-30-50.png" width="76" height="80" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvRUJVQ1QvRUJVQ1QuZXhl" target=\"_blank\">EBUCT.exe – 650KB</a> ]</p>
<h2>Usage</h2>
<p>Double click on the program icon to launch the executable “<strong><em>EBUCT.exe</em></strong>”</p>
<p>During execution (<em>and depending on your systems security configuration</em>) you might be presented with the following dialog box:</p>
<p><img title="14-04-201309-40-30" style="display: inline" alt="14-04-201309-40-30" src="http://www.telnetport25.com/wp-content/uploads/2013/04/14-04-201309-40-30.png" width="448" height="251" /></p>
<p>If you are presented with this message click on the “<strong><em>Quit</em></strong>” button. Right click on the <strong><u>EBUCT.exe</u></strong> program file and from the context menu that appears select “<strong><em>Properties</em></strong>”.</p>
<p>When the properties dialog appears – click on the “<strong><em>Compatibility</em></strong>” tab – and then check the &quot;<strong><em>Run this program as an administrator</em></strong>” check box from the “<strong><em>Privilege level</em></strong>” area and then click “<strong><em>OK</em></strong>” – see below.</p>
<p><img title="14-04-201309-42-00" style="display: inline" alt="14-04-201309-42-00" src="http://www.telnetport25.com/wp-content/uploads/2013/04/14-04-201309-42-00.png" width="377" height="516" /></p>
<p>The EBUCT should then run correctly.</p>
<blockquote>
<p><strong>NOTE:</strong> The program notifies you about this, as during start up it tries to create an Event Log under Applications and Services – this is a privileged operation and needs your permissions to do so.</p>
</blockquote>
<p>The main program window will then appear – click the “<strong><em>Refresh</em></strong>” button – this will retrieve a list of all the accounts in Active Directory which do not currently have a mailbox assigned and also populate the “<strong><em>Mailbox Databases</em></strong>” area. The program is designed to ensure that sensitive accounts within the directory are not shown in the list. You can also alter the number of accounts retrieved by selecting (or entering) a value from the “<strong><em>Number of users</em></strong>” drop down box.</p>
<p><img title="04-11-201216-31-56" style="display: inline" alt="04-11-201216-31-56" src="http://www.telnetport25.com/wp-content/uploads/2012/11/04-11-201216-31-56.png" width="610" height="424" /></p>
<p>From the “<strong><em>Active Directory Users without Mailboxes</em></strong>” area – select the accounts that you wish to create mailboxes for – if you wish to select all accounts – check the “<strong><em>Select / Unselect all mailboxes</em></strong>” label. When you are happy with your selections click on the “<strong><em>Select Users</em></strong>” button – this will transfer them to the “<strong><em>Selected user accounts</em></strong>” area.</p>
<p><img title="04-11-201216-33-22" style="display: inline" alt="04-11-201216-33-22" src="http://www.telnetport25.com/wp-content/uploads/2012/11/04-11-201216-33-22.png" width="610" height="424" /></p>
<p>Select the desired database from the “<strong><em>Mailbox Databases</em></strong>” area – then click on the “<strong><em>Enable</em></strong>” button.</p>
<p><img title="04-11-201216-33-56" style="display: inline" alt="04-11-201216-33-56" src="http://www.telnetport25.com/wp-content/uploads/2012/11/04-11-201216-33-56.png" width="610" height="424" /></p>
<p>The program will then create the mailboxes, and when completed reset ready to create another batch.</p>
<p><img title="04-11-201216-34-33" style="display: inline" alt="04-11-201216-34-33" src="http://www.telnetport25.com/wp-content/uploads/2012/11/04-11-201216-34-33.png" width="610" height="424" /></p>
<h2>Checking Events</h2>
<p>Hopefully the EBUCT will work with no issues, however if you should run into problems you are always welcome to e-mail me with the problem that you are experiencing. Before you do so, it would be good if you could have a look within the Event Viewer and navigate to [ <strong><em>Event Viewer (Local) –&gt; Applications and Services Logs –&gt; ExchangeEBUCT</em></strong> ] and provide me with the data which is contained within the log – see below.</p>
<p><img title="14-04-201310-17-11" style="display: inline" alt="14-04-201310-17-11" src="http://www.telnetport25.com/wp-content/uploads/2013/04/14-04-201310-17-11.png" width="691" height="686" /></p>
<p>I hope that you find the above tool useful.</p>
<div class="shr-publisher-1555"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTEvZWJ1Y3RleGNoYW5nZS0yMDEzLWJ1bGstdXNlci1jcmVhdGlvbi10b29sLw==" data-shr_title='EBUCT%26ndash%3BExchange+2013+Bulk+User+Creation+Tool%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1555" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/11/ebuctexchange-2013-bulk-user-creation-tool/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Quick Tip&#8211;Creating an icon on the desktop for the Exchange 2013 EAC&#8230;</title>
		<link>http://www.telnetport25.com/2012/11/quick-tipcreating-an-icon-on-the-desktop-for-the-exchange-2013-eac/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=quick-tipcreating-an-icon-on-the-desktop-for-the-exchange-2013-eac</link>
		<comments>http://www.telnetport25.com/2012/11/quick-tipcreating-an-icon-on-the-desktop-for-the-exchange-2013-eac/#comments</comments>
		<pubDate>Sun, 04 Nov 2012 11:38:06 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 (Admin)]]></category>
		<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Exchange 2013 EAC]]></category>
		<category><![CDATA[Exchange 2013 EAC Admin Link]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1545</guid>
		<description><![CDATA[This is a very quick tip (with a script) that enables you to create an icon for the Exchange Administrative Centre in Exchange 2013 on your desktop. Whilst perhaps not the most earth shattering tip – and indeed it is one that is aimed at administrators who are less familiar with Exchange 2013 in some [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>This is a very quick tip (<em>with a script</em>) that enables you to create an icon for the Exchange Administrative Centre in Exchange 2013 on your desktop. Whilst perhaps not the most earth shattering tip – and indeed it is one that is aimed at administrators who are less familiar with Exchange 2013 in some cases it proves quite useful.</p>
<p>For those of you who don’t know, Exchange 2013 has disbanded the concept of the traditional MMC based interface for administering Exchange, and adopted a new web based interface called the “<strong><em>Exchange Administrative Centre</em></strong>” (or EAC for short).</p>
<p>When you install Exchange 2013 – a link to this management interface is not created by default – and administrators have to use a URL similar to the following: <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cHM6Ly9FeGNoYW5nZVNlcnZlck5hbWUvZWNw">https://ExchangeServerName/ecp</a> from within Internet Explorer.</p>
<p>The following script will create a shortcut to the EAC on your administrative desktop:</p>
<div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &#39;Courier New&#39;, courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4">
<div id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&lt;<span style="color: #008000">#</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">.DESCRIPTION</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Create EAC Admin Link <span style="color: #0000ff">for</span> Exchange 2013</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">.CREDITS &amp; COPYRIGHT</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    2012 (c) Telnetport25.com</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    Author: Andy Grogan</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">.VERSION</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    1.0</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"><span style="color: #008000">#&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">Get-PSSnapin Microsoft.Exchange.* -Registered -ErrorAction SilentlyContinue | Out-Null</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"><span style="color: #0000ff">if</span>(!$?){</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    Write-Host <span style="color: #006080">&quot;The Exchange Management Admin Tools are not installed on this server.&quot;</span> -ForegroundColor Red</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Write-Host <span style="color: #006080">&quot;This script should be executed on an Exchange 2013 server with the management tools installed.&quot;</span> -BackgroundColor Red -ForegroundColor White</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    exit(1)</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">}<span style="color: #0000ff">else</span>{</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">&#160;</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    Write-Host <span style="color: #006080">&quot;The Exchange Management Tools are installed.&quot;</span> -BackgroundColor Green -ForegroundColor Black</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    Write-Host <span style="color: #006080">&quot;Creating Icon...&quot;</span> -ForegroundColor Green</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    $ServerName = $ENV:COMPUTERNAME</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    $Name = <span style="color: #006080">&quot;Exchange 2013 Administrative Centre&quot;</span> </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    $Target = <span style="color: #006080">&quot;https://$ServerName/ecp&quot;</span>  </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    $WSO = new-object -com <span style="color: #006080">&quot;WScript.Shell&quot;</span> </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    $path = $WSO.SpecialFolders.item(<span style="color: #006080">&quot;AllUsersDesktop&quot;</span>) </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    $URL = $WSO.CreateShortcut( (join-path $path $Name) + <span style="color: #006080">&quot;.lnk&quot;</span> )  </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    $URL.TargetPath = $Target</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">    $URL.IconLocation = <span style="color: #006080">&quot;https://$ServerName/owa/auth/15.0.516/themes/resources/favicon.ico&quot;</span> </pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white">    $URL.Save()</pre>
<p><!--CRLF--></p>
<pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &#39;Courier New&#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4">}</pre>
<p><!--CRLF--></div>
</div>
<p>I have personally found this to be quite useful – especially if you run the script just after you have installed Exchange 2013. Of course you can do this manually should you wish to by dragging and dropping the URL from the IE address bar to your local desktop – but if you have a number of Exchange Servers – you may wish to use the script to automate the process.</p>
<h2>Download</h2>
<p><img src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL2V4Y2hhbmdlMjAxMy9DcmVhdGVFeGNoYW5nZUFkbWluQ2VudHJlSWNvbi5wczE=" target=\"_blank\">CreateExchangeAdminCentreIcon.ps1 – 1.5KB</a> ]</p>
<h2>Usage</h2>
<p>In order to use the script – download it to your Exchange 2013 server and follow the guidance for running PowerShell scripts that I have provided <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDIvcXVpY2stdGlwLXJ1bm5pbmctZXhjaGFuZ2UtYmFzZWQtcG93ZXJzaGVsbC1zY3JpcHQtZmlsZXMtZnJvbS10aGUtY29tbWFuZC1saW5lLW9yLWEtYmF0Y2gtZmlsZS8=" target=\"_blank\">here</a>. Alternatively you can copy the code above to a new PS1 file on your Exchange Server.</p>
<div class="shr-publisher-1545"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTEvcXVpY2stdGlwY3JlYXRpbmctYW4taWNvbi1vbi10aGUtZGVza3RvcC1mb3ItdGhlLWV4Y2hhbmdlLTIwMTMtZWFjLw==" data-shr_title='Quick+Tip%26ndash%3BCreating+an+icon+on+the+desktop+for+the+Exchange+2013+EAC%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1545" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/11/quick-tipcreating-an-icon-on-the-desktop-for-the-exchange-2013-eac/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quick Tip&#8211;Small issue when uninstalling Exchange 2013 based server which was previously a member of a DAG&#8230;</title>
		<link>http://www.telnetport25.com/2012/11/quick-tipsmall-issue-when-uninstalling-exchange-2013-based-server-which-was-previously-a-member-of-a-dag/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=quick-tipsmall-issue-when-uninstalling-exchange-2013-based-server-which-was-previously-a-member-of-a-dag</link>
		<comments>http://www.telnetport25.com/2012/11/quick-tipsmall-issue-when-uninstalling-exchange-2013-based-server-which-was-previously-a-member-of-a-dag/#comments</comments>
		<pubDate>Sat, 03 Nov 2012 09:42:59 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 Release Preview (Installation)]]></category>
		<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[Error: This computer is a member of a cluster. It must be removed from the database]]></category>
		<category><![CDATA[Exchange 2013]]></category>
		<category><![CDATA[Exchange 2013 Release Preview]]></category>
		<category><![CDATA[Exchange 2013 uninstall]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1542</guid>
		<description><![CDATA[Today I have been busy removing the Release Preview of Exchange 2013 from a number of my lab servers. All was going well until I came to removing Exchange from a couple of Exchange 2013 DAG Servers &#8211; where I was presented with the following error message: Error: This computer is a member of a [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Today I have been busy removing the Release Preview of Exchange 2013 from a number of my lab servers. All was going well until I came to removing Exchange from a couple of Exchange 2013 DAG Servers &ndash; where I was presented with the following error message:</p>
<blockquote>
<p><strong><u>Error:</u></strong> This computer is a member of a cluster. It must be removed from the database.</p>
</blockquote>
<p><img alt="03-11-201209-19-13" height="506" src="http://www.telnetport25.com/wp-content/uploads/2012/11/03-11-201209-19-13.png" style="display: inline" title="03-11-201209-19-13" width="579" /></p>
<p>Prior to my attempting to remove Exchange I had removed all database copies that had been associated with the server.</p>
<p>Luckily the solution was very simple.</p>
<p>In order to resolve this error message, open a PowerShell command window and type in the following commands:</p>
<pre>Cluster node</pre>
<p>This will list all of the Exchange Servers that are associated with the Failover Clustering service &ndash; identify the name of the Exchange server that you are trying to remove Exchange from &ndash; then type:</p>
<pre>Cluster node &lt;Node Name&gt; /Evict</pre>
<p>When the node has been removed from the cluster type in the following PowerShell cmdlet</p>
<pre>Remove-WindowsFeature Failover-Clustering</pre>
<p><img alt="03-11-201209-24-50" height="271" src="http://www.telnetport25.com/wp-content/uploads/2012/11/03-11-201209-24-50.png" style="display: inline" title="03-11-201209-24-50" width="451" /></p>
<p>You can then close the PowerShell window and return to the Exchange 2013 RP setup process and click on the &ldquo;<em><strong>Retry</strong></em>&rdquo; button &ndash; and which should then result in the removal prerequisites completing correctly.</p>
<div class="shr-publisher-1542"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTEvcXVpY2stdGlwc21hbGwtaXNzdWUtd2hlbi11bmluc3RhbGxpbmctZXhjaGFuZ2UtMjAxMy1iYXNlZC1zZXJ2ZXItd2hpY2gtd2FzLXByZXZpb3VzbHktYS1tZW1iZXItb2YtYS1kYWcv" data-shr_title='Quick+Tip%26ndash%3BSmall+issue+when+uninstalling+Exchange+2013+based+server+which+was+previously+a+member+of+a+DAG%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1542" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/11/quick-tipsmall-issue-when-uninstalling-exchange-2013-based-server-which-was-previously-a-member-of-a-dag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>May, June, July, August, Sep 2012 www.telnetport25.com Newsletter&#8230;</title>
		<link>http://www.telnetport25.com/2012/10/may-june-july-august-sep-2012-www-telnetport25-com-newsletter/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=may-june-july-august-sep-2012-www-telnetport25-com-newsletter</link>
		<comments>http://www.telnetport25.com/2012/10/may-june-july-august-sep-2012-www-telnetport25-com-newsletter/#comments</comments>
		<pubDate>Sun, 28 Oct 2012 18:18:34 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[August 2012]]></category>
		<category><![CDATA[July 2012]]></category>
		<category><![CDATA[June 2012]]></category>
		<category><![CDATA[May 2012]]></category>
		<category><![CDATA[Newsletters]]></category>
		<category><![CDATA[September 2012]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1537</guid>
		<description><![CDATA[The May – Sep 2012 www.telnetport25.com newsletter(s) are available for download from the following location: [ May - Sep 2012 Newsletter – 600 KB ]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>The May – Sep 2012 <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLw==">www.telnetport25.com</a> newsletter(s) are available for download from the following location:</p>
<p><img alt="adobe" src="http://www.telnetport25.com/images/stories/legimages/Icons/adobe.jpg" width="40" height="40" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9uZXdzbGV0dGVycy90ZWxuZXRwb3J0MjVOZXdzbGV0dGVySnVuZVNlcDIwMTIucGRm">May - Sep 2012 Newsletter – 600 KB</a> ]</p>
<div class="shr-publisher-1537"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTAvbWF5LWp1bmUtanVseS1hdWd1c3Qtc2VwLTIwMTItd3d3LXRlbG5ldHBvcnQyNS1jb20tbmV3c2xldHRlci8=" data-shr_title='May%2C+June%2C+July%2C+August%2C+Sep+2012+www.telnetport25.com+Newsletter%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1537" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/10/may-june-july-august-sep-2012-www-telnetport25-com-newsletter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Tip (Revisited) &#8211; How to get the physical sizes of Exchange Databases (in different versions of Exchange from a single script)</title>
		<link>http://www.telnetport25.com/2012/10/quick-tip-revisited-how-to-get-the-physical-sizes-of-exchange-databases-in-different-versions-of-exchange-from-a-single-script/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=quick-tip-revisited-how-to-get-the-physical-sizes-of-exchange-databases-in-different-versions-of-exchange-from-a-single-script</link>
		<comments>http://www.telnetport25.com/2012/10/quick-tip-revisited-how-to-get-the-physical-sizes-of-exchange-databases-in-different-versions-of-exchange-from-a-single-script/#comments</comments>
		<pubDate>Sun, 28 Oct 2012 14:20:51 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2007 (CCR)]]></category>
		<category><![CDATA[Exchange 2007 (General)]]></category>
		<category><![CDATA[Exchange 2010 (General)]]></category>
		<category><![CDATA[Exchange 2010 (Mailbox)]]></category>
		<category><![CDATA[Mailbox Databases]]></category>
		<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[Exchange 2007 Databases]]></category>
		<category><![CDATA[Exchange 2010 Databases]]></category>
		<category><![CDATA[Exchange Database Size]]></category>
		<category><![CDATA[Exchange Reporting]]></category>
		<category><![CDATA[Powerhshell]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1534</guid>
		<description><![CDATA[A couple of weeks back I published a very simple script which I had been using on a few versions of Exchange to determine the physical sizes of each of the EDB files. A reader commented that in Exchange 2010 – such an elaborate script was not needed as the Get-MailboxDatabase cmdlet contains a “DatabaseSize” [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>A couple of weeks back <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTAvcXVpY2stdGlwLWhvdy1jYW4taS1nZXQtdGhlLXBoeXNpY2FsLXNpemVzLW9mLWFsbC1teS1leGNoYW5nZS1kYXRhYmFzZXMv">I published a very simple script</a> which I had been using on a few versions of Exchange to determine the physical sizes of each of the EDB files. A reader commented that in Exchange 2010 – such an elaborate script was not needed as the Get-MailboxDatabase cmdlet contains a “<strong><em>DatabaseSize</em></strong>” property which is populated from the Information Store on each mailbox server when the “<strong><em>–Size</em></strong>” parameter is used.</p>
<blockquote><p><strong>Bjarni Kristjansson</strong></p>
<p>Or this one liner… Get-MailboxDatabase –server &lt;ServerName&gt; -status | select ServerName,Name,DatabaseSize<br />
Rgds. BK</p></blockquote>
<p>Of course Bjarni was correct – but his comment led me to consider how I had been using my original script. As I was familiar with the code and the environments that I was executing it within &#8211; I would modify it to essentially “<strong><em>work</em></strong>” when it stopped doing so – however, when I published a version of the the code on <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLw==">telnetport25.com</a> &#8211; I discovered that what I produced was not all encompassing (<em>or generic enough</em>). Therefore;</p>
<ul>
<li>Execution against Clustered 2007 Instances would not return any data</li>
<li>The script did not account for different versions of Exchange, and therefore did not use the most optimal command line syntax between 2007 and 2010</li>
</ul>
<p>Given the above I have re-written the original script (<em>and replaced the download with the new script</em>) so that it will now:</p>
<ul>
<li>Recognise the different syntax between the cmdlets required by Exchange 2010 and Exchange 2007</li>
<li>If the host environment is Exchange 2007, determine if the mailbox is hosted on a cluster or a basic Exchange instance and report on the physical database sizes</li>
</ul>
<p>In order to work correctly in an Exchange 2007 environment the account in which the context of the script is run needs to have access to the hidden share at the root of each Exchange server (<strong><em>c$</em></strong> for example).</p>
<p>Aside from the mail purpose of the script, there are some other learning points contained within its syntax – for example;</p>
<ul>
<li>Exchange 2007 / 2010 – How to simply detect the major version of the Exchanger on a given server</li>
<li>Exchange 2007 CCR – How to determine the Active CCR node</li>
</ul>
<p>The output of this script looks like the following depending on the version of Exchange that it executes against:</p>
<h2>Exchange 2010</h2>
<p><img style="display: inline;" title="28-10-201213-11-07" alt="28-10-201213-11-07" src="http://www.telnetport25.com/wp-content/uploads/2012/10/28-10-201213-11-07.png" width="650" height="283" /></p>
<h2>Exchange 2007</h2>
<p><img style="display: inline;" title="28-10-201214-15-12" alt="28-10-201214-15-12" src="http://www.telnetport25.com/wp-content/uploads/2012/10/28-10-201214-15-12.png" width="668" height="331" /></p>
<h2>The (revised) Script</h2>
<p>You can review the script below, or you can click on the download link provided in the Download section.</p>
<div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; font-family: 'Courier New', courier, monospace; direction: ltr; text-align: left; margin: 20px 0px 10px; line-height: 12pt; max-height: 200px; width: 97.5%; background-color: #f4f4f4; border: silver 1px solid; padding: 4px;">
<div id="codeSnippet" style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;">
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum1" style="color: #606060;">   1:</span> &lt;<span style="color: #008000;">#</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum2" style="color: #606060;">   2:</span> .DESCRIPTION</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum3" style="color: #606060;">   3:</span>    Sample Script to demonstrate how you can get the physical Database Size <span style="color: #0000ff;">for</span> both Exchange 2007 and 2010</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum4" style="color: #606060;">   4:</span> .CREDITS &amp; COPYRIGHT</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum5" style="color: #606060;">   5:</span>     2012 (c) Telnetport25.com - Released under the GNU version 3.0</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum6" style="color: #606060;">   6:</span>     Author: Andy Grogan</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum7" style="color: #606060;">   7:</span> .VERSION</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum8" style="color: #606060;">   8:</span>     2.0 - Revised Version</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum9" style="color: #606060;">   9:</span> <span style="color: #008000;">#&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum10" style="color: #606060;">  10:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum11" style="color: #606060;">  11:</span> <span style="color: #0000ff;">function</span> GetExchangeMajorVersion{</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum12" style="color: #606060;">  12:</span>     <span style="color: #0000ff;">param</span>(</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum13" style="color: #606060;">  13:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum14" style="color: #606060;">  14:</span>         $ExchangeServer</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum15" style="color: #606060;">  15:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum16" style="color: #606060;">  16:</span>     )</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum17" style="color: #606060;">  17:</span>     $SVR = Get-ExchangeServer $ExchangeServer</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum18" style="color: #606060;">  18:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum19" style="color: #606060;">  19:</span>     <span style="color: #008000;"># Build a simple differentiation between Exchange 2007 and 2010</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum20" style="color: #606060;">  20:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum21" style="color: #606060;">  21:</span>     <span style="color: #0000ff;">if</span>($SVR.AdminDisplayVersion.Major <span style="color: #cc6633;">-eq</span> 8){</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum22" style="color: #606060;">  22:</span>         <span style="color: #0000ff;">return</span> <span style="color: #006080;">"2007"</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum23" style="color: #606060;">  23:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum24" style="color: #606060;">  24:</span>     }<span style="color: #0000ff;">elseif</span>($SVR.AdminDisplayVersion.Major <span style="color: #cc6633;">-eq</span> 14){</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum25" style="color: #606060;">  25:</span>         <span style="color: #0000ff;">return</span> <span style="color: #006080;">"2010"</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum26" style="color: #606060;">  26:</span>     }<span style="color: #0000ff;">else</span>{</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum27" style="color: #606060;">  27:</span>         Write-Host <span style="color: #006080;">"This script is not supported on versions of Exchange prior to 2007"</span> -ForegroundColor Red</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum28" style="color: #606060;">  28:</span>     }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum29" style="color: #606060;">  29:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum30" style="color: #606060;">  30:</span> }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum31" style="color: #606060;">  31:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum32" style="color: #606060;">  32:</span> <span style="color: #0000ff;">function</span> get_isACluster{</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum33" style="color: #606060;">  33:</span>     <span style="color: #0000ff;">param</span> ($Server)</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum34" style="color: #606060;">  34:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum35" style="color: #606060;">  35:</span>     $isCluster = Get-MailboxServer -Identity $Server | Select Name,ClusteredStorageType</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum36" style="color: #606060;">  36:</span>     <span style="color: #0000ff;">if</span>($isCluster.ClusteredStorageType <span style="color: #cc6633;">-ne</span> <span style="color: #006080;">'Disabled'</span>){</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum37" style="color: #606060;">  37:</span>             <span style="color: #0000ff;">return</span> <span style="color: #006080;">"Clustered"</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum38" style="color: #606060;">  38:</span>         }<span style="color: #0000ff;">else</span>{</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum39" style="color: #606060;">  39:</span>             <span style="color: #0000ff;">return</span> <span style="color: #006080;">"notClustered"</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum40" style="color: #606060;">  40:</span>         }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum41" style="color: #606060;">  41:</span> }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum42" style="color: #606060;">  42:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum43" style="color: #606060;">  43:</span> <span style="color: #0000ff;">function</span> get_ActiveNode{</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum44" style="color: #606060;">  44:</span>     <span style="color: #0000ff;">param</span>(</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum45" style="color: #606060;">  45:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum46" style="color: #606060;">  46:</span>         $Server</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum47" style="color: #606060;">  47:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum48" style="color: #606060;">  48:</span>     )</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum49" style="color: #606060;">  49:</span>     $2007Cluster = Get-MailboxServer $Server</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum50" style="color: #606060;">  50:</span>     <span style="color: #0000ff;">if</span>($2007Cluster.ClusteredStorageType <span style="color: #cc6633;">-ne</span> <span style="color: #006080;">"Disabled"</span>){</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum51" style="color: #606060;">  51:</span>            $Stat = Get-ClusteredMailboxServerStatus $2007Cluster.Name | Select -Expand OperationalMachines | <span style="color: #0000ff;">foreach</span> {<span style="color: #0000ff;">if</span>($_ <span style="color: #cc6633;">-like</span> <span style="color: #006080;">"*Active*"</span>) {$_}}</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum52" style="color: #606060;">  52:</span>            $AN = $Stat.Split(<span style="color: #006080;">" "</span>)[0]</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum53" style="color: #606060;">  53:</span>            <span style="color: #0000ff;">return</span> $AN</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum54" style="color: #606060;">  54:</span>     }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum55" style="color: #606060;">  55:</span> }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum56" style="color: #606060;">  56:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum57" style="color: #606060;">  57:</span> <span style="color: #0000ff;">function</span> get_DBSize2007Cluster{</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum58" style="color: #606060;">  58:</span>     <span style="color: #0000ff;">param</span>(</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum59" style="color: #606060;">  59:</span>         $Server, $DatabaseName</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum60" style="color: #606060;">  60:</span>     )</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum61" style="color: #606060;">  61:</span>         Write-Host <span style="color: #006080;">"Working on Mailbox Database Server: "</span> $Server -ForegroundColor <span style="color: #006080;">"White"</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum62" style="color: #606060;">  62:</span>         $aNode = get_ActiveNode $Server</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum63" style="color: #606060;">  63:</span>         $thisDB = Get-MailboxDatabase -Identity $DatabaseName</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum64" style="color: #606060;">  64:</span>         Write-Host <span style="color: #006080;">"Working against database: "</span> $thisDB -ForegroundColor Green</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum65" style="color: #606060;">  65:</span>         Write-Host <span style="color: #006080;">"Operational Cluster Node: "</span> $aNode -ForegroundColor Yellow</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum66" style="color: #606060;">  66:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum67" style="color: #606060;">  67:</span>         $Path = <span style="color: #006080;">"`\`\" + $aNode + "</span>`\<span style="color: #006080;">" + $thisDB.EdbFilePath.DriveName.Remove(1).ToString() + "</span>$<span style="color: #006080;">"+ $thisDB.EdbFilePath.PathName.Remove(0,2)</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum68" style="color: #606060;">  68:</span>         Write-Host $Path</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum69" style="color: #606060;">  69:</span>         $EdbFile = Get-ChildItem $Path</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum70" style="color: #606060;">  70:</span>         $DBSize = $EdbFile.length / 1GB</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum71" style="color: #606060;">  71:</span>         $Result = [Math]::Round($DBSize,2)</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum72" style="color: #606060;">  72:</span>         return $Result</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum73" style="color: #606060;">  73:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum74" style="color: #606060;">  74:</span> }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum75" style="color: #606060;">  75:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum76" style="color: #606060;">  76:</span> function get_DBSize2007NONCluster{</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum77" style="color: #606060;">  77:</span>     param(</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum78" style="color: #606060;">  78:</span>         $Server</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum79" style="color: #606060;">  79:</span>     )</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum80" style="color: #606060;">  80:</span>         Write-Host "Working on Mailbox Database Server: <span style="color: #006080;">" $Server -ForegroundColor "</span>White<span style="color: #006080;">"</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum81" style="color: #606060;">  81:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum82" style="color: #606060;">  82:</span>         $DBS = Get-MailboxDatabase -Server $Server</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum83" style="color: #606060;">  83:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum84" style="color: #606060;">  84:</span>         foreach($DB in $DBS){</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum85" style="color: #606060;">  85:</span>             Write-Host "Working against database: <span style="color: #006080;">" $DB.Name -ForegroundColor "</span>Green<span style="color: #006080;">"</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum86" style="color: #606060;">  86:</span>             $Path = "`\`\<span style="color: #006080;">" + $Server + "</span>`\<span style="color: #006080;">" + $DB.EdbFilePath.DriveName.Remove(1).ToString() + "</span>$<span style="color: #006080;">"+ $DB.EdbFilePath.PathName.Remove(0,2)</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum87" style="color: #606060;">  87:</span>             $EdbFile = Get-ChildItem $Path</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum88" style="color: #606060;">  88:</span>             $DBSize = $EdbFile.length / 1GB</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum89" style="color: #606060;">  89:</span>             $Result = [Math]::Round($DBSize,2)</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum90" style="color: #606060;">  90:</span>             return $Result</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum91" style="color: #606060;">  91:</span>         }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum92" style="color: #606060;">  92:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum93" style="color: #606060;">  93:</span> }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum94" style="color: #606060;">  94:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum95" style="color: #606060;">  95:</span> $Servers = Get-MailboxServer | Select -ExpandProperty Name</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum96" style="color: #606060;">  96:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum97" style="color: #606060;">  97:</span> foreach($Server in $Servers){</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum98" style="color: #606060;">  98:</span>      $result = GetExchangeMajorVersion $Server</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum99" style="color: #606060;">  99:</span>     if($result -eq "2007<span style="color: #006080;">"){</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum100" style="color: #606060;"> 100:</span>         $is2007Clustered = get_isACluster $Server</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum101" style="color: #606060;"> 101:</span>         if($is2007Clustered -eq "Clustered<span style="color: #006080;">"){</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum102" style="color: #606060;"> 102:</span>             # Get databases paths of the databases on the cluster</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum103" style="color: #606060;"> 103:</span>             $DatabasesONCluster = Get-MailboxDatabase -Server $Server | Select -expandProperty Identity</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum104" style="color: #606060;"> 104:</span>             foreach($entry in $DatabasesONCluster){</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum105" style="color: #606060;"> 105:</span>                 get_DBSize2007Cluster $Server "$entry<span style="color: #006080;">"</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum106" style="color: #606060;"> 106:</span>             }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum107" style="color: #606060;"> 107:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum108" style="color: #606060;"> 108:</span>         }elseif($is2007Clustered -eq "notClustered<span style="color: #006080;">"){</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum109" style="color: #606060;"> 109:</span>             get_DBSize2007NONCluster $Server</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum110" style="color: #606060;"> 110:</span>         }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum111" style="color: #606060;"> 111:</span>     }elseif($Result -eq "2010"){</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum112" style="color: #606060;"> 112:</span>         Get-MailboxDatabase -server $Server -status | select ServerName,Name,DatabaseSize</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum113" style="color: #606060;"> 113:</span>     }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum114" style="color: #606060;"> 114:</span> }</pre>
<p><!--CRLF--></p>
</div>
</div>
<h2>Download</h2>
<p>You can download the scripts from the following location:</p>
<p><img alt="" src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL2V4Y2hhbmdlMjAxMC9HZXRFWERCUGh5c2ljYWxTaXplLnBzMQ==">GetEXDBPhysicalSize.ps1 – 1.3KB</a> ]</p>
<p>Execution of the script is as described in the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTAvcXVpY2stdGlwLWhvdy1jYW4taS1nZXQtdGhlLXBoeXNpY2FsLXNpemVzLW9mLWFsbC1teS1leGNoYW5nZS1kYXRhYmFzZXMv">original article</a>.</p>
<div class="shr-publisher-1534"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTAvcXVpY2stdGlwLXJldmlzaXRlZC1ob3ctdG8tZ2V0LXRoZS1waHlzaWNhbC1zaXplcy1vZi1leGNoYW5nZS1kYXRhYmFzZXMtaW4tZGlmZmVyZW50LXZlcnNpb25zLW9mLWV4Y2hhbmdlLWZyb20tYS1zaW5nbGUtc2NyaXB0Lw==" data-shr_title='Quick+Tip+%28Revisited%29+-+How+to+get+the+physical+sizes+of+Exchange+Databases+%28in+different+versions+of+Exchange+from+a+single+script%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1534" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/10/quick-tip-revisited-how-to-get-the-physical-sizes-of-exchange-databases-in-different-versions-of-exchange-from-a-single-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange 2010&#8211;Get Physical Mailbox Database Size Script</title>
		<link>http://www.telnetport25.com/2012/10/exchange-2010get-physical-mailbox-database-size-script/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exchange-2010get-physical-mailbox-database-size-script</link>
		<comments>http://www.telnetport25.com/2012/10/exchange-2010get-physical-mailbox-database-size-script/#comments</comments>
		<pubDate>Sat, 13 Oct 2012 15:25:20 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2010 Scripts]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Physical Database Size Script]]></category>
		<category><![CDATA[Reporting]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1528</guid>
		<description><![CDATA[Script Description This PowerShell script is a sample which is attached to this article. The script performs the following functions: Is executed from the Exchange Management Shell Provides you with the physical database size of all the Exchange Databases in your environment Download [ GetEXDBPhysicalSize.ps1 &#8211; 1.3KB ] Usage Please refer to the following article: [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><h2>Script Description</h2>
<p>This PowerShell script is a sample which is attached to this <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTAvcXVpY2stdGlwLWhvdy1jYW4taS1nZXQtdGhlLXBoeXNpY2FsLXNpemVzLW9mLWFsbC1teS1leGNoYW5nZS1kYXRhYmFzZXMv">article</a>. <br />
	The script performs the following functions:</p>
<ul>
<li>Is executed from the Exchange Management Shell</li>
<li>Provides you with the physical database size of all the Exchange Databases in your environment</li>
</ul>
<h2>Download</h2>
<p><img src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL2V4Y2hhbmdlMjAxMC9HZXRFWERCUGh5c2ljYWxTaXplLnBzMQ==">GetEXDBPhysicalSize.ps1 &ndash; 1.3KB</a> ]</p>
<h2>Usage</h2>
<p>Please refer to the following article:</p>
<ul>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTAvcXVpY2stdGlwLWhvdy1jYW4taS1nZXQtdGhlLXBoeXNpY2FsLXNpemVzLW9mLWFsbC1teS1leGNoYW5nZS1kYXRhYmFzZXMv" title=\"http://www.telnetport25.com/2012/10/quick-tip-how-can-i-get-the-physical-sizes-of-all-my-exchange-databases/\">http://www.telnetport25.com/2012/10/quick-tip-how-can-i-get-the-physical-sizes-of-all-my-exchange-databases/</a></li>
</ul>
<div class="shr-publisher-1528"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTAvZXhjaGFuZ2UtMjAxMGdldC1waHlzaWNhbC1tYWlsYm94LWRhdGFiYXNlLXNpemUtc2NyaXB0Lw==" data-shr_title='Exchange+2010%26ndash%3BGet+Physical+Mailbox+Database+Size+Script'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1528" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/10/exchange-2010get-physical-mailbox-database-size-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Tip &#8211; How can I get the physical sizes of all my Exchange databases</title>
		<link>http://www.telnetport25.com/2012/10/quick-tip-how-can-i-get-the-physical-sizes-of-all-my-exchange-databases/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=quick-tip-how-can-i-get-the-physical-sizes-of-all-my-exchange-databases</link>
		<comments>http://www.telnetport25.com/2012/10/quick-tip-how-can-i-get-the-physical-sizes-of-all-my-exchange-databases/#comments</comments>
		<pubDate>Sat, 13 Oct 2012 15:15:02 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2010 (General)]]></category>
		<category><![CDATA[Mailbox Databases]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[Exchange 2010 Databases]]></category>
		<category><![CDATA[Exchange Database Size]]></category>
		<category><![CDATA[Exchange Reporting]]></category>
		<category><![CDATA[Powerhshell]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1526</guid>
		<description><![CDATA[I have been doing some work recently on pulling capacity management information from Exchange 2010 using PowerShell. One requirement that I needed to satisfy was returning the physical size of all Exchange Database files within the organisation. There are a number of examples of how this can be done when you have a look around [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I have been doing some work recently on pulling capacity management information from Exchange 2010 using PowerShell. One requirement that I needed to satisfy was returning the physical size of all Exchange Database files within the organisation. There are a number of examples of how this can be done when you have a look around the Internet – however I found them (<em>personally</em>) to be a bit complex – or part of a wider script that can be hard to extract what you need from.</p>
<p>So I decided write my own version which can be modified to accommodate your own purposes.</p>
<p>The following script is a slightly modified version what I came up with for my capacity management assignment:</p>
<div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; font-family: 'Courier New', courier, monospace; direction: ltr; text-align: left; margin: 20px 0px 10px; line-height: 12pt; max-height: 200px; width: 97.5%; background-color: #f4f4f4; border: silver 1px solid; padding: 4px;">
<div id="codeSnippet" style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;">
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum1" style="color: #606060;">   1:</span> &lt;<span style="color: #008000;">#</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum2" style="color: #606060;">   2:</span> .DESCRIPTION</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum3" style="color: #606060;">   3:</span>    Sample Script to demonstrate how you can get the physical Database Size</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum4" style="color: #606060;">   4:</span> .CREDITS &amp; COPYRIGHT</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum5" style="color: #606060;">   5:</span>     2012 (c) Telnetport25.com - Released under the GNU version 3.0</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum6" style="color: #606060;">   6:</span>     Author: Andy Grogan</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum7" style="color: #606060;">   7:</span> <span style="color: #008000;">#&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum8" style="color: #606060;">   8:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum9" style="color: #606060;">   9:</span> Get-PSSnapin Microsoft.Exchange.* -Registered -ErrorAction SilentlyContinue | Out-Null</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum10" style="color: #606060;">  10:</span> <span style="color: #0000ff;">if</span>(!$?){</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum11" style="color: #606060;">  11:</span>     Write-Host <span style="color: #006080;">"The Exchange Management Admin Tools are not installed on this server."</span> -ForegroundColor Red</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum12" style="color: #606060;">  12:</span>     exit(1)</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum13" style="color: #606060;">  13:</span> }<span style="color: #0000ff;">else</span>{</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum14" style="color: #606060;">  14:</span>     Write-Host <span style="color: #006080;">"The Exchange Management Tools are installed."</span> -ForegroundColor Green</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum15" style="color: #606060;">  15:</span> }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum16" style="color: #606060;">  16:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum17" style="color: #606060;">  17:</span> <span style="color: #0000ff;">function</span> get_DBSize{</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum18" style="color: #606060;">  18:</span>     <span style="color: #0000ff;">param</span>(</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum19" style="color: #606060;">  19:</span>         $DB</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum20" style="color: #606060;">  20:</span>     )</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum21" style="color: #606060;">  21:</span>     $DBnfo = Get-Mailboxdatabase -Identity $DB | Select-Object Name,Server,EDBFilePath</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum22" style="color: #606060;">  22:</span>     <span style="color: #0000ff;">foreach</span>($MBXDB <span style="color: #0000ff;">in</span> $DBnfo){</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum23" style="color: #606060;">  23:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum24" style="color: #606060;">  24:</span>         $server = $MBXDB.Server</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum25" style="color: #606060;">  25:</span>         $Path =<span style="color: #006080;">"`\`\" + $server + "</span>`\<span style="color: #006080;">" + $MBXDB.EdbFilePath.DriveName.Remove(1).ToString() + "</span>$<span style="color: #006080;">"+ $MBXDB.EdbFilePath.PathName.Remove(0,2)</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum26" style="color: #606060;">  26:</span>         $EdbFile = Get-ChildItem $Path</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum27" style="color: #606060;">  27:</span>         $DBSize = $EdbFile.length / 1GB</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum28" style="color: #606060;">  28:</span>         $Result = [Math]::Round($DBSize,2)</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum29" style="color: #606060;">  29:</span>         return $Result</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum30" style="color: #606060;">  30:</span>     }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum31" style="color: #606060;">  31:</span> }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum32" style="color: #606060;">  32:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum33" style="color: #606060;">  33:</span> $MailboxDatabases = Get-MailboxDatabase | Select -ExpandProperty Name</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum34" style="color: #606060;">  34:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum35" style="color: #606060;">  35:</span> foreach($mbxDB in $MailboxDatabases){</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum36" style="color: #606060;">  36:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum37" style="color: #606060;">  37:</span>     $returnedSizes = get_DBSize $mbxDB</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum38" style="color: #606060;">  38:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum39" style="color: #606060;">  39:</span>     foreach($sizeEntry in $returnedSizes){</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum40" style="color: #606060;">  40:</span>         Write-Host "Mailbox Database: <span style="color: #006080;">" $mbxDB -ForegroundColor Yellow</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum41" style="color: #606060;">  41:</span>         Write-Host "Size: <span style="color: #006080;">" $sizeEntry "</span>GB" -ForegroundColor Cyan</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum42" style="color: #606060;">  42:</span>     }</pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: white; border-style: none; padding: 0px;"><span id="lnum43" style="color: #606060;">  43:</span></pre>
<p><!--CRLF--></p>
<pre style="overflow: visible; font-size: 8pt; font-family: 'Courier New', courier, monospace; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; width: 100%; background-color: #f4f4f4; border-style: none; padding: 0px;"><span id="lnum44" style="color: #606060;">  44:</span> }</pre>
<p><!--CRLF--></p>
</div>
</div>
<h2>Using the script</h2>
<p>You can download the script above from the following location:</p>
<p><img alt="" src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL2V4Y2hhbmdlMjAxMC9HZXRFWERCUGh5c2ljYWxTaXplLnBzMQ==" target=\"_blank\">GetEXDBPhysicalSize.ps1 – 1.3KB</a> ]</p>
<p>You should execute the script from an Exchange Server in your Infrastructure using the guidance that I have provided here: <a title=\"http://www.telnetport25.com/2012/02/quick-tip-running-exchange-based-powershell-script-files-from-the-command-line-or-a-batch-file/\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDIvcXVpY2stdGlwLXJ1bm5pbmctZXhjaGFuZ2UtYmFzZWQtcG93ZXJzaGVsbC1zY3JpcHQtZmlsZXMtZnJvbS10aGUtY29tbWFuZC1saW5lLW9yLWEtYmF0Y2gtZmlsZS8=">http://www.telnetport25.com/2012/02/quick-tip-running-exchange-based-powershell-script-files-from-the-command-line-or-a-batch-file/</a></p>
<h2>Example Output</h2>
<p>Successful execution of the script will produce output similar to that below.</p>
<p><img style="display: inline;" title="13-10-201215-35-07" alt="13-10-201215-35-07" src="http://www.telnetport25.com/wp-content/uploads/2012/10/13-10-201215-35-07.png" width="593" height="220" /></p>
<p>The script is provided free for you to modify / use how you see fit – there are many modifications that can be made – for example:</p>
<ul>
<li>Port the output to HTML</li>
<li>E-Mail the sizes to an administrator</li>
</ul>
<div class="shr-publisher-1526"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMTAvcXVpY2stdGlwLWhvdy1jYW4taS1nZXQtdGhlLXBoeXNpY2FsLXNpemVzLW9mLWFsbC1teS1leGNoYW5nZS1kYXRhYmFzZXMv" data-shr_title='Quick+Tip+-+How+can+I+get+the+physical+sizes+of+all+my+Exchange+databases'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1526" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/10/quick-tip-how-can-i-get-the-physical-sizes-of-all-my-exchange-databases/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Just in case that you have missed them (or me)&#8230;</title>
		<link>http://www.telnetport25.com/2012/09/just-in-case-that-you-have-missed-them-or-me/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=just-in-case-that-you-have-missed-them-or-me</link>
		<comments>http://www.telnetport25.com/2012/09/just-in-case-that-you-have-missed-them-or-me/#comments</comments>
		<pubDate>Tue, 18 Sep 2012 19:14:02 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[General Mumblings]]></category>
		<category><![CDATA[SearchExchange]]></category>
		<category><![CDATA[Exchange 2010 Setup Errors]]></category>
		<category><![CDATA[MX Records]]></category>
		<category><![CDATA[Recommendations]]></category>
		<category><![CDATA[Search Exchange]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1521</guid>
		<description><![CDATA[I know that I have not posted here much recently (mainly down to work and publishing commitments) – but I wanted to give you folks a run down of some of the work that I have been doing for SearchExchange at the moment: E-Zine columns BYOD Considerations for Exchange &#8211; http://searchexchange.techtarget.com/tutorial/BYOD-considerations-for-Exchange-admins Ask the “Experts” What’s [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I know that I have not posted here much recently (<em>mainly down to work and publishing commitments</em>) – but I wanted to give you folks a run down of some of the work that I have been doing for <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3NlYXJjaGV4Y2hhbmdlLnRlY2h0YXJnZXQuY29tLw==">SearchExchange</a> at the moment:</p>
<h2>E-Zine columns</h2>
<ul>
<li>BYOD Considerations for Exchange &#8211; <a title=\"http://searchexchange.techtarget.com/tutorial/BYOD-considerations-for-Exchange-admins\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3NlYXJjaGV4Y2hhbmdlLnRlY2h0YXJnZXQuY29tL3R1dG9yaWFsL0JZT0QtY29uc2lkZXJhdGlvbnMtZm9yLUV4Y2hhbmdlLWFkbWlucw==">http://searchexchange.techtarget.com/tutorial/BYOD-considerations-for-Exchange-admins</a></li>
</ul>
<h2>Ask the “Experts”</h2>
<ul>
<li>What’s the difference between MX records and Smart Hosts? &#8211; <a title=\"http://searchexchange.techtarget.com/answer/Whats-the-difference-between-MX-records-and-smart-hosts\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3NlYXJjaGV4Y2hhbmdlLnRlY2h0YXJnZXQuY29tL2Fuc3dlci9XaGF0cy10aGUtZGlmZmVyZW5jZS1iZXR3ZWVuLU1YLXJlY29yZHMtYW5kLXNtYXJ0LWhvc3Rz">http://searchexchange.techtarget.com/answer/Whats-the-difference-between-MX-records-and-smart-hosts</a> </li>
<li>Exchange 2010 setup error: Could not find a domain controller &#8211; <a title=\"http://searchexchange.techtarget.com/answer/Exchange-2010-setup-error-Could-not-find-domain-controller\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3NlYXJjaGV4Y2hhbmdlLnRlY2h0YXJnZXQuY29tL2Fuc3dlci9FeGNoYW5nZS0yMDEwLXNldHVwLWVycm9yLUNvdWxkLW5vdC1maW5kLWRvbWFpbi1jb250cm9sbGVy">http://searchexchange.techtarget.com/answer/Exchange-2010-setup-error-Could-not-find-domain-controller</a> </li>
</ul>
<h2>Recommendations</h2>
<p>Whereas I am a contributor to <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3NlYXJjaGV4Y2hhbmdlLnRlY2h0YXJnZXQuY29tLw==">SearchExchange</a>, that does not guarantee me any special favours. I was really “<em>chuffed</em>” to be <strong><u>number 4</u></strong> on their recent &quot;<strong><em>Exchange Server Blogs you need to bookmark</em></strong>” – there is some very distinguished company on this list <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Smile" src="http://www.telnetport25.com/wp-content/uploads/2012/09/wlEmoticon-smile.png" /> &#8211; have a look at the link below – as aside from me there is some great recommended reading material.</p>
<ul>
<li><a title=\"http://searchexchange.techtarget.com/feature/Exchange-Server-blogs-you-need-to-bookmark\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3NlYXJjaGV4Y2hhbmdlLnRlY2h0YXJnZXQuY29tL2ZlYXR1cmUvRXhjaGFuZ2UtU2VydmVyLWJsb2dzLXlvdS1uZWVkLXRvLWJvb2ttYXJr">http://searchexchange.techtarget.com/feature/Exchange-Server-blogs-you-need-to-bookmark</a> </li>
</ul>
<p>There are a few things that I have let fall behind recently – for example my own personal <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2NhdGVnb3J5L25ld3NsZXR0ZXJzLw==" target=\"_blank\">Newsletter</a> for <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cHM6Ly93d3cudGVsbmV0cG9ydDI1LmNvbQ==" target=\"_blank\">telnetport25.com</a> (<em>if you have subscribed expect a bumper edition very soon</em>) but I am hoping to be back in the game very soon!. </p>
<div class="shr-publisher-1521"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDkvanVzdC1pbi1jYXNlLXRoYXQteW91LWhhdmUtbWlzc2VkLXRoZW0tb3ItbWUv" data-shr_title='Just+in+case+that+you+have+missed+them+%28or+me%29%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1521" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/09/just-in-case-that-you-have-missed-them-or-me/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Connecting Outlook 2013 Release Preview to O365 Manually&#8230;</title>
		<link>http://www.telnetport25.com/2012/09/connecting-outlook-2013-release-preview-to-o365-manually/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=connecting-outlook-2013-release-preview-to-o365-manually</link>
		<comments>http://www.telnetport25.com/2012/09/connecting-outlook-2013-release-preview-to-o365-manually/#comments</comments>
		<pubDate>Wed, 12 Sep 2012 18:37:19 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Office 365 - Exchange Mail]]></category>
		<category><![CDATA[Outlook 2013]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Exchange Online]]></category>
		<category><![CDATA[O365]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[Office 365 and Outlook Manual configuration]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1517</guid>
		<description><![CDATA[I have just migrated all of my home based e-mail to Office 365 (away from IMAP with my hosting provider). One thing that I noticed is that whilst my iPad and iPhone (using Active Sync) and Outlook 2011 (on my Mac Book) all connected perfectly using Autodiscover (as I had set this up for my [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I have just migrated all of my home based e-mail to Office 365 (<em>away from IMAP with my hosting provider</em>). One thing that I noticed is that whilst my iPad and iPhone (<em>using Active Sync</em>) and Outlook 2011 (<em>on my Mac Book</em>) all connected perfectly using Autodiscover (<em>as I had set this up for my domain</em>) – I could not get <strong><u>Outlook 2013 Release Preview</u></strong> to connect and configure automatically on my Windows 8 PC.</p>
<p>Now is is entirely possible that this is down to some weird cock-up that I have made with the DNS configuration (<em>although this would not explain the other Autodiscover aware clients working correctly</em>) – but I found that the only solution was to manually configure the connection to the servers in the Microsoft Cloud.</p>
<p>Before I get going&#160; &#8211; there is a KB article on the subject (<strong><em>for versions of Outlook from 2003 upwards</em></strong>) which can be found here: <a title=\"http://support.microsoft.com/kb/2404385/en-us\" href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3N1cHBvcnQubWljcm9zb2Z0LmNvbS9rYi8yNDA0Mzg1L2VuLXVz">http://support.microsoft.com/kb/2404385/en-us</a> which did get me into a position where Outlook 2013 would connect – but it is quite long – therefore I have provided a summary guide below:</p>
<h2>Get your O365 Host information</h2>
<p>In order to configure Outlook 2013 manually for Office 365, you will need to get some information first. You will need to logon to OWA via your portal account (<em>using </em><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cHM6Ly9wb3J0YWwubWljcm9zb2Z0b25saW5lLmNvbQ=="><em>https://portal.microsoftonline.com</em></a>) and from the “<strong><em>Outlook</em></strong>” tab click on the Help icon and selection “<strong><em>About</em></strong>” – see below:</p>
<p><img title="12-09-201218-17-37" style="display: inline" alt="12-09-201218-17-37" src="http://www.telnetport25.com/wp-content/uploads/2012/09/12-09-201218-17-37.png" width="250" height="153" /></p>
<p>When you have clicked on the “<strong><em>About</em></strong>” menu option you will be presented with a number of session settings relevant to your O365 account – you are interested in the “<strong><em>Host Address</em></strong>” value – see the highlighted section below:</p>
<p><img title="12-09-201218-21-15" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="12-09-201218-21-15" src="http://www.telnetport25.com/wp-content/uploads/2012/09/12-09-201218-21-15.png" width="647" height="434" /></p>
<p>Copy the “<strong><em>Host Address</em></strong>” value (<em>which will be in the format of <strong>&lt;ServerName&gt;outlook.com</strong></em>)into a text editor like Windows Notepad and make the following modifications:</p>
<ul>
<li>Remote the https:// and /OWA elements </li>
<li>Make another copy of the string that you are left with (<em>which should be <strong>&lt;ServerName&gt;.outlook.com</strong></em>) on another line </li>
<li>Change one of the values to <strong>&lt;ServerName&gt;.mailbox.outlook.com</strong> </li>
</ul>
<p>See below for an example of the above:</p>
<p><img title="12-09-201218-35-27" style="display: inline" alt="12-09-201218-35-27" src="http://www.telnetport25.com/wp-content/uploads/2012/09/12-09-201218-35-27.png" width="352" height="159" /></p>
<h2>Manually Configuring Outlook 2013 – Release Preview</h2>
<p>Open the Mail Control Panel applet and click on the “<strong><em>Show Profiles</em></strong>” button</p>
<p><img title="12-09-201218-48-20" style="display: inline" alt="12-09-201218-48-20" src="http://www.telnetport25.com/wp-content/uploads/2012/09/12-09-201218-48-20.png" width="447" height="286" /></p>
<p>From the “<strong><em>Mail</em></strong>” dialog box that appears click on the “<strong><em>Add</em></strong>” button – see below</p>
<p><img title="12-09-201218-49-59" style="display: inline" alt="12-09-201218-49-59" src="http://www.telnetport25.com/wp-content/uploads/2012/09/12-09-201218-49-59.png" width="354" height="414" /></p>
<p>Give your profile a descriptive name and then click on the “<strong><em>OK</em></strong>” button – see below</p>
<p><img title="12-09-201218-51-27" style="display: inline" alt="12-09-201218-51-27" src="http://www.telnetport25.com/wp-content/uploads/2012/09/12-09-201218-51-27.png" width="310" height="127" /></p>
<p>From the “<strong><em>Add Account</em></strong>” dialog – select the “<strong><em>Manual setup or additional server types</em></strong>” radio button and then click next – see below</p>
<p><img title="12-09-201218-54-19" style="display: inline" alt="12-09-201218-54-19" src="http://www.telnetport25.com/wp-content/uploads/2012/09/12-09-201218-54-19.png" width="694" height="492" /></p>
<p>On the next screen ensure that the “<strong><em>Microsoft Exchange Server or compatible service</em></strong>” radio button is selected and then click “<strong><em>Next</em></strong>” – see below</p>
<p><img title="12-09-201218-56-07" style="display: inline" alt="12-09-201218-56-07" src="http://www.telnetport25.com/wp-content/uploads/2012/09/12-09-201218-56-07.png" width="694" height="492" /></p>
<p>On the next screen, in the “<strong><em>Server Settings</em></strong>” area – for the “<strong><em>Server</em></strong>” value – copy and paste the entry in your Notepad session which looks like <strong><em>&lt;ServerName&gt;.mailbox.outlook.com</em></strong>. For the User Name value – provide your Office 365 logon account which should be <strong><em>&lt;some alias&gt;@yourdomain.com</em></strong>. You can customise the &quot;<em><strong>Offline Settings</strong></em>” to suite you own requirements.</p>
<p>When you are done – click on the “<strong><em>More Settings</em></strong>” button – see below</p>
<p><img title="12-09-201219-00-39" style="display: inline" alt="12-09-201219-00-39" src="http://www.telnetport25.com/wp-content/uploads/2012/09/12-09-201219-00-39.png" width="694" height="492" /></p>
<p>From the dialog box that appears click on the “<strong><em>Connection</em></strong>” tab – tick the “<strong><em>Connect to Microsoft Exchange using HTTP</em></strong>” and then click on the “<strong><em>Exchange Proxy Settings</em></strong>” button – see below</p>
<p><img title="12-09-2012 9-05-02" style="display: inline" alt="12-09-2012 9-05-02" src="http://www.telnetport25.com/wp-content/uploads/2012/09/12-09-2012-9-05-02.png" width="354" height="440" /></p>
<p>In the “<strong><em>Connection Settings</em></strong>” area – populate the proxy URL with the <strong><em>&lt;ServerName&gt;.outlook.com</em></strong> value from Notepad. Ensure that the “<em><strong>Connect using SSL only</strong></em>” tick box is ticked and then tick the “<strong><em>Only connect to proxy servers that have this principle name in their certificate</em></strong>”.</p>
<p>You will need to then provide the following principle name:</p>
<p><b>msstd:outlook.com</b></p>
<p>Tick the “<strong><em>On fast networks, connect using HTTP first, then connect using TCP/IP</em></strong>” and then change the “<strong><em>Proxy authentication settings</em></strong>” to “<strong><em>Basic Authentication</em></strong>” – see below</p>
<p><img title="12-09-201219-22-39" style="display: inline" alt="12-09-201219-22-39" src="http://www.telnetport25.com/wp-content/uploads/2012/09/12-09-201219-22-39.png" width="483" height="412" /></p>
<p>When you are done – click the “<strong><em>OK</em></strong>” button until you are returned to the parent “<strong><em>Add account</em></strong>” dialog box.</p>
<p>Click on the “<strong><em>Check Name</em></strong>” button and you will be prompted for a Username and Password – you should enter in your O365 account ID and password (<em>this should be in UPN format of <strong>&lt;alias&gt;@&lt;yourdomain.com&gt;</strong></em>) and then click on the “<strong><em>Next</em></strong>” button.</p>
<p>You should now be able to connect to your Office 365 account from Outlook 2013.</p>
<div class="shr-publisher-1517"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDkvY29ubmVjdGluZy1vdXRsb29rLTIwMTMtcmVsZWFzZS1wcmV2aWV3LXRvLW8zNjUtbWFudWFsbHkv" data-shr_title='Connecting+Outlook+2013+Release+Preview+to+O365+Manually%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1517" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/09/connecting-outlook-2013-release-preview-to-o365-manually/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Exchange 2010 DAG Update Database Copy &#8211; Hresult: 0x50d. Error: A database backup is already in progress.</title>
		<link>http://www.telnetport25.com/2012/08/exchange-2010-dag-update-database-copy-hresult-0x50d-error-a-database-backup-is-already-in-progress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exchange-2010-dag-update-database-copy-hresult-0x50d-error-a-database-backup-is-already-in-progress</link>
		<comments>http://www.telnetport25.com/2012/08/exchange-2010-dag-update-database-copy-hresult-0x50d-error-a-database-backup-is-already-in-progress/#comments</comments>
		<pubDate>Tue, 28 Aug 2012 10:50:21 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2010 (DAG)]]></category>
		<category><![CDATA[Exchange 2010 (Mailbox)]]></category>
		<category><![CDATA[Backup Exec]]></category>
		<category><![CDATA[DAG]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Hresult: 0x50d]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1499</guid>
		<description><![CDATA[I came back from Hol&#8217;s today to an odd issue with one of my production database copies (2010 x 3 node DAG). Whilst I was away there has been a slight incident in one of our data centres which resulted in a failover between DAG nodes. Whereas service was restored quickly &#8211; one specific database&#39;s [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I came back from Hol&rsquo;s today to an odd issue with one of my production database copies (2010 x 3 node DAG). Whilst I was away there has been a slight incident in one of our data centres which resulted in a failover between DAG nodes. Whereas service was restored quickly &ndash; one specific database&#39;s copy failed.<o:p></o:p></p>
<p>My team had tried to resume the database copy and also tried to update the database copy with the delete existing files option &ndash; but each time they did, the following error message would be presented to them:<o:p></o:p></p>
<pre>The attempt to seed database &#39;&lt;DB NAME&gt;&#39; from the active copy on server &#39;&lt;DBX-1&gt;&#39; to the copy on server &#39;&lt;DBX-2&gt;&#39; failed:<o:p></o:p>

Microsoft.Exchange.Cluster.Replay.FailedToOpenBackupFileHandleException: Couldn&#39;t open backup file handle for database &#39;&lt;DB NAME&gt;&#39; to server &#39;&lt;DBX-1&gt;&#39;. Hresult: 0x50d. Error: A database backup is already in progress. Please verify that no other seeding or incremental reseeding operations are started for this database, and then try the operation again by rerunning the Update-MailboxDatabaseCopy cmdlet. <o:p></o:p>

At Microsoft.Exchange.Cluster.Replay.SafeBackupContextHandle.GetAndSetIntPtrInCER(String serverName, String dbName, String transferAddress, SafeBackupContextHandle&amp; backupHandle)<o:p></o:p>

   at Microsoft.Exchange.Cluster.Replay.EseDatabaseBackupReader.GetESEDatabaseBackupReader(String serverName, String dbName, Guid dbGuid, String transferAddress, String sourceFileToBackupFullPath, UInt32 readHintSizeBytes)<o:p></o:p>

   at Microsoft.Exchange.Cluster.Replay.SeedDatabaseFileRequest.OpenSeedStreamer(Guid dbGuid, UInt32 readHintSize, Int64&amp; initialFileSizeBytes)<o:p></o:p>

   at Microsoft.Exchange.Cluster.Replay.SeedDatabaseFileRequest.Execute()<o:p></o:p></pre>
<p>My suspicions were immediately drawn to the segment of the error &lsquo;<em><strong>Couldn&#39;t open backup file handle for database</strong></em>&rsquo; whereas there was no specific backup software on the server, there was a Backup Exec agent. I stopped the agent on the server and then attempted the Update Mailbox command again &ndash; and this time around it the update processed correctly.<o:p></o:p></p>
<p>So if you should come across this scenario in your own environments, have a look at any running backups &ndash; or backup related services which might be interfering with the operation.<o:p></o:p></p>
<div class="shr-publisher-1499"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDgvZXhjaGFuZ2UtMjAxMC1kYWctdXBkYXRlLWRhdGFiYXNlLWNvcHktaHJlc3VsdC0weDUwZC1lcnJvci1hLWRhdGFiYXNlLWJhY2t1cC1pcy1hbHJlYWR5LWluLXByb2dyZXNzLw==" data-shr_title='Exchange+2010+DAG+Update+Database+Copy+-+Hresult%3A+0x50d.+Error%3A+A+database+backup+is+already+in+progress.'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1499" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/08/exchange-2010-dag-update-database-copy-hresult-0x50d-error-a-database-backup-is-already-in-progress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Script: Install Windows 2008 R2 O/S Prerequisites for Exchange 2013 (RP) based upon the selected role</title>
		<link>http://www.telnetport25.com/2012/08/script-install-windows-2008-r2-os-prerequisites-for-exchange-2013-rp-based-upon-the-selected-role/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=script-install-windows-2008-r2-os-prerequisites-for-exchange-2013-rp-based-upon-the-selected-role</link>
		<comments>http://www.telnetport25.com/2012/08/script-install-windows-2008-r2-os-prerequisites-for-exchange-2013-rp-based-upon-the-selected-role/#comments</comments>
		<pubDate>Sun, 05 Aug 2012 17:24:15 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 Scripts]]></category>
		<category><![CDATA[Exchange 2013 Installation]]></category>
		<category><![CDATA[Windows 2008 R2 Prerequisites for Exchange 2013]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1491</guid>
		<description><![CDATA[Script Description This Powershell based script will install the required Windows 2008 R2 Roles and Features for Exchange 2013 (based upon the Release Preview of Exchange 2013). This script performs the following functions: Asks which of the two Exchange 2013 roles that you would like to install Installs the relevant Windows 2008 R2 Roles and [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><h2>Script Description</h2>
<p>This Powershell based script will install the required Windows 2008 R2 Roles and Features for Exchange 2013 (based upon the Release Preview of Exchange 2013). </p>
<p>	This script performs the following functions:</p>
<ul>
<li>Asks which of the two Exchange 2013 roles that you would like to install</li>
<li>Installs the relevant Windows 2008 R2 Roles and Features</li>
<li>
<p>Reboots the Server after the roles have been installed</p>
</li>
</ul>
<h2>Download</h2>
<p><img src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="www.telnetport25.com/downloads/scripts/Exchange2013RP_OSPreReq.ps1">Exchange2013RP_OSPreReq.ps1 &ndash; 1.6 KB</a> ]</p>
<h2>Usage</h2>
<p>Please refer to the following article(s):</p>
<ul>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDgvaW5zdGFsbGluZy1leGNoYW5nZS0yMDEzcmVsZWFzZS1wcmV2aWV3LW9uLXdpbmRvd3Mtc2VydmVyLTIwMDgtcjItcGFydC0xLw==" title=\"http://www.telnetport25.com/2012/08/installing-exchange-2013release-preview-on-windows-server-2008-r2-part-1/\">http://www.telnetport25.com/2012/08/installing-exchange-2013release-preview-on-windows-server-2008-r2-part-1/</a></li>
</ul>
<div class="shr-publisher-1491"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDgvc2NyaXB0LWluc3RhbGwtd2luZG93cy0yMDA4LXIyLW9zLXByZXJlcXVpc2l0ZXMtZm9yLWV4Y2hhbmdlLTIwMTMtcnAtYmFzZWQtdXBvbi10aGUtc2VsZWN0ZWQtcm9sZS8=" data-shr_title='Script%3A+Install+Windows+2008+R2+O%2FS+Prerequisites+for+Exchange+2013+%28RP%29+based+upon+the+selected+role'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1491" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/08/script-install-windows-2008-r2-os-prerequisites-for-exchange-2013-rp-based-upon-the-selected-role/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Exchange 2013-Release Preview on Windows Server 2008 R2 &#8211; Part 2&#8230;</title>
		<link>http://www.telnetport25.com/2012/08/installing-exchange-2013-release-preview-on-windows-server-2008-r2-part2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-exchange-2013-release-preview-on-windows-server-2008-r2-part2</link>
		<comments>http://www.telnetport25.com/2012/08/installing-exchange-2013-release-preview-on-windows-server-2008-r2-part2/#comments</comments>
		<pubDate>Sun, 05 Aug 2012 16:13:18 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 Release Preview (Installation)]]></category>
		<category><![CDATA[EAC]]></category>
		<category><![CDATA[Exchange 2013 Installation]]></category>
		<category><![CDATA[Exchange 2013 Preview]]></category>
		<category><![CDATA[Exchange 2013 Release Preview]]></category>
		<category><![CDATA[Exchange Administration Control Panel]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1487</guid>
		<description><![CDATA[In the first part of this series I took you through the process of installing both the Operating System and Software pre-requisites for Exchange 2013 on Windows Server 2008 R2. In this part I would like to conclude by taking you through the (rather simple) process of installing Exchange 2013 itself. Furthermore I would like [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDgvaW5zdGFsbGluZy1leGNoYW5nZS0yMDEzcmVsZWFzZS1wcmV2aWV3LW9uLXdpbmRvd3Mtc2VydmVyLTIwMDgtcjItcGFydC0xLw==" target=\"_blank\">In the first part of this series</a> I took you through the process of installing both the Operating System and Software pre-requisites for <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9ldmFsY2VudGVyL2hoOTczMzk1LmFzcHg=" target=\"_blank\">Exchange 2013</a> on Windows Server 2008 R2. In this part I would like to conclude by taking you through the (rather simple) process of installing Exchange 2013 itself.</p>
<p>Furthermore I would like to take you through some of the aspects of the new Exchange Administration Centre (EAC) which replaces the previous Exchange Management Console.</p>
<h2>Installing Exchange 2013 &ndash; Video Overview</h2>
<p>Below is the second part of my video overview series. In this part I go through how you can finalise your Exchange 2013 installation.</p>
<div class="wlWriterEditableSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:0e713ce8-57d2-400a-bd21-6c7703b8eb68" style="margin: 0px; padding: 0px; float: none; display: inline;">
<div><object height="252" width="448"><param name="movie" value="http://www.youtube.com/v/4WqzSfwxXYM?hl=en&amp;hd=1" /><embed height="252" src="http://www.youtube.com/v/4WqzSfwxXYM?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448"></embed></object></div>
<div style="width: 448px; clear: both; font-size: 0.8em;">Exchange 2013 &#8211; Installation on Windows Server 2008 R2 &#8211; Part 2</div>
</div>
<p>&nbsp;</p>
<blockquote>
<p><strong>NOTE:</strong> The Exchange 2013 RP &ndash; can only be installed into a &ldquo;<strong><em>green field</em></strong>&rdquo; directory environment &ndash; e.g. It will not co-exist with Exchange 2007 or 2010 ~ so don&rsquo;t try this as the install will fail with an Error: &ldquo;<strong><em>All Exchange 2010 servers in the forest must be running Exchange 2010 SP3</em></strong>&rdquo;.</p>
</blockquote>
<h2>Ok, so how do I drive this puppy?</h2>
<p>One of the first things that you will notice is the lack of a definitive link to administer Exchange Server from within the <strong>Start Menu</strong> (<em>see below</em>). In Exchange 2013 the concept of the MMC based Exchange Management Console and the Web Based ECP (<em>Exchange Control Panel</em>) are gone.</p>
<p><img alt="05-08-2012_10-41-02SM" height="464" src="http://www.telnetport25.com/wp-content/uploads/2012/08/05-08-2012_10-41-02SM.png" style="display: inline;" title="05-08-2012_10-41-02SM" width="405" /></p>
<p>These have been replaced with a new Web Based interface called the Exchange Administration Centre (<em>or EAC for short</em>). The EAC will take some getting used to for those who are used to MMC configuration in previous versions of Exchange &ndash; but those who have come from Lync backgrounds are likely to take to it well as conceptually the management concept I would say is very similar to managing Lync 2010.</p>
<p>The EAC is designed to allow for tighter integration between On-Premises, Online and Hybrid deployments through a single interface &ndash; as well as allow for better demarcation of roles through RBAC and simplify the deployment of the Exchange Management Tools.</p>
<p>But how to you access it? as it does not appear in the Start Menu!</p>
<p>You will need to open up Internet Explorer and type in the following: <u><strong>https://&lt;yourserver&gt;/ecp </strong></u>&ndash; if you would like to confirm the administrative URL&rsquo;s you open the trusty Exchange Management Shell and type in:</p>
<pre>Get-ECPVirtualDirectory | FT name,*url* &ndash;AutoSize</pre>
<p>The output of this command should look like the following:</p>
<p><img alt="05-08-201211-34-48PS" height="116" src="http://www.telnetport25.com/wp-content/uploads/2012/08/05-08-201211-34-48PS.png" style="display: inline;" title="05-08-201211-34-48PS" width="657" /></p>
<p>When you enter in the URL into your browser a page that looks like the following should open asking you to enter your Credentials:</p>
<p><img alt="05-08-2012_10-59-28EAC" height="163" src="http://www.telnetport25.com/wp-content/uploads/2012/08/05-08-2012_10-59-28EAC.png" style="display: inline;" title="05-08-2012_10-59-28EAC" width="500" /></p>
<p>When you have logged in you will be presented with the following:</p>
<p><img alt="05-08-201211-40-25EAC" height="404" src="http://www.telnetport25.com/wp-content/uploads/2012/08/05-08-201211-40-25EAC.png" style="display: inline;" title="05-08-201211-40-25EAC" width="600" /></p>
<p>One of the things that I like about the new EAC is that it is not &ldquo;<strong><em>cluttered</em></strong>&rdquo;. In previous versions of Exchange (<em>2007 and 2010</em>) I personally found that the MMC based interface could present you with too many options &ndash; or indeed hide the specific option that you were after in a location that did not make sense.</p>
<p>However, that being said &ndash; I am not completely sure at the moment if the new EAC will force more Exchange administrators towards the Exchange Management Shell (<em><strong>not</strong> necessarily a bad thing</em>).</p>
<p>For example; I have not been able to find a means in the new Interface to &ldquo;<strong><em>bulk create</em></strong>&rdquo; mailboxes for existing AD accounts &ndash; which you could do in the old Exchange 2010 / 2007 MMC &ndash; but you never know it might make it into the RTM!</p>
<p>I have provided a very quick overview (<em>ramble</em>) of the Exchange 2013 EAC for your viewing below:</p>
<div class="wlWriterEditableSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:f11c869c-08de-44a4-9cfa-2fd2505f22d5" style="margin: 0px; padding: 0px; float: none; display: inline;">
<div><object height="252" width="448"><param name="movie" value="http://www.youtube.com/v/oGZw8zT6e_4?hl=en&amp;hd=1" /><embed height="252" src="http://www.youtube.com/v/oGZw8zT6e_4?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448"></embed></object></div>
<div style="width: 448px; clear: both; font-size: 0.8em;">Exchange 2013 &#8211; Quick Overview of the Exchange Administration Centre</div>
</div>
<h2>Sex, Drugs and Exchange 2013 Rolls</h2>
<p>Well, perhaps not the sex and drugs (<em>unless of course you are some kind of depraved Exchange admin that lives on the edge ~ no pun intended</em>).</p>
<p>Some of the biggest news to come out in the Exchange 2013 Preview is that there are now only two Server Roles:</p>
<ul>
<li>Mailbox</li>
<li>Client Access</li>
</ul>
<p>The other roles (UM and HT) have been consolidated down onto one of the above (HT to CAS and UM to Mailbox).</p>
<h3>Mailbox Server</h3>
<p>The Mailbox Server role is the storage and UM end of business for Exchange 2013. The Mailbox role provides resilient storage for mailbox and PF data. In Exchange 2013 &ndash; whilst it maintains it key storage element and acts as an end point for client connections from the CAS servers &#8211; it also handles all Unified Messaging requests and services.</p>
<p>It is still important to note that the mailbox server role is only a responding end point to client requests which are proxied by the CAS Servers &ndash; no client connects directly to a mailbox server (unless, of course you have the CAS and MBX role on the same hardware &ndash; but even then none of the mailbox related services are connected to directly).</p>
<p>It is recommended that if you plan to split your roles out, install the Mailbox Server role first.</p>
<h3>Client Access Server</h3>
<p>The CAS role performs a number of functions which include (<a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2RkMjk4MDI2KHY9ZXhjaGcuMTUwKS5hc3B4" target=\"_blank\">from Microsoft</a>):</p>
<ul>
<li>Provides a unified namespace, authentication, and network security.</li>
<li>Handles all client requests for Exchange.</li>
<li>Routes requests to the correct Mailbox server.</li>
<li>Proxies or redirects client requests for legacy servers, such as Exchange 2007 and Exchange 2010 Client Access.</li>
<li>Enables the use of layer 4 (<em>TCP affinity</em>) routing &ndash; this is of particular interest as it means that Load Balancers which do not support affinity or affiliation can be used with Exchange (<strong><em>Windows NLB anyone?</em></strong>)</li>
</ul>
<p>Perhaps one of the best new features is the last bullet point above &ndash; in essence, due to the architecture changes it does not matter which CAS you have connected to when using Outlook. One of the best explanations for this I have found is <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL21pY2hhZWx2aC53b3JkcHJlc3MuY29tLzIwMTIvMDcvMjQvYS1jbG9zZXItbG9vay1hdC10aGUtY2hhbmdlcy1pbi10aGUtY2xpZW50LWFjY2Vzcy1pbmZyYXN0cnVjdHVyZS1pbi1leGNoYW5nZS1zZXJ2ZXItMjAxMy8=" target=\"_blank\">here</a>.</p>
<p>Aside from the the above, the CAS servers in 2013 provide the following &ldquo;<strong><em>Front End</em></strong>&rdquo; Transport Services:</p>
<ul>
<li>Protocol level filtering Performs connection, recipient, sender, and protocol filtering</li>
<li>Network protection Centralized, load-balanced egress and ingress point for the organization.</li>
<li>Mailbox locator Avoids unnecessary hops by determining the best Mailbox server to deliver the message to.</li>
<li>Load-balances client and application SMTP requests.</li>
</ul>
<p>Another big change here to be aware of is that all Outlook client access is now provided via RPC over HTTP(s) &ndash; and MAPI is purely used for backend Mailbox Server communication. So if you are manually configuring mailboxes you will need to be making use of the Exchange Proxy settings within the Outlook mail control panel:</p>
<p><img alt="05-08-201216-45-28HTTP" height="543" src="http://www.telnetport25.com/wp-content/uploads/2012/08/05-08-201216-45-28HTTP.png" style="display: inline;" title="05-08-201216-45-28HTTP" width="484" /></p>
<h2>Living on the Edge &ndash; What Happened to Edge Transport?</h2>
<p>The Edge role is not present in the release preview of Exchange 2013 where I believe the intention is to release it a little later post RTM within a Service Pack. In the interim, and certainly for the 2013 release preview you can use the Exchange 2010 SP2 Edge transport role in your environment.</p>
<h2>Where are Public Folders in OWA?</h2>
<p>Unfortunately the implementation for Public Folder Mailboxes for OWA was not complete at the time of the RP release &ndash; they are likely to be added within the first Service Pack for Exchange 2013.</p>
<h2>What&rsquo;s in the Tool Box?</h2>
<p>You might also notice that on your Exchange Server, within the Start Menu under Microsoft Exchange 2013 there is an &ldquo;<strong><em>Exchange Toolbox</em></strong>&rdquo; entry:</p>
<p><img alt="05-08-2012_10-41-02SM" height="464" src="http://www.telnetport25.com/wp-content/uploads/2012/08/05-08-2012_10-41-02SM1.png" style="display: inline;" title="05-08-2012_10-41-02SM" width="405" /></p>
<p>At the moment this is where a number of very familiar tools live (<em>Details Template Editor, Remove Connectivity Analyser, Queue Viewer and Tracking Log Explorer</em>) &ndash; see below</p>
<p><img alt="05-08-201216-58-07EXTB" height="333" src="http://www.telnetport25.com/wp-content/uploads/2012/08/05-08-201216-58-07EXTB.png" style="display: inline;" title="05-08-201216-58-07EXTB" width="600" /></p>
<h2>Has Powershell changed?</h2>
<p>Changed would perhaps be the wrong word, visually it is still the same &ndash; from from a backend point of it has been given a major overhaul as part of the Windows Management Framework v3. From a Exchange Management Shell cmdlet perspective &ndash; Exchange 2013 introduces a shed load of new commands (about 200 from what I can see) to manage your environment with.</p>
<h2>Wrap up</h2>
<p>I hope that you have liked this overview &ndash; and if you are hungry for more Exchange 2013 related goodness &ndash; have a look at the following sites who have been churning out some really brilliant stuff:</p>
<ul>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL21pY2hhZWx2aC53b3JkcHJlc3MuY29tL2NhdGVnb3J5L2V4Y2hhbmdlLTIwMTMv" title=\"http://michaelvh.wordpress.com/category/exchange-2013/\">http://michaelvh.wordpress.com/category/exchange-2013/</a></li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2V4Y2hhbmdlc2VydmVycHJvLmNvbS9leGNoYW5nZS1zZXJ2ZXItMjAxMw==" title=\"http://exchangeserverpro.com/exchange-server-2013\">http://exchangeserverpro.com/exchange-server-2013</a></li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2NsaW50Ym9lc3Nlbi5ibG9nc3BvdC5jby51ay8=" title=\"http://clintboessen.blogspot.co.uk/\">http://clintboessen.blogspot.co.uk/</a></li>
</ul>
<div class="shr-publisher-1487"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDgvaW5zdGFsbGluZy1leGNoYW5nZS0yMDEzLXJlbGVhc2UtcHJldmlldy1vbi13aW5kb3dzLXNlcnZlci0yMDA4LXIyLXBhcnQyLw==" data-shr_title='Installing+Exchange+2013-Release+Preview+on+Windows+Server+2008+R2+%26ndash%3B+Part+2%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1487" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/08/installing-exchange-2013-release-preview-on-windows-server-2008-r2-part2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Exchange 2013&#8211;Release Preview on Windows Server 2008 R2 &#8211; Part 1&#8230;</title>
		<link>http://www.telnetport25.com/2012/08/installing-exchange-2013release-preview-on-windows-server-2008-r2-part-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-exchange-2013release-preview-on-windows-server-2008-r2-part-1</link>
		<comments>http://www.telnetport25.com/2012/08/installing-exchange-2013release-preview-on-windows-server-2008-r2-part-1/#comments</comments>
		<pubDate>Sat, 04 Aug 2012 16:51:15 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2013 Release Preview (Installation)]]></category>
		<category><![CDATA[Exchange 2013 Installation]]></category>
		<category><![CDATA[Exchange 2013 Preview]]></category>
		<category><![CDATA[Exchange 2013 Release Preview]]></category>
		<category><![CDATA[Windows 2008 R2]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1478</guid>
		<description><![CDATA[There are a few guides out and about on the web about how you can install the Release Preview of Exchange 2013 on either Windows 2008 R2 or Windows Server 2012 Release Candidate. I thought that I would provide another, but instead of going through all the steps in written form &#8211; I would do [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>There are a few guides out and about on the web about how you can install the <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9ldmFsY2VudGVyL2hoOTczMzk1LmFzcHg=" target=\"_blank\">Release Preview of Exchange 2013</a> on either Windows 2008 R2 or <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9ldmFsY2VudGVyL2hoNjcwNTM4LmFzcHg=" target=\"_blank\">Windows Server 2012 Release Candidate</a>. I thought that I would provide another, but instead of going through all the steps in written form &ndash; I would do a video guide and throw in a few scripts that can help speed up the process.</p>
<p><strong><em>First off</em></strong> &ndash; it is important to point out that (<em>as the name suggests</em>) <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9ldmFsY2VudGVyL2hoOTczMzk1LmFzcHg=" target=\"_blank\">Exchange 2013</a> is pre-release software &ndash; and therefore steps in this guide are subject to change. You must not install <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9ldmFsY2VudGVyL2hoOTczMzk1LmFzcHg=" target=\"_blank\">Exchange 2013</a> into your production environment.</p>
<h2>Prerequisites script</h2>
<p>Before you can install <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9ldmFsY2VudGVyL2hoOTczMzk1LmFzcHg=" target=\"_blank\">Exchange 2013 RP</a> on Windows 2008 R2, as with previous versions of Exchange you need to install a number of Operating System prerequisites.</p>
<p>These are detailed here <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2JiNjkxMzU0KHY9ZXhjaGcuMTUwKSNXUzIwMDhSMlNQMQ==" title=\"http://technet.microsoft.com/en-us/library/bb691354(v=exchg.150)#WS2008R2SP1\">http://technet.microsoft.com/en-us/library/bb691354(v=exchg.150)#WS2008R2SP1</a>. However for convenience I have created a script which you can download below that will install them for you based upon the roles that you would like on your target Exchange Server.</p>
<p>You should download the script to the server on which that you will be installing Exchange 2013 RP. Before you run the script &ndash; ensure that you have followed the steps in this <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDIvcXVpY2stdGlwLXJ1bm5pbmctZXhjaGFuZ2UtYmFzZWQtcG93ZXJzaGVsbC1zY3JpcHQtZmlsZXMtZnJvbS10aGUtY29tbWFuZC1saW5lLW9yLWEtYmF0Y2gtZmlsZS8=" target=\"_blank\">article</a> to allow for its execution.</p>
<p>To execute the script use the command line that is highlighted in <font color="#ff0000"><strong>RED</strong></font> below &ndash; you will then be prompted to make a choice between installing the Operating System prerequisites for Mailbox Server or the Mailbox Server and Client Access Server Roles &ndash; these options are highlighted in <strong><font color="#ffc000">YELLOW</font></strong> below:</p>
<p><img alt="04-08-2012_10-41-41PS" height="189" src="http://www.telnetport25.com/wp-content/uploads/2012/08/04-08-2012_10-41-41PS.png" style="display: inline;" title="04-08-2012_10-41-41PS" width="595" /></p>
<p>When you have made your choice the script will being the installation process &ndash; see below;</p>
<p><img alt="04-08-2012_10-45-15PS" height="186" src="http://www.telnetport25.com/wp-content/uploads/2012/08/04-08-2012_10-45-15PS.png" style="display: inline;" title="04-08-2012_10-45-15PS" width="620" /></p>
<p>The Powershell script above is available for download below:</p>
<p><img src="http://www.telnetport25.com/wp-content/uploads/image/pwrshell-icon.JPG" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9zY3JpcHRzL0V4Y2hhbmdlMjAxM1JQX09TUHJlUmVxLnBzMQ==" target=\"_blank\">Exchange2013RP_OSPreReq.ps1 &ndash; 1.6 KB</a> ]</p>
<p>After executing the script you server will reboot so ensure that you have closed down or saved anything important.</p>
<h2>Preparing the Server for Exchange 2013</h2>
<p>Before we can install <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9ldmFsY2VudGVyL2hoOTczMzk1LmFzcHg=" target=\"_blank\">Exchange 2013</a> there are a number of pre-requisite software binaries that you need to install. These are detailed below.</p>
<ol>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rL3AvP0xpbmtJZD0yNTc4Njg=">Microsoft .NET Framework 4.5 RC</a></li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rLz9MaW5rSWQ9MjUxOTk1">Windows Management Framework 3.0</a></li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rL3AvP2xpbmtJZD0yNTgyNjk=">Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit</a></li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rL3AvP2xpbmtJRD0xOTE1NDg=">Microsoft Office 2010 Filter Pack 64 bit</a></li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rL3AvP0xpbmtJZD0yNTQwNDM=">Microsoft Office 2010 Filter Pack SP1 64 bit</a></li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rLz9saW5raWQ9MzA1MiZhbXA7a2JpZD05NzQ0MDU=">Microsoft Knowledge Base article KB974405 (Windows Identity Foundation)</a></li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rLz9saW5raWQ9MzA1MiZhbXA7a2JpZD0yNjE5MjM0">Knowledge Base article KB2619234 (Enable the Association Cookie/GUID that is used by RPC over HTTP to also be used at the RPC layer in Windows 7 and in Windows Server 2008 R2)</a></li>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rLz9saW5raWQ9MzA1MiZhbXA7a2JpZD0yNTMzNjIz">Knowledge Base article KB2533623 (Insecure library loading could allow remote code execution)</a></li>
</ol>
<p>You will need to download them to a location on your intended Exchange Server.</p>
<h2>Video Overview &#8211; Installation Process</h2>
<p>Please click on the following video to watch the installation process of the prerequisites.</p>
<div class="wlWriterEditableSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:7dec3f94-6dfa-424b-b83c-d7129bf0a20e" style="margin: 0px; padding: 0px; float: none; display: inline;">
<div><object height="252" width="448"><param name="movie" value="http://www.youtube.com/v/YXoDfv5Fvw4?hl=en&amp;hd=1" /><embed height="252" src="http://www.youtube.com/v/YXoDfv5Fvw4?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448"></embed></object></div>
<div style="width: 448px; clear: both; font-size: 0.8em;">Exchange 2013 &#8211; Installation on Windows Server 2008 R2 &#8211; Part 1</div>
</div>
<p>&nbsp;</p>
<p>In the next part of this series, I will go through the process of installing <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9ldmFsY2VudGVyL2hoOTczMzk1LmFzcHg=" target=\"_blank\">Exchange 2013</a>.</p>
<p><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDgvaW5zdGFsbGluZy1leGNoYW5nZS0yMDEzLXJlbGVhc2UtcHJldmlldy1vbi13aW5kb3dzLXNlcnZlci0yMDA4LXIyLXBhcnQyLw==" target=\"_blank\">Click here for Part 2</a></p>
<div class="shr-publisher-1478"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDgvaW5zdGFsbGluZy1leGNoYW5nZS0yMDEzcmVsZWFzZS1wcmV2aWV3LW9uLXdpbmRvd3Mtc2VydmVyLTIwMDgtcjItcGFydC0xLw==" data-shr_title='Installing+Exchange+2013%26ndash%3BRelease+Preview+on+Windows+Server+2008+R2+%26ndash%3B+Part+1%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1478" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/08/installing-exchange-2013release-preview-on-windows-server-2008-r2-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>File Ping &#8211; Version 1.0</title>
		<link>http://www.telnetport25.com/2012/07/file-ping-version-1-0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=file-ping-version-1-0</link>
		<comments>http://www.telnetport25.com/2012/07/file-ping-version-1-0/#comments</comments>
		<pubDate>Sat, 21 Jul 2012 16:43:07 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[File Ping]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Monitoring Network Shares]]></category>
		<category><![CDATA[Network Shares freezing]]></category>
		<category><![CDATA[Windows 2003 File Servers]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1471</guid>
		<description><![CDATA[Information File Ping allows for Network Administrators to monitor the availability of network shares on a target file server &#8211; and will notify them if they go offline. This can be useful when troubleshooting Server (SVR) Service resource issues in heavily loaded environments. For more information please see the following article: http://www.telnetport25.com/2012/07/file-ping-for-windows-servers/ Download [ FilePing [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><h2>Information</h2>
<p>File Ping allows for Network Administrators to monitor the availability of network shares on a target file server &ndash; and will notify them if they go offline. This can be useful when troubleshooting Server (SVR) Service resource issues in heavily loaded environments. For more information please see the following article:</p>
<ul>
<li><a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDcvZmlsZS1waW5nLWZvci13aW5kb3dzLXNlcnZlcnMv" title=\"http://www.telnetport25.com/2012/07/file-ping-for-windows-servers/\">http://www.telnetport25.com/2012/07/file-ping-for-windows-servers/</a></li>
</ul>
<h2>Download</h2>
<p><img alt="cntMstr006" border="0" height="53" src="http://www.telnetport25.com/wp-content/uploads/2011/09/cntMstr006.jpg" title="cntMstr006" width="53" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvRmlsZVBpbmcvRmlsZVBpbmdTZXR1cC5tc2k=">FilePing &ndash; Version 1.0 &ndash; 676KB</a> ]</p>
<div class="shr-publisher-1471"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDcvZmlsZS1waW5nLXZlcnNpb24tMS0wLw==" data-shr_title='File+Ping+%26ndash%3B+Version+1.0'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1471" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/07/file-ping-version-1-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>File Ping for Windows Servers&#8230;</title>
		<link>http://www.telnetport25.com/2012/07/file-ping-for-windows-servers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=file-ping-for-windows-servers</link>
		<comments>http://www.telnetport25.com/2012/07/file-ping-for-windows-servers/#comments</comments>
		<pubDate>Sat, 21 Jul 2012 16:38:09 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Microsoft Visual Studio]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Windows 2008]]></category>
		<category><![CDATA[Windows Networking]]></category>
		<category><![CDATA[Windows Server 2003 (General)]]></category>
		<category><![CDATA[File Ping]]></category>
		<category><![CDATA[Monitoring Network Shares]]></category>
		<category><![CDATA[Network Shares freezing]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows 2003 File Servers]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1469</guid>
		<description><![CDATA[Edit: Since I published this yesterday, I have added in a couple of new features, and integrated a full HTML Help file for the application (which can be access via the “Help” menu). New features are: Option to continue trying to write the Ping File if there has been an error Respond to errors that [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><blockquote><p><strong><u>Edit:</u></strong> Since I published this yesterday, I have added in a couple of new features, and integrated a full HTML Help file for the application (which can be access via the “<strong><em>Help</em></strong>” menu).</p>
<p>New features are:</p>
<ul>
<li>Option to continue trying to write the Ping File if there has been an error</li>
<li>Respond to errors that have been generated in the Session Log File</li>
<li>Change the colour of the Session Log file to red if there has been an error</li>
</ul>
</blockquote>
<p>Over the last few days I have been working on a particularly nasty issue on one of the file servers in work. The server in question is a Windows 2003 x32 Standard Edition Server box, with 2GB of RAM and practically oodles of shares which are used by both the Development and Corporate community within the organisation.</p>
<p>What started to happen around the middle of this week was access to mapped drives (<strong><em>e.g. connected to shares on the File Server</em></strong>) would freeze periodically. Network connectivity to the server was still available (<strong><em>I could both ping and RDP to the box</em></strong>) – but all network shares would become unavailable for anything between five to ten minutes at a time. </p>
<p>As time progressed throughout the day – the downtime on the shares became more and more frequent and lasting longer and longer.</p>
<p>Whilst this particular article is not about how I solved the issue (<em>this may come later when I am convinced that the issues have indeed been fixed</em>) – I found that as the nature of this problem was completely random it was tremendously difficult to know when an instance of downtime had occurred and I was completely reliant on the user community to tell me when they had “lost access”, or I would have to spend precious time clicking in and out of mapped drives on the server to see if they were still responding.</p>
<p>This of course, and understandably led to a lot of “<strong><em>teeth gnashing</em></strong>” and frustration for both my customers and I, as well as making it very hard to tell if any of the remediation efforts that I was making were actually improving the situation.</p>
<p>So, this weekend I decided that I was going to sit down and write a little tool that can be pointed at a share on a file server that will write a compact text file at a specified interval to that location and provide me with feedback on the result of the write operation. </p>
<p>Whilst writing the tool – it further occurred to me that others might benefit from such a program so I have decided to publish it here on <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLw==" target=\"_blank\">telnetport25.com</a>.</p>
<p>I will point out at this stage that the name “<strong><em>File Ping</em></strong>” is perhaps somewhat misleading as in the conventional sense it does not literally “<strong><em>Ping</em></strong>” anything. The context of “<strong><em>Ping</em></strong>” in the title of the application is the value of the <em>result </em>of the write operation performed on the target fileserver share.</p>
<h2>Download</h2>
<p><img title="cntMstr006" border="0" alt="cntMstr006" src="http://www.telnetport25.com/wp-content/uploads/2011/09/cntMstr006.jpg" width="53" height="53" /> [ <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tL2Rvd25sb2Fkcy9hcHBsaWNhdGlvbnMvRmlsZVBpbmcvRmlsZVBpbmdTZXR1cC5tc2k=" target=\"_blank\">FilePing – Version 1.0.1 – 676KB</a> ]</p>
<h2>Installation</h2>
<p>It is recommended that File Ping is installed on a local workstation which has the drives mapped from the remote File Server that you wish to monitor. Before you install the tool you will need to ensure that you have the Microsoft .NET Framework 3.5 present on your machine.</p>
<p>The tool is compatible with both x32 and x64 versions of Windows.</p>
<p>When you have downloaded the tool – double click on the “<strong><em>FilePingSetup.msi</em></strong>” file and then follow the on-screen prompts. At the end of the installation File Ping will be launched automatically. After install you can access the tool from your Desktop and Start Menu.</p>
<h2>Tool Usage</h2>
<p>The following video gives you a very quick overview of how you can use the FilePing Tool.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:103618a4-114e-4fe0-a85e-82496be024a3" class="wlWriterEditableSmartContent">
<div><object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/gBpBrBodznI?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/gBpBrBodznI?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></embed></object></div>
<div style="width:448px;clear:both;font-size:.8em">File Ping video overview</div>
</div>
<h2>Recommendations</h2>
<p>When using the tool I recommend that you setup a dedicated folder share on the target file server that will hold all of the “<strong><em>ping</em></strong>” files – this makes it easier to delete the output of the tool when you are finished monitoring.</p>
<div class="shr-publisher-1469"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDcvZmlsZS1waW5nLWZvci13aW5kb3dzLXNlcnZlcnMv" data-shr_title='File+Ping+for+Windows+Servers%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1469" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/07/file-ping-for-windows-servers/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Exchange 2010 &#8211; Moving the Database Path on DAG Servers&#8230;</title>
		<link>http://www.telnetport25.com/2012/07/exchange-2010-moving-the-database-path-on-dag-servers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exchange-2010-moving-the-database-path-on-dag-servers</link>
		<comments>http://www.telnetport25.com/2012/07/exchange-2010-moving-the-database-path-on-dag-servers/#comments</comments>
		<pubDate>Sun, 15 Jul 2012 18:19:42 +0000</pubDate>
		<dc:creator>Andy Grogan</dc:creator>
				<category><![CDATA[Exchange 2010 (Admin)]]></category>
		<category><![CDATA[Exchange 2010 (DAG)]]></category>
		<category><![CDATA[Exchange 2010 (Mailbox)]]></category>
		<category><![CDATA[Mailbox Databases]]></category>
		<category><![CDATA[Content Indexing]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Move Database pitfalls]]></category>
		<category><![CDATA[Move Mailbox Databases]]></category>
		<category><![CDATA[Move Mailbox Path in a DAG]]></category>
		<category><![CDATA[Powershell]]></category>

		<guid isPermaLink="false">http://www.telnetport25.com/?p=1459</guid>
		<description><![CDATA[This is a pretty well documented process on the web and indeed on TechNet, but recently I have had to change the database path within my production DAG environment, so I thought that I would share with you some of “frustrations” that I had which will give you the chance to “plan ahead” should you [...]]]></description>
				<content:encoded><![CDATA[<p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>This is a pretty well documented process on the web and indeed on <a href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2RkOTc5NzgyLmFzcHg=" target=\"_blank\">TechNet</a>, but recently I have had to change the database path within my production DAG environment, so I thought that I would share with you some of “<strong><em>frustrations</em></strong>” that I had which will give you the chance to “<strong><em>plan ahead</em></strong>” should you need to do the same.</p>
<p>It is important to note that nothing in this article pertains any major issues within Exchange Server 2010 – the focus is more on how prevailing conditions within your own environment (<em>or indeed in the case of this post – conditions in mine</em>) can affect the process of changing a DAG database path.</p>
<h2>The process</h2>
<p>Firstly it probably makes sense to give a high level overview of the whole process of changing the paths of DAG enabled databases – this is provided at a very high level below:</p>
<ol>
<li>Backup your databases! – This might seem obvious, but it is important to ensure that you have a working backup of any database that you intend to modify. </li>
<li>Dismount the active copy of the mailbox database. </li>
<li>Remove all DAG copies of the target database. </li>
<li>Make sure that you keep the physical files (<em>both Transaction Logs and Databases</em>) of the database copies that you have removed. </li>
<li>Allow for &#8211; or force a Domain Replication and then refresh both the database list and copies within the Exchange Management Console. </li>
<li>From within the Exchange Management Console right click on the dismounted copy of the database and from the context menu select the “<strong><em>Move Database Path</em></strong>” option. </li>
<li>Choose a new location on your Server for the Exchange EDB path (<em>you can also select a new location for the transaction logs if you wish to</em>). </li>
<li>On each DAG node that will house copies of the databases move the physical files that you kept in <strong>step 4</strong> to the relevant locations. </li>
<li>Once the database has been moved – allow for domain replication to take place (<em>or force it if you cannot wait</em>). </li>
<li>Mount the database. </li>
<li>Re-add your Mailbox Database copies. </li>
</ol>
<p>For steps 2,3,6,7,10,and 11 (<em>above</em>) you can also use the following Exchange Management Shell commands:</p>
<pre>Dismount-Database –id &lt;DB ID&gt; –Confirm:$False

Remove-MailboxDatabaseCopy –Identity &lt;Server&gt;\&lt;DB&gt; -Confirm:$False

Move-DatabasePath –Identity &lt;DB ID&gt; –EdbFilePath &lt;C:\NewFolder\MyDatabase.edb&gt;

Mount-Database –id &lt;DB ID&gt;

Add-MailboxDatabaseCopy –id &lt;DB ID&gt; –MailboxServer &lt;Target MBX&gt; –ActivationPreference &lt;Act Pref&gt;</pre>
<h2>Seems simple enough, so what can go wrong?</h2>
<p>Well &#8211; it’s not so much what can go wrong – but what might not work as you might expect depending on how your environment is setup. The following are some considerations that I found during the migration of about 1TB’s worth of Exchange Databases to new LUNS.</p>
<h3>Allow for domain controller replication!</h3>
<p>When you remove the database copies or change the database path – please ensure that you have allowed for domain controller replication to have taken place. If you don’t &#8211; issues can occur during the mount process on the new path.</p>
<p>Furthermore &#8211; be mindful of the replication schedule – especially if your Exchange DAG nodes are in different Active Directory sites. If you are in a hurry and force a domain replication you should wait wait for it to complete. A replication should happen (<em>from my experience</em>) when each of the following steps have been performed:</p>
<ol>
<li>Removing the database copy </li>
<li>Moving the Database path </li>
<li>Adding the mailbox copy </li>
</ol>
<p>Also if you have a single network to a remote site that is facilitating domain controller replication, normal network traffic and DAG replication – be mindful of what time of day you are forcing increased bandwidth as you could bring communications to a grinding halt.</p>
<h3>Log replay after the DAG copy has been re-added</h3>
<p>Depending on how long your databases are dismounted and how busy your environment is, replaying logs can take quite a while to complete. This will also be dependant on the speed of the network connection which your replication network has access to between DAG nodes. If you have a configuration which is similar to that of my company &#8211; where the replication network is in essence a remote link to another data centre that carries other traffic then you need to factor this into you time calculations.</p>
<h3>Perform the changes outside hours</h3>
<p>This is perhaps one of the more obvious recommendations – but honestly please stick to it!. Unless you have configured dedicated NIC for replication, on a dedicated VLAN, on a dedicated network pipe to a remote datacentre which has your remote Exchange Servers – attempting to compete for bandwidth on the link with day-to-day traffic is a “<strong><em>no no</em></strong>” and will prolong the process.</p>
<h3>Restart the MSExchangeSearch Service when the move has completed</h3>
<p>Whereas not always necessary, I have seen a few instances where the Content Index Catalogue from the previous database maintains a lock with the MSExchangeSearch service. Restarting the Service will release the lock and allow for the files to be deleted.</p>
<h3>Activating Copies after the process</h3>
<p>When the database path has been moved – the MSExchangeSearch will resume crawling the database. During this process – there is a chance that the copy will not activate until the crawl has completed on the relevant Exchange Server. I recommend that you keep an eye on the indexing status to ensure that it reads as “<strong><em>Healthy</em></strong>”. You can do this using the following command on the <em>server(s)</em> which have a database copy:</p>
<pre>Get-MailboxDatabaseCopyStatus | select Name,*ContentindexS* | ft –AutoSize</pre>
<p>When everything is ok, you should receive output similar to that below:</p>
<p><img style="display: inline" title="15-07-201217-39-05" alt="15-07-201217-39-05" src="http://www.telnetport25.com/wp-content/uploads/2012/07/15-07-201217-39-05.png" width="688" height="193" /></p>
<h3>Do not work on two or more databases at the same time!</h3>
<p>This might sound a little mad, but I would recommend that you only work on one database at a time if you are moving multiple databases to a new path. The various Services in Exchange will be doing lots of different things – therefore do not overload them.</p>
<p>In fact there are some operations that cannot happen on multiple databases at the same time.</p>
<h3>Other Options</h3>
<p>You you could opt to not move the physical database path, and choose to create a new database, establish a copy and then move all the mailboxes, however – whilst this does get around replay and indexing issues – it does not necessarily protect you from excessive transaction log generation, which could create more problems that it solves – unless you are prepared to place the databases in Circular Logging mode, or are not worried about the amount of logs which might be generated.</p>
<p>However if you are looking at a DB with a small amount of Mailboxes – this may be a good choice.</p>
<div class="shr-publisher-1459"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href="http://www.telnetport25.com/?feed-stats-url=aHR0cDovL3d3dy50ZWxuZXRwb3J0MjUuY29tLzIwMTIvMDcvZXhjaGFuZ2UtMjAxMC1tb3ZpbmctdGhlLWRhdGFiYXNlLXBhdGgtb24tZGFnLXNlcnZlcnMv" data-shr_title='Exchange+2010+%26ndash%3B+Moving+the+Database+Path+on+DAG+Servers%26hellip%3B'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://www.telnetport25.com/?feed-stats-post-id=1459" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.telnetport25.com/2012/07/exchange-2010-moving-the-database-path-on-dag-servers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
