<?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>SysAdmin Talk &#187; Exchange software testing</title>
	<atom:link href="http://sysadmin-talk.org/tag/exchange-software-testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://sysadmin-talk.org</link>
	<description>Practical advice from front-line SysAdmins</description>
	<lastBuildDate>Fri, 05 Aug 2011 16:59:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Testing with Exchange Server – Tips and Tricks – Part 2 – Creating Mailboxes</title>
		<link>http://sysadmin-talk.org/2010/06/testing-with-exchange-server-%e2%80%93-tips-and-tricks-%e2%80%93-part-2-%e2%80%93-creating-mailboxes/</link>
		<comments>http://sysadmin-talk.org/2010/06/testing-with-exchange-server-%e2%80%93-tips-and-tricks-%e2%80%93-part-2-%e2%80%93-creating-mailboxes/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 10:24:28 +0000</pubDate>
		<dc:creator>Reka Burmeister</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Exchange Testing]]></category>
		<category><![CDATA[IT Professional]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[PST Importer]]></category>
		<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Exchange software testing]]></category>
		<category><![CDATA[PST]]></category>
		<category><![CDATA[PST Files]]></category>

		<guid isPermaLink="false">http://sysadmin-talk.org/?p=463</guid>
		<description><![CDATA[In a previous article I mentioned how to create users and computers in active directory, the first stage of testing the PST Importer (and ESA). The next step is to go to Exchange and create mailboxes to the users that we just created and for further comfortable management, add access permissions to them where needed. [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://sysadmin-talk.org/2010/02/testing-with-exchange-server-tips-and-tricks-part-1-setting-up-active-directory/" target="_blank">previous article</a> I mentioned how to create users and computers in active directory, the first stage of testing the PST Importer (and ESA). The next step is to go to Exchange and create mailboxes to the users that we just created and for further comfortable management, add access permissions to them where needed.<span id="more-463"></span></p>
<p>This is much easier in Exchange 2007 than it was in Exchange 2003 as here we can use PowerShell. I would like to mention that in case of using Ex 2007, we don’t even have to create the users in advance, the server will take care of that for you. For the full 2007 PowerShell reference guide please see this page <a href="http://technet.microsoft.com/en-us/library/bb123703%28EXCHG.80%29.aspx#NthruR">http://technet.microsoft.com/en-us/library/bb123703%28EXCHG.80%29.aspx#NthruR</a></p>
<p>In short, in order to create a new user type in:</p>
<p><code>New-Mailbox -Name &lt;String&gt; -Database &lt;DatabaseIdParameter&gt; -Password &lt;SecureString&gt; -UserPrincipalName &lt;String&gt; [-DisplayName &lt;String&gt;] [-FirstName &lt;String&gt;] [-Initials &lt;String&gt;] [-LastName &lt;String&gt;]</code></p>
<p>You might notice that if you simply type a string in for the password you’ll get an error:</p>
<p><code>New-Mailbox : Cannot bind parameter 'Password'. Cannot convert value "[given_password]" to type "System.Security.SecureString". Error: "Invalid cast from 'System.String' to ‘System.Security.SecureString'."</code></p>
<p>The reason for this is that the given password has to be a secure string type. In order to create it, type in the following (has to be separate from the previous command):</p>
<p><code><br />
$Password = ConvertTo-SecureString '&lt;string&gt;' -AsPlainText –Force</code></p>
<p>After this you could refer to the given password as $Password.</p>
<p>We usually use this command in two different ways. The first one is to use a scripting language (my preference is Python) to generate the commands with different names. I have a list with the thousand most popular first names and the thousand most popular surnames. My script simply combines the two, giving me quite a lot of options. The second method is to name the users using a counter such as User 1; User 2;&#8230; User n and use a cycle in PowerShell to generate all required user names, such as:</p>
<p><code>$Password = ConvertTo-SecureString '&lt;password&gt;' -AsPlainText –Force</code></p>
<p><code>for ($i=0; $i -le 10; $i++)</p>
<p>{</code></p>
<p><code>New-Mailbox –Name &lt;name&gt;$i -Database &lt;dbname&gt; -Password $Password -UserPrincipalName &lt;UPname&gt; -DisplayName "&lt;name&gt; $i" -FirstName &lt;firstname&gt; -LastName $i</p>
<p>}</code></p>
<p>If someone doesn’t like PowerShell or doesn’t have it (e.g. Exchange 2003), the batch files I mentioned earlier used in active directory work just fine. After creating the users using those the mailboxes can be assigned to them fairly easily. In Exchange 2007, we have to start the “create new mailbox” process and select “existing users” in the first window. </p>
<p>This will show all users in AD that don’t have mailboxes. Fortunately multiselection is allowed so we don’t have to handle them one by one. Exchange 2003 doesn’t have this feature but there’s an easy workaround. Do a search using Exchange 2003’s Active Directory Users and Computers application for all users and multiselect them. Right clicking once will open the context menu where we can select “Exchange tasks” and “Create exchange mailbox” from there.</p>
<p>Finally, the command to add full access rights to a specific user so all mailboxes could be opened (and managed) from one outlook:</p>
<p><code>foreach ($sg in Get-StorageGroup) { if ((Get-ExchangeServer<br />
$sg.Server).Domain.Equals("<em>DomainName.com</em>")) { get-mailboxdatabase<br />
-storagegroup $sg.Identity | add-adpermission -user <em>UserName</em><br />
<em> </em>-accessrights GenericAll; } }</code></p>
]]></content:encoded>
			<wfw:commentRss>http://sysadmin-talk.org/2010/06/testing-with-exchange-server-%e2%80%93-tips-and-tricks-%e2%80%93-part-2-%e2%80%93-creating-mailboxes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Manage Exchange Retention Policies Before they Manage You</title>
		<link>http://sysadmin-talk.org/2010/04/manage-exchange-retention-policies-before-they-manage-you/</link>
		<comments>http://sysadmin-talk.org/2010/04/manage-exchange-retention-policies-before-they-manage-you/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 10:35:38 +0000</pubDate>
		<dc:creator>Mike Pfeiffer</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Exchange Testing]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Exchange retention policies]]></category>
		<category><![CDATA[Exchange software testing]]></category>
		<category><![CDATA[Outlook]]></category>

		<guid isPermaLink="false">http://sysadmin-talk.org/?p=275</guid>
		<description><![CDATA[Know all you need to know about managing Exchange retention policies? If not, they could well start managing you. Here I cover all the concepts and information that you will need. Retention policies are the recommended method for implementing messaging records management in Exchange 2010. Retention policies use retention tags to apply settings to mailbox [...]]]></description>
			<content:encoded><![CDATA[<p>Know all you need to know about managing Exchange retention policies? If not, they could well start managing you. Here I cover all the concepts and information that you will need. <span id="more-275"></span></p>
<p>Retention policies are the recommended method for implementing messaging records management in Exchange 2010. Retention policies use retention tags to apply settings to mailbox folders and individual items. Retention tags are configured with a retention action that can be taken when an item reaches its retention age limit.</p>
<h3>Retention Cmdlets</h3>
<p>There is currently no way to manage retention tags or policies through the Exchange Management Console (EMC). Retention tags and policies must be managed using the Exchange Management Shell (EMS).</p>
<p>When managing retention settings in EMS, you’ll use the following cmdlets:</p>
<ul>
<li>Retention Policy Cmdlets – Get-RetentionPolicy, Set-RetentionPolicy, New-RetentionPolicy and Remove-RetentionPolicy</li>
<li>Retention Policy Tag Cmdlets – Get-RetentionPolicyTag, Set-RetentionPolicyTag, New-RetentionPolicyTag, and Remove-RetentionPolicyTag</li>
</ul>
<h3>Retention Tag Types</h3>
<p>There are three types of retention tags that can be used to apply retention settings to mailbox folders and messages:</p>
<ul>
<li>Retention Policy Tags – these tags are used to apply settings to default folders such as Inbox and Sent Items.</li>
<li>Default Policy Tags – these tags apply to any item that does not have a retention tag set. A retention policy can contain only one default policy tag.</li>
<li>Personal Tags – these tags can be applied by users who access their mailboxes from Outlook 2010 or Outlook Web App. Personal tags can be applied to custom folders and individual items.</li>
</ul>
<h3>Retention Actions</h3>
<p>When you create a retention tag, you can select a retention action that will be used when the age limit for retention is met. The following table lists the available retention actions:</p>
<ul>
<li>DeleteAndAllowRecovery – This action will perform a hard delete, sending the message to the dumpster. The user will be able to recover the item using the Recover Deleted Items dialog box in Outlook 2010 or Outlook Web App.</li>
<li>MarkAsPastRetentionLimit – This action will mark an item as past the retention limit, displaying the message using strikethrough text in Outlook 2007, 2010 or Outlook Web App.</li>
<li>MoveToArchive – This action moves the message to the users archive mailbox.</li>
<li>MoveToDeletedItems – This action will move the message to the Deleted Items folder.</li>
<li>PermanentlyDelete – This action will permanently delete the message and cannot be restored using the Recover Deleted Items dialog box.</li>
</ul>
<h3>Creating Retention Tags</h3>
<p>When you create a retention policy tag using the New-RetentionPolicyTag cmdlet, you can specify the default folder type using the Type parameter.</p>
<p>The following default folders can be used when creating retention policy tags:</p>
<ul>
<li>Deleted Items</li>
<li>Drafts</li>
<li>Inbox</li>
<li>Junk E-mail</li>
<li>Outbox</li>
<li>Sent Items</li>
<li>RSS Feeds</li>
<li>Sync Issues</li>
<li>Conversation History</li>
</ul>
<p>Using the information we’ve learned so far, let’s take a look at a few sample commands. The following command will create a retention policy tag for the default Inbox folder, specifying that items older than 90 days will be deleted permanently:</p>
<p><code>New-RetentionPolicyTag AllUsers-Inbox -Type Inbox -Comment `<br />
"Items older than 90 days are deleted" -RetentionEnabled $true `<br />
-AgeLimitForRetention 90 -RetentionAction PermanentlyDelete</code></p>
<p>To create a default policy tag for the entire mailbox, set the type to All. In this example, a default retention policy tag is created that will permanently delete items after 120 days. A default retention policy tag of type All will apply to any item that does not have a retention tag applied:</p>
<p><code>New-RetentionPolicyTag AllUsers-Default -Type All -Comment `<br />
"Items older than 120 days are permanently deleted" -RetentionEnabled $true `<br />
-AgeLimitForRetention 120 -RetentionAction PermanentlyDelete -IsPrimary $true</code></p>
<p>When creating a personal retention tag, use Personal for the Type parameter value. The following command will create a tag that can be used for critical personal items, retaining items for two years before being deleted:</p>
<p><code>New-RetentionPolicyTag Critical -Type Personal -Comment `<br />
"Use this tag for all critical items" -RetentionEnabled $true `<br />
-AgeLimitForRetention 730 -RetentionAction DeleteAndAllowRecovery</code></p>
<h3>Creating Retention Policies</h3>
<p>You use retention polices to apply retention tags to mailboxes. When creating retention polices, keep the following in mind:</p>
<ul>
<li>Mailboxes can only be assigned one retention policy at a time.</li>
<li>You cannot have multiple retention policy tags for a single default folder in the same retention policy. For example, you can’t have two retention policy tags for the Inbox default folder in the same retention policy.</li>
<li>Policies can contain one default policy tag of type All.</li>
<li>You can assign multiple personal tags to a policy, but be careful not to go overboard as this could be confusing for users.</li>
<li>Retention tags are not applied to mailboxes until they have been linked to an enabled retention policy and the managed folder assistant has run.</li>
</ul>
<p>To create a retention policy, use the New-RetentionPolicy cmdlet. The following example creates a retention policy named All-Users that links the AllUsers-Inbox tag to the policy:</p>
<p><code>New-RetentionPolicy AllUsers -RetentionPolicyTagLinks AllUsers-Inbox</code></p>
<p>You can create a retention policy without initially linking any retention tags to it. You can always go back and add retention tags to a policy later. If you need to add tags to an existing policy, you can use the Set-RetentionPolicy cmdlet. For example, to add the Sales-Inbox and Sales-DeletedItems retention policy tag to the Sales-Users retention policy, your command would look like this:</p>
<p><code>Set-RetentionPolicy -Identity Sales-Users -RetentionPolicyTagLinks Sales-Inbox</code></p>
<p>When updating a retention policy that already has tags linked, you need to re-apply those tags and append any new tags you will be linking. In this case, you could use the following syntax to update the Sales-Users retention policy:</p>
<p><code>#store the current tag list<br />
$Tags = (Get-RetentionPolicy Sales-Users).RetentionPolicyTagLinks<br />
#create a list of new tags<br />
$NewTags = Get-RetentionPolicyTag Sales-Critical<br />
#store all tags in a new varable<br />
$Tags += $NewTags<br />
#add all tags to the retention policy<br />
Set-RetentionPolicy Sales-Users -RetentionPolicyTagLinks $Tags</code></p>
<h3>Applying Retention Policies to Mailboxes</h3>
<p>To apply a retention policy to a mailbox, you use the Set-Mailbox cmdlet, specifying the retention policy name using the RetentionPolicy parameter. Below are a few examples.</p>
<p>Setting the RP-IT retention policy for a single user:</p>
<p><code>Set-Mailbox dsmith -RetentionPolicy RP-IT</code></p>
<p>Setting the RP-Sales retention policy to all mailboxes in the sales distribution group:</p>
<p><code>Get-DistributionGroupMember DG-Sales | Set-Mailbox -RetentionPolicy RP-Sales</code></p>
<p>Setting the RP-AllUsers retention policy to all mailboxes in the DAGDB1 database:</p>
<p><code>Get-Mailbox -Database DAGDB1 | Set-Mailbox -RetentionPolicy RP-AllUsers</code></p>
<p>These commands will only apply to the mailboxes currently in the distribution group or mailbox database. You’ll need to schedule these commands to run on a regular basis if you are making changes to the group or database frequently.</p>
<h3>Auto Tagging</h3>
<p>You can enable auto tagging to automatically tag items in a user’s mailbox based on their past tagging activities. To enable auto tagging for a mailbox, use the Set-MailboxComplianceConfiguration cmdlet and set the RetentionAutoTaggingEnabled parameter to $true as shown below:</p>
<p><code>Set-MailboxComplianceConfiguration dsmith -RetentionAutoTaggingEnabled $true</code></p>
<p>Keep in mind that the user needs to first tag a minimum of 500 items so that Exchange can learn the tagging habits of that user.</p>
<p>You can see how many messages a user has tagged by running the Get-MailboxComplianceConfiguration cmdlet:</p>
<p><code>Get-MailboxComplianceConfiguration dsmith</code></p>
<p>To clear auto tags from a mailbox use the same cmdlet using the Clear switch parameter:</p>
<p><code>Start-RetentionAutoTagLearning –Identity djones -Clear</code></p>
<p>You can start the training algorithm for auto tagging using the Start-RetentionAutoTagLearning cmdlet:</p>
<p><code>Start-RetentionAutoTagLearning –Identity djones -Train</code></p>
<h3>Default Retention Policies</h3>
<p>Exchange automatically creates retention policies for use with personal archives and arbitration mailboxes. There are two retention policies created automatically by default:</p>
<ul>
<li>Default Archive Policy – this policy can be applied to mailboxes that contain a personal archive and provides a built in set of retention tags.</li>
<li>ArbitrationMailbox – this policy is applied by default to the system mailbox. The policy contains two system tags by default.</li>
</ul>
<p>The retention tags used within these policies are considered system tags, and by default are not visible when running the Get-RetentionPolicyTag cmdlet. You can view the tags included with these policies by using the IncludeSystemTags parameter with the Get-RetentionPolicyTag cmdlet. For example, to view a list of retention policy tag names, including the system tag names, run the following command:</p>
<p><code>Get-RetentionPolicyTag –IncludeSystemTags | select name</code></p>
<h3>Retention Hold</h3>
<p>You may need to disable the processing of a retention policy for a user that will be out on vacation or on a leave of absence. In this instance, you can use the RetentionHold parameter of the Set-Mailbox cmdlet to suspend the processing of a retention policy.</p>
<p><code>Set-Mailbox dsmith -RetentionHoldEnabled $true</code></p>
<h3>Managed Folder Assistant</h3>
<p>The Managed Folder Assistant runs on each mailbox server, applying message retention settings configured in retention polices or managed folders. By default, the Managed Folder Assistant is scheduled to run from 1am to 9am every day.</p>
<p>You might find that you need to run the Managed Folder Assistant manually in order to test the functionality of your tags and policies. In this case, you can use the Start-ManagedFolderAssistant cmdlet to force the Managed Folder Assistant to run immediately.</p>
<p>To start the Managed Folder Assistant for a particular mailbox:</p>
<p><code>Start-ManagedFolderAssistant –Mailbox dsmith</code></p>
<p>To start the Manged Folder Assistant on a particular server:</p>
<p><code>Start-ManagedFolderAssistant –Identity EXCHSRV01</code></p>
<p>This can be a resource intensive task when running against all of the mailboxes on a server. Make sure that your systems can handle the additional work, or do your testing after business hours.</p>
<p>That covers all of the concepts you need to know to manage retention policies. I know this may seem like a lot of information, but do some testing in a lab environment. Create some retention tags and policies and practice assigning them to users and I think you will see that they are actually pretty easy to work with.</p>
]]></content:encoded>
			<wfw:commentRss>http://sysadmin-talk.org/2010/04/manage-exchange-retention-policies-before-they-manage-you/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Yikes!!! Windows Server 2008 can’t boot, winload.exe can’t be located</title>
		<link>http://sysadmin-talk.org/2010/02/yikes-windows-server-2008-can%e2%80%99t-boot-winload-exe-can%e2%80%99t-be-located/</link>
		<comments>http://sysadmin-talk.org/2010/02/yikes-windows-server-2008-can%e2%80%99t-boot-winload-exe-can%e2%80%99t-be-located/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 14:29:32 +0000</pubDate>
		<dc:creator>Reka Burmeister</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Exchange Archiving]]></category>
		<category><![CDATA[Exchange Testing]]></category>
		<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[Exchange software testing]]></category>

		<guid isPermaLink="false">http://sysadmin-talk.org/?p=136</guid>
		<description><![CDATA[I just came across this problem (Windows Server 2008 can’t boot, winload.exe can’t be located) and as it took me about 3 (yes THREE!!) hours to fix I thought I&#8217;d share with you all to save you time. Working on Exchange email archiving software and PST Importing tools we have a test network with quite [...]]]></description>
			<content:encoded><![CDATA[<p>I just came across this problem (Windows Server 2008 can’t boot, winload.exe can’t be located) and as it took me about 3 (yes THREE!!) hours to fix I thought I&#8217;d share with you all to save you time.</p>
<p>Working on <a title="Exchange email archiving software" href="http://www.red-gate.com/products/Exchange/index.htm?subject=sysadmintalk">Exchange email archiving software</a> and PST Importing tools we have a test network with quite a few virtual machines, many with Windows Server 2008 installed.<span id="more-136"></span></p>
<p>The first lesson learnt was to never try to create a virtual (or real) Windows 2008 network with less than 50 GB of hard drive space. The Windows installation itself takes up about 10 GB, and then everyone’s favourite the winsxs folder will just grow and grow,  and in the end you run out of disk space although you have nothing else on your C drive but a basic server installation and Exchange (Exchange installation that is, all relevant data files and databases are on a different drive of course).</p>
<p>Anyhow, after a while we found ourselves in a situation where we have a nice pool of complex networks with virtual machines and half of them are complaining about low disk space. The solution is to extend the virtual disk, but it’s not as easy as one might think.</p>
<p>First, you have to shut your virtual machine down, open a command prompt on your host and navigate to your VMware server installation where you’ll have to use vmware-vdiskmanager.exe as such:</p>
<p><code>vmware-vdiskmanager.exe –x [Size][dimension] [path to virtual disk]</code></p>
<p><code>e.g.: vmware-vdiskmanager.exe –x 50Gb E:\virtual_machines\Medium\Exchange4\Exchange4.vmdk</code></p>
<p>Make sure that you specify the real virtual disk’s path and not the flat file or a partial slice (the tool’s error reporting is very poor on that regard). You also have to make sure that you have no snapshots for the computer in question otherwise the tool will refuse to work (with the proper error message this time at least).</p>
<p>If everything goes well, your virtual disk will be resized to the specified value after the process finished. The next step is to mount this drive into a different virtual machine, and edit its partitions using Disk Manager (built-in UI) or diskpart which is a built-in command line tool. If you choose the former, you’ll have to select the drive that you wish to make bigger, right click on it and select “extend”, while in diskpart type:</p>
<p><code>list volume<br />
select volume [n]<br />
extend</code></p>
<p>List volume lists all available volumes, with the select command you can select the one that is to be extended and type <code>extend</code> to carry out the action.</p>
<p>After all this, theoretically just unmount (remove) your disk from the second machine, start the first one up and it should all work fine.</p>
<p>It worked for Windows Vista, but my Windows 2008 failed to boot with the error:</p>
<p><code>Can’t find c:\Windows\System32\winload.exe the file is missing or corrupted</code></p>
<p>This seemed vaguely familiar, I thought it’s just the old “NTLDR is missing or corrupted” that I was always able to fix using the installation disk. I was looking forward to have some built-in tool in the installer that might just have been developed to fix such issues. To my surprise, there was none.</p>
<p>The repair options were “Restore computer”, “Windows Memory Diagnostic Tool” and “Command Prompt”. Unfortunately Restore Computer needs a backup file to work with that I obviously didn’t have (virtual test machine) and rebuilding it wasn’t an option as it was one of my exchange servers in the system&#8230; I started to get rather upset and stressed about it and began googling for the problem desperately.</p>
<p>The first few hits were of no help and at some point I even wandered around Microsoft’s TechNet forum where I read that the start-up repair option was removed from 2008 per design (!?).  It wasn’t easy, but after several unsuccessful searchers I found another blog post with the solution:</p>
<p><code>Execute next commands in repair mode (Vista / Win2k8):<br />
c:\windows\system32\bcdedit /set {default} device partition=c:<br />
c:\windows\system32\bcdedit /set {default} osdevice partition=c:<br />
c:\windows\system32\bcdedit /set {bootmgr} device partition=c:</code></p>
<p>It worked like a charm, my system could boot without any problems and I didn’t have to waste a day to reinstall the server and exchange.</p>
]]></content:encoded>
			<wfw:commentRss>http://sysadmin-talk.org/2010/02/yikes-windows-server-2008-can%e2%80%99t-boot-winload-exe-can%e2%80%99t-be-located/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Testing with Exchange Server &#8211; Tips and Tricks &#8211; Part 1 &#8211; Setting up Active Directory</title>
		<link>http://sysadmin-talk.org/2010/02/testing-with-exchange-server-tips-and-tricks-part-1-setting-up-active-directory/</link>
		<comments>http://sysadmin-talk.org/2010/02/testing-with-exchange-server-tips-and-tricks-part-1-setting-up-active-directory/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 13:38:02 +0000</pubDate>
		<dc:creator>Reka Burmeister</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Exchange Archiving]]></category>
		<category><![CDATA[Exchange Testing]]></category>
		<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Exchange software testing]]></category>
		<category><![CDATA[messages]]></category>

		<guid isPermaLink="false">http://sysadmin-talk.org/?p=122</guid>
		<description><![CDATA[Testing in an Exchange environment has been a challenge for Red Gate Software for some time now as we developed and tested Exchange Server Archiver. Now we are working on a PST Importer tool, we had to once again &#8216;fire up&#8217; our virtual servers. The problem was a bit more complex this time, because if [...]]]></description>
			<content:encoded><![CDATA[<p>Testing in an Exchange environment has been a challenge for <a href="http://www.red-gate.com?subject=sysadmintalk">Red Gate Software</a> for some time now as we developed and tested <a href="http://www.red-gate.com/products/Exchange/index.htm?subject=sysadmintalk">Exchange Server Archiver</a>. Now we are working on a PST Importer tool, we had to once again &#8216;fire up&#8217; our virtual servers. The problem was a bit more complex this time, because if we want to create a realistic  test environment we should have about a hundred virtual machines that we could hook on to our domain. As before, we’ll need mailboxes for these users but this time we would like some of the PST files to be opened in some of the users’ Outlook (I’ll explain this later). So here’s how we managed to do this all without actually creating all the machines for it.<span id="more-122"></span></p>
<p>The first step was the easiest – create around a hundred machines in different organisational units in active directory.</p>
<p>We needed this part as our Search wizard queries Active Directory for computers in the system. The user than can select the computers they wish to search for PST files. The grid where they are displayed and various features around selection should be tested, but at this stage it is enough if the computer is simply created in Active Directory. You can go to your Domain Controller, run “Active Directory Users and Computers” management console, right click on any container, select “New” and select “Computer”. This way you can create any computer in your AD tree without physically having it in your system. If one desires to create a larger amount of computers, doing it manually really shouldn’t be an option, in which case a simple .bat file solves the problem.</p>
<p>To create an OU where the new computer(s) should go:</p>
<p><code>dsadd ou "OU=[name_of_OU],DC=[name_of_domain],DC=[name_of_domain]"</code></p>
<p>For embedded OUs:</p>
<p>dsadd ou &#8220;OU=[name_of_OU_child2], OU=[name_of_OU_child1], OU=[name_of_OU_parent],DC=[name_of_domain],DC=[name_of_domain]&#8221;</p>
<p>To add the computer:</p>
<p><code>dsadd computer "cn=[computer_name],ou=[ou_name(s)],dc=[name_of_domain],dc=[name_of_domain]" -uc</code></p>
<p>And now that we have the window open anyway, to add a user:</p>
<p><code>dsadd user "CN=[user_name],OU=[name_of_ou],DC=[name_of_domain],DC=[name_of_domain]" -samid [name_of_user (SAM id)] -upn [user_name@fqdn]<br />
-fn [First_name] -ln [last_name] -display "[display_name]" -pwd [password]</code></p>
<p>This enables us to test most of the basic grid functionality and enablement. In order to check that these non-existing machines are handled correctly when the PST agent is installed on them our developers created a “data faker”, that browses the AD tree to get all computer names and we can set all available statuses for the computers found. This data faker is used to simulate search results as well.</p>
<p>We usually do a script that creates these user/computer names with an incrementing counter, but in some cases it might be a collection of really nasty characters/deeply embedded OUs or other special cases.</p>
<p><strong>*<a href="http://sysadmin-talk.org/2010/06/testing-with-exchange-server-%E2%80%93-tips-and-tricks-%E2%80%93-part-2-%E2%80%93-creating-mailboxes/" target="_blank">Coming up in Part 2 &#8211; Reka will cover scripts to create mailboxes in Exchange 2007, and how to modify access rights on them</a>.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://sysadmin-talk.org/2010/02/testing-with-exchange-server-tips-and-tricks-part-1-setting-up-active-directory/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

