<?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>ukstokes.com &#187; Windows Servers</title>
	<atom:link href="http://ukstokes.com/blog/category/windows-servers/feed/" rel="self" type="application/rss+xml" />
	<link>http://ukstokes.com/blog</link>
	<description>tech stuff from a tech bloke</description>
	<lastBuildDate>Sun, 29 Apr 2012 19:13:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Changing the &#8220;administrator&#8221; password</title>
		<link>http://ukstokes.com/blog/2010/09/15/changing-the-administrator-password/</link>
		<comments>http://ukstokes.com/blog/2010/09/15/changing-the-administrator-password/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 19:08:31 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Windows Servers]]></category>

		<guid isPermaLink="false">http://ukstokes.com/blog/?p=715</guid>
		<description><![CDATA[Putting my Windows sysadmin hat on again, here's another couple of scripts that may help with changing your domain\administrator password, these will identify places where your administrator account is logging on. Obviously you can change them to look for any domain account. First script will interrogate the event log on all servers listed in "servers.txt", [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ukstokes.com/blog/wp-content/uploads/2010/09/ms_logo.jpg"><img src="http://ukstokes.com/blog/wp-content/uploads/2010/09/ms_logo.jpg" alt="Microsoft Logo" title="ms_logo" width="101" height="94" class="alignleft size-full wp-image-730" /></a>Putting my Windows sysadmin hat on again, here's another couple of scripts that may help with changing your domain\administrator password, these will identify places where your administrator account is logging on. Obviously you can change them to look for any domain account.  </p>
<p>First script will interrogate the event log on all servers listed in "servers.txt", and create a report of logon times for the administrator account. It uses <a href="http://www.microsoft.com/DownLoads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07">Microsoft Log Parser</a> which is a free download.</p>
<div>
<pre class="brush: powershell; title: ; notranslate">@echo off
set LOG=C:\scripts\log_parser.log
set servers=C:\scripts\servers.txt
set logparser=&quot;C:\Program Files\Log Parser 2.2\LogParser.exe&quot;

FOR /F %%i IN (%servers%) DO call :PROC %%i
goto END

:PROC
ping -n 1 -w 10 %1 | find /C &quot;Reply&quot; &gt; ping.txt
set /p time=&lt;ping.txt
if /I %time% GTR 0 (echo Got ping from %1 &gt;&gt; %LOG%) ELSE echo Skipping %1 &amp;&amp; goto END
echo Processing %1 ...
%logparser% &quot;SELECT TimeGenerated, SourceName, EventCategoryName, Message INTO C:\scripts\%1.txt FROM \\%1\Security WHERE EventID = 528 AND SID LIKE '%%dministrator%%'&quot; -resolveSIDs:ON
echo.

:END
del /Q /F ping.txt</pre>
</div>
<p>The 2nd script is to query the services database on all servers in "servers.txt", and identify any services that are logging on as administrator (or matching string "admin*"). Just modify line 13 in the first script and run it again. </p>
<div>
<pre class="brush: powershell; first-line: 13; title: ; notranslate">
echo Processing %1 ...
for /F &quot;usebackq tokens=2 delims=:&quot; %%a in (`sc &quot;\\%1&quot; query ^| find &quot;SERVICE_NAME&quot;`) do @sc \\%1 qc%%a | find /I &quot;admin&quot; &amp;&amp; @echo %%a
echo.</pre>
</div>
<p>After that you just have to identify applications where the password may be typed in, in our instance the remaining place was a backup job for our Sharepoint server. Job done!</p>
]]></content:encoded>
			<wfw:commentRss>http://ukstokes.com/blog/2010/09/15/changing-the-administrator-password/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script to list all local admins in your domain</title>
		<link>http://ukstokes.com/blog/2010/08/15/script-to-list-all-local-admins-your-domain/</link>
		<comments>http://ukstokes.com/blog/2010/08/15/script-to-list-all-local-admins-your-domain/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 19:39:39 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Windows Servers]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Bash scripting]]></category>
		<category><![CDATA[VBScript]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://ukstokes.com/blog/?p=705</guid>
		<description><![CDATA[Here's a script to create a report of all local administrators on your domain. It gets the computer names from AD and sends a ping to each computer, and if it gets a reply it will interrogate the local administrators group using WMI to get the list of members. The Domain Admins group is ignored. [...]]]></description>
			<content:encoded><![CDATA[<p>Here's a script to create a report of all local administrators on your domain. It gets the computer names from AD and sends a ping to each computer, and if it gets a reply it will interrogate the local administrators group using WMI to get the list of members. The Domain Admins group is ignored. Run at a sensible time when most computers will be turned on.</p>
<p>Edit the SMTP server and strSender values to something appropriate. Also edit line 37 with the name of your domain. You will need to create the folder C:\scripts for this to work, or edit line 8 with a new location for the csv file. </p>
<p>The outputted file is a bit messy, but gets the job done. </p>
<div>
<pre class="brush: vb; title: ; notranslate">
SMTPServer = &quot;mail.yourdomain.corp&quot;
strSender = &quot;name@yourdomain.corp&quot;
strRecipient = InputBox(&quot;Enter the email address for report or&quot; &amp; vbcrlf &amp; &quot;press cancel to just generate a local file.&quot;, &quot;Input required&quot;)
Const ForAppending = 8
Set WshNetwork = WScript.CreateObject(&quot;WScript.Network&quot;)
Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set WshShell = CreateObject(&quot;WScript.Shell&quot;)
strFileName = &quot;C:\scripts\LocalAdminsReport.csv&quot;

If objFSO.FileExists(strFileName) Then
	objFSO.DeleteFile(strFileName)
End If		

Set objFile = objFSO.OpenTextFile(strFileName, ForAppending, True)
objFile.WriteLine &quot;ComputerName,Administrators&quot;

GetLocalAdmins 

msgbox Counter &amp; &quot; computers were counted.&quot; &amp; vbcrlf &amp; &quot;See &quot; &amp; strFileName &amp; &quot; for details.&quot;
If strRecipient = False then
	'user didn't enter an email address
	wscript.quit
Else
	SendEmail
End If

Private Function GetLocalAdmins
	Const ADS_SCOPE_SUBTREE = 2

	Set objConnection = CreateObject(&quot;ADODB.Connection&quot;)
	Set objCommand =   CreateObject(&quot;ADODB.Command&quot;)
	objConnection.Provider = &quot;ADsDSOObject&quot;
	objConnection.Open &quot;Active Directory Provider&quot;

	Set objCOmmand.ActiveConnection = objConnection
	objCommand.CommandText = &quot;Select Name from 'LDAP://DC=yourdomain,DC=corp' &quot; &amp; &quot;Where objectClass='computer'&quot;
	objCommand.Properties(&quot;Page Size&quot;) = 1000
	objCommand.Properties(&quot;Searchscope&quot;) = ADS_SCOPE_SUBTREE
	Set objRecordSet = objCommand.Execute
	objRecordSet.MoveFirst

	Do Until objRecordSet.EOF
		name = objRecordSet.Fields(&quot;Name&quot;).Value
		PINGFlag = Not CBool(WshShell.run(&quot;ping -w 500 -n 1 &quot; &amp; name,0,True))
		If PINGFlag = False Then
			objFile.WriteLine name &amp; &quot;,Did Not Ping&quot;
			Else
				'Get the local administrators
				Set objGroup = GetObject(&quot;WinNT://&quot; &amp; name &amp; &quot;/Administrators,group&quot;)
				For Each objMember In objGroup.Members
					If objMember.Name &lt;&gt; &quot;Administrator&quot; and objMember.Name &lt;&gt; &quot;Domain Admins&quot; Then
						objFile.WriteLine name &amp; &quot;,&quot; &amp; (objMember.Name)
					End If
				Next
		End If
		objRecordSet.MoveNext
	Loop
End Function

Private Function SendEmail
	Set objEmail = CreateObject(&quot;CDO.Message&quot;)
	objEmail.From = strSender
	objEmail.To = strRecipient
	objEmail.Subject = &quot;Local Admins Account&quot;
	objEmail.Textbody = Counter &amp; &quot; computers were counted. See attached log file for details.&quot;
	objEmail.AddAttachment(strFileName)
	objEmail.Configuration.Fields.Item (&quot;http://schemas.microsoft.com/cdo/configuration/sendusing&quot;) = 2
	objEmail.Configuration.Fields.Item (&quot;http://schemas.microsoft.com/cdo/configuration/smtpserver&quot;) = SMTPServer
	objEmail.Configuration.Fields.Item (&quot;http://schemas.microsoft.com/cdo/configuration/smtpserverport&quot;) = 25
	objEmail.Configuration.Fields.Update
	objEmail.Send
End Function
</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ukstokes.com/blog/2010/08/15/script-to-list-all-local-admins-your-domain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update DMZ servers using WSUS</title>
		<link>http://ukstokes.com/blog/2009/04/20/update-dmz-servers-using-wsus/</link>
		<comments>http://ukstokes.com/blog/2009/04/20/update-dmz-servers-using-wsus/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 23:38:07 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Windows Servers]]></category>

		<guid isPermaLink="false">http://ukstokes.com/blog/?p=307</guid>
		<description><![CDATA[If you have a server in the DMZ that requires Windows Updates but does not have Internet connectivity, it's actually quite easy to configure it to receive automatic updates from a WSUS server on your network. 1. Firewall config: Open tcp/80 (or tcp/443 if you have configured SSL) on the firewall between your DMZ server [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">If you have a server in the DMZ that requires Windows Updates but does not have Internet connectivity, it's actually quite easy to configure it to receive automatic updates from a WSUS server on your network.</p>
<p style="text-align: left;">1. Firewall config: Open tcp/80 (or tcp/443 if you have configured SSL) on the firewall between your DMZ server and your WSUS server.</p>
<p style="text-align: left;">2. On your DMZ server open gpedit.msc. Go into Computer Configuration - Administrative Templates - Windows Components - Windows Update.</p>
<p style="text-align: center;"><a href="http://ukstokes.com/blog/wp-content/uploads/2009/04/wsus.jpg"><img class="alignnone size-full wp-image-314" title="Windows Update settings" src="http://ukstokes.com/blog/wp-content/uploads/2009/04/wsus.jpg" alt="Windows Update settings" width="413" height="201" /></a><br />
<em>Configure Windows Update using gpedit.msc</em></p>
<p>3. Enable "Configure automatic updates" and configure the schedule of your choice.</p>
<p>4. Enable "Intranet Microsoft Update Service Location". Specify your WSUS server in both fields using the <em>http://server</em> format.</p>
<p>5. Enable "Client side targetting" and enter the name of your Target Group into the box.</p>
<p>That's it - the updates will now flow in.</p>
]]></content:encoded>
			<wfw:commentRss>http://ukstokes.com/blog/2009/04/20/update-dmz-servers-using-wsus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configure automatic login on OCS 2007</title>
		<link>http://ukstokes.com/blog/2009/04/11/configure-automatic-login-on-ocs-2007/</link>
		<comments>http://ukstokes.com/blog/2009/04/11/configure-automatic-login-on-ocs-2007/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 12:15:06 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Windows Servers]]></category>

		<guid isPermaLink="false">http://ukstokes.com/blog/?p=217</guid>
		<description><![CDATA[Here's the scenario: You have a single OCS 2007 standard edition server on your network. Your Active Directory uses a DNS suffix that is not available externally, for example ocs.internal.ad. You are using a certificate issued by your domain CA on your OCS server (this is recommended) and automatic logon works fine while your clients are [...]]]></description>
			<content:encoded><![CDATA[<p><strong><img class="alignleft" src="http://ukstokes.com/images/microsoft-ocs-2007-logo.jpg" alt="Logo" width="125" height="34" /></strong></p>
<p><strong> </strong></p>
<p>Here's the scenario: You have a single OCS 2007 standard edition server on your network. Your Active Directory uses a DNS suffix that is not available externally, for example ocs.<em>internal.ad</em>. You are using a certificate issued by your domain CA on your OCS server (this is recommended) and automatic logon works fine while your clients are on the internal network.</p>
<p>You have also deployed an OCS 2007 Edge Access Server. The server's name in external DNS is sip.<em>yourdomain.com</em>.</p>
<p>The goal is to enable clients to log in automatically. This is a nice to have - and I think even nicer when they can log in automatically from both within the corporate LAN and the outside of your network.</p>
<p><strong>The problem</strong><br />
If you change your users OCS sign-in names to their email addresses (i.e. user@<em>yourdomain.com</em>), the automatic logon works fine on the outside but not from the inside (providing your Edge Access server and supporting DNS records are set up correctly). Meanwhile from outside of your network if your users have sign-in names using your internal AD namespace (i.e. user@<em>internal.ad</em>), automatic logon fails - this is because the <em>internal.ad</em> DNS suffix does not exist on the outside and your OCS client cannot find an SRV record in DNS to locate the OCS server.</p>
<p><strong>The solution!</strong><br />
There are several components that need to be in place for this to work.</p>
<p><em>1. DNS Configuration</em><br />
For this to work you are required to set up a copy of your external DNS as a primary zone in your Active Directory DNS. Then in your internal DNS configure an A Record for <em>sip.yourdomain.com</em> pointing to the IP address of your internal OCS server. In addition, set up some SRV records:</p>
<pre class="brush: plain; title: ; notranslate">_tcp._sipinternal.yourdomain.com -- sip.yourdomain.com (0 0 5061)
_tcp._sipinternaltls .yourdomain.com -- sip.yourdomain.com (0 0 5061)</pre>
<p><em>2. Certificate configuration</em><br />
For authenticating external clients, you will need an SSL certificate on your Edge Access server. Choosing the right sort of certificate is <span style="text-decoration: underline;">vital</span> for the Edge Access role. You have to select one from <a href="http://r.office.microsoft.com/r/rlidOCS?clid=1033&amp;p1=SupportedCAs">this list</a> for federation and public IM connectivity to work properly.  Other certificates may work, but have not been approved for use with OCS 2007 by Microsoft.</p>
<p>For authenticating internal clients, Microsoft recommend you use a certificate from the CA on your domain. From your standard edition server, run setup on the OCS CD and go through the certificate wizard. When configuring the certificate, specify ocs.<em>internal.ad</em> (insert your internal server name here) as the primary name of your server and sip<em>.yourdomain.com</em> (your external namespace) as the alternative name on the certificate.</p>
<p><em>3. Sign-In names</em><br />
Last thing is to configure sign in names, these will need to be changed to use your external DNS suffix, i.e. user@<em>yourdomain.com</em>. One word of warning on this - if you change sign-in names while the users are logged on, they will be kicked off the system and receive an error about invalid credentials. Instead, make the changes while the users are logged off and they will then be picked up automatically the next time the computers are booted up on the network.</p>
<p>After making this change users should then be able to log in automatically from both the corporate network and the Internet.</p>
<p>This is one area IMHO where the OCS 2007 documentation does not go into enough detail.</p>
]]></content:encoded>
			<wfw:commentRss>http://ukstokes.com/blog/2009/04/11/configure-automatic-login-on-ocs-2007/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Script to remotely backup multiple IIS metabases</title>
		<link>http://ukstokes.com/blog/2007/08/20/script-to-remotely-backup-multiple-iis-metabases/</link>
		<comments>http://ukstokes.com/blog/2007/08/20/script-to-remotely-backup-multiple-iis-metabases/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 12:37:14 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Windows Servers]]></category>

		<guid isPermaLink="false">http://ukstokes.com/blog/?p=81</guid>
		<description><![CDATA[This is a script to backup IIS metabases to a network share. To run this script you need to create a file called iisservers.txt in the script's working directory and add the names of the IIS servers into it, one on each line. Substitute servername and sharename with the destination on your network. The forfiles [...]]]></description>
			<content:encoded><![CDATA[<p>This is a script to backup IIS metabases to a network share. To run this script you need to create a file called iisservers.txt in the script's working directory and add the names of the IIS servers into it, one on each line. Substitute <strong>servername</strong> and <strong>sharename</strong> with the destination on your network. The forfiles statements will delete backups older than 7 days. The <strong>-7</strong> variable can be changed to suit your needs.</p>
<p>Some of the text has wrapped to the next line due to the formatting of this blog but when copied and pasted the unnecessary line breaks are removed.</p>
<p>if exist o:\MetabaseBackup goto backup<br />
net use o: /delete /Y<br />
net use o: \\servername\sharename\London\Metabase</p>
<p>:backup<br />
for /F %%i in (iisservers.txt) do cscript c:\windows\system32\iisback.vbs /backup /s %%i /b %%i_metabase /b %%i_metabase /overwrite<br />
for /F %%i in (iisservers.txt) do xcopy \\%%i\C$\windows\system32\inetsrv\metaback\*.* o: /y</p>
<p>:cleanup<br />
o:<br />
forfiles /m *.MD* /D -7 /C "cmd /c del @file"<br />
forfiles /m *.SC* /D -7 /C "cmd /c del @file"<br />
c:<br />
net use o: /delete /Y</p>
<p>The script can then be configured to run as a scheduled task, using an account with the appropriate permissions to your IIS Servers.</p>
<p>For backing up SSL certificates there is a <a href="http://technet2.microsoft.com/windowsserver/en/library/f2ef3228-4a4b-4cc8-99cc-78784aa5890b1033.mspx?mfr=true">vbscript on Technet</a> that can do all certs in a batch job, as appose to one site at a time as with IISCertDeploy.vbs in the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=56FC92EE-A71A-4C73-B628-ADE629C89499&amp;displaylang=en">IIS 6 Resource Kit</a>.</p>
<p>Technorati Tags: <a href="http://technorati.com/tag/IIS" rel="tag">IIS</a>, <a href="http://technorati.com/tag/Metabase" rel="tag"> Metabase</a>, <a href="http://technorati.com/tag/Scripts" rel="tag"> Scripts</a>, <a href="http://technorati.com/tag/Backups" rel="tag"> Backups</a>, <a href="http://technorati.com/tag/Windows+2003" rel="tag"> Windows 2003</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ukstokes.com/blog/2007/08/20/script-to-remotely-backup-multiple-iis-metabases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to repair a trashed IP stack on Windows 2003</title>
		<link>http://ukstokes.com/blog/2007/08/07/how-to-repair-a-trashed-ip-stack-on-windows-2003/</link>
		<comments>http://ukstokes.com/blog/2007/08/07/how-to-repair-a-trashed-ip-stack-on-windows-2003/#comments</comments>
		<pubDate>Tue, 07 Aug 2007 12:59:43 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Windows Servers]]></category>

		<guid isPermaLink="false">http://ukstokes.com/blog/?p=79</guid>
		<description><![CDATA[Last week I had a BSOD error on one of my MailSweeper servers. Afterwards when it booted into Windows it had disconnected itself from the network and the IPSec service would not start. I'm sure they were having a good laugh at Microsoft when they decided how to word this error message: What failed? The [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I had a BSOD error on one of my MailSweeper servers. Afterwards when it booted into Windows it had disconnected itself from the network and the IPSec service would not start. I'm sure they were having a good laugh at Microsoft when they decided how to word this error message:</p>
<p><a id="file-link-80" class="file-link image" title="Cannot start the IPSec Service" href="http://ukstokes.com/blog/wp-admin/upload.php?style=inline&amp;tab=browse&amp;action=view&amp;ID=80&amp;post_id=79"> </a></p>
<p style="text-align: center"><img src="http://ukstokes.com/blog/wp-content/uploads/2007/08/ipsec.jpg" alt="Cannot start the IPSec Service" /><br />
<em>What failed?</em></p>
<p>The winsock stack can be reset from a command prompt using:</p>
<p>netsh int ip reset resetlog.txt</p>
<p>However in my case it was throwing up this error:</p>
<blockquote><p>Initialization Function InitHelperDll in IPMONTR.DLL failed to start with error code 10107<br />
The following helper DLL cannot be loaded: DHCPMON.DLL.<br />
The following helper DLL cannot be loaded: WINSMON.DLL.</p></blockquote>
<p>Thinking back to my NT4 days it used to be possible to reinstall the IP stack by simply removing and adding the TCP/IP protocol, but in Windows 2003 (and XP) it's a core component of Windows and the 'Uninstall' button is disabled. So, if you need to do this then <a href="http://support.microsoft.com/kb/325356">this technet article</a> can be followed. If you're not doing this work on a DC, then booting up into Safe Mode is fine - that's what I did and it worked like a charm.</p>
<p>Technorati Tags: <a href="http://technorati.com/tag/Winsock" rel="tag">Winsock</a>, <a href="http://technorati.com/tag/TCP%2FIP" rel="tag"> TCP/IP</a>, <a href="http://technorati.com/tag/Windows+2003" rel="tag"> Windows 2003</a>, <a href="http://technorati.com/tag/Administration" rel="tag"> Administration</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ukstokes.com/blog/2007/08/07/how-to-repair-a-trashed-ip-stack-on-windows-2003/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implement an Exchange 2003 front end NLB cluster</title>
		<link>http://ukstokes.com/blog/2007/06/16/implement-an-exchange-2003-front-end-nlb-cluster/</link>
		<comments>http://ukstokes.com/blog/2007/06/16/implement-an-exchange-2003-front-end-nlb-cluster/#comments</comments>
		<pubDate>Sat, 16 Jun 2007 11:56:27 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Windows Servers]]></category>

		<guid isPermaLink="false">http://ukstokes.com/blog/?p=68</guid>
		<description><![CDATA[There are a few sites that explain how to implement this high availability solution: http://searchexchange.techtarget.com/origi... http://www.msexchange.org/tutorials/Imp... However when I tried this way I kept getting IP address conflicts. This is how I did it instead: Configure OWA on both front end servers with the same certificate Make sure Exchange patches are consistent on both cluster [...]]]></description>
			<content:encoded><![CDATA[<p>There are a few sites that explain how to implement this high availability solution:</p>
<p><a href="http://searchexchange.techtarget.com/originalContent/0,289142,sid43_gci1179397,00.html">http://searchexchange.techtarget.com/origi...</a><a href="http://searchexchange.techtarget.com/originalContent/0,289142,sid43_gci1179397,00.html"></a><br />
<a href="http://www.msexchange.org/tutorials/Implementing-High-Availability-OWA-Network-Load-Balancing.html">http://www.msexchange.org/tutorials/Imp...</a></p>
<p>However when I tried this way I kept getting IP address conflicts. This is how I did it instead:</p>
<ul>
<li>Configure OWA on both front end servers with the same certificate</li>
<li>Make sure Exchange patches are consistent on both cluster nodes</li>
<li>Create DNS A record for cluster IP address</li>
<li>If either server is created from an image (or vmware template), remove and reinstall network cards as per <a href="http://support.microsoft.com/kb/828258">KB828258</a></li>
</ul>
<p>I then configured the cluster (including IP configuration on each node) using Network Load Balancing Manager from my workstation. If you use this tool to create clusters, you have to do it remotely as the cluster IP will have the same MAC Address across all nodes, and as this is configured it breaks the connectivity between the nodes.</p>
<ul>
<li>Open Network Load Balancing Manager (Start - Administrative Tools - NLB Manager)</li>
<li>Cluster  - New</li>
<li>Enter cluster IP address, subnet mask, and the DNS name you created earlier</li>
<li>Select Unicast mode, leave 'Enable remote control' unticked</li>
<li>Do not enter additional IP addresses or Port rules</li>
<li>On final step, add the server that will become the first node in the cluster</li>
</ul>
<p>When you click on Finish, NLB Manager will configure the NLB protocol and add the cluster IP address to the node. If this is successful you can then add further nodes by right-clicking the cluster name and selecting "Add node to cluster". You will notice that the NLB Manager automatically changes the priority of the new node as it is being added.</p>
<p style="text-align: center;"><a title="Network Load Balancing Manager on Windows 2003" rel="lightbox" href="http://ukstokes.com/blog/wp-content/uploads/2007/06/cluster.jpg"><img src="http://ukstokes.com/blog/wp-content/uploads/2007/06/cluster.jpg" alt="NLB Manager" width="171" height="86" /><br />
<em>Windows 2003 NLB Manager</em></a></p>
<p>Final step is to then open IIS Manager on each cluster node and bind the cluster IP address to the OWA website.</p>
<p>Technorati Tags: <a href="http://technorati.com/tag/Exchange+2003" rel="tag">Exchange 2003</a>, <a href="http://technorati.com/tag/Network+Load+Balancing" rel="tag"> Network Load Balancing</a>, <a href="http://technorati.com/tag/NLB" rel="tag"> NLB</a>, <a href="http://technorati.com/tag/Clustering" rel="tag"> Clustering</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ukstokes.com/blog/2007/06/16/implement-an-exchange-2003-front-end-nlb-cluster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Battling with BrightStor</title>
		<link>http://ukstokes.com/blog/2007/05/25/battling-with-brightstor/</link>
		<comments>http://ukstokes.com/blog/2007/05/25/battling-with-brightstor/#comments</comments>
		<pubDate>Fri, 25 May 2007 12:44:54 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Windows Servers]]></category>

		<guid isPermaLink="false">http://ukstokes.com/blog/?p=67</guid>
		<description><![CDATA[I really hate ARCserve products. It's not very often that I have to run an Exchange restore, but every time I do I just run into obsticles, cryptic and ambiguous error messages, and a complete lack of solutions on the ARCserve site and Google search results. What makes this worse is restores are normally required [...]]]></description>
			<content:encoded><![CDATA[<p>I really hate ARCserve products. It's not very often that I have to run an Exchange restore, but every time I do I just run into obsticles, cryptic and ambiguous error messages, and a complete lack of solutions on the ARCserve site and Google search results. What makes this worse is restores are normally required quite urgently, and when you're under pressure you don't want to spend hours faffing around getting simple things to work properly.</p>
<p>On this weeks occasion after setting up my restore exactly as specified in <a href="http://supportconnect.ca.com/sc/kb/techdetail.jsp?searchID=TEC386121&amp;docid=386121&amp;bypass=yes&amp;fromscreen=kbresults">this technote</a> on the CA website, my restore kept failing with the following error:</p>
<blockquote><p><span class="value">E3022<br />
No valid destination.</span></p>
<p>Totals For................... Job<br />
Total Session(s)............. 0<br />
Total <a class="iAs" style="border-bottom: 0.075em solid darkgreen; font-weight: normal; font-size: 100%; text-decoration: underline; color: darkgreen; background-color: transparent; padding-bottom: 1px" href="http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Windows/Q_22592459.html" target="_blank"></a>Databases(s)............ 0<br />
Total Skip(s)................ 0<br />
Total Size (Disk)............ 0 KB<br />
Total Size (DB).............. 0 KB<br />
Total Size (Media)........... 0 KB<br />
Elapsed Time................. 0s<br />
Average Throughput........... 0 KB/min<br />
Total Error(s)/Warning(s).... 1/0</p></blockquote>
<p>After a lot of wasted time Google searching and trying various configurations, I eventually found the solution to this problem. This is a known issue with ARCserve 11.5 SP2 and the solution is to upgrade to SP3. The upgrade files can be found <a href="http://supportconnect.ca.com/sc/solcenter/sol_detail.jsp?aparno=QO86307&amp;os=NT&amp;returninput=0&amp;prev=true">here</a>.</p>
<p>Technorati Tags: <a href="http://technorati.com/tag/ARCserve" rel="tag">ARCserve</a>, <a href="http://technorati.com/tag/Exchange+2003" rel="tag"> Exchange 2003</a>, <a href="http://technorati.com/tag/Restores" rel="tag"> Restores</a>, <a href="http://technorati.com/tag/BrightStor" rel="tag"> BrightStor</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ukstokes.com/blog/2007/05/25/battling-with-brightstor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book Review: Essential Microsoft Operations Manager</title>
		<link>http://ukstokes.com/blog/2006/12/11/book-review-essential-microsoft-operations-manager/</link>
		<comments>http://ukstokes.com/blog/2006/12/11/book-review-essential-microsoft-operations-manager/#comments</comments>
		<pubDate>Mon, 11 Dec 2006 19:47:18 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Windows Servers]]></category>

		<guid isPermaLink="false">http://ukstokes.com/blog/?p=36</guid>
		<description><![CDATA[Essential Microsoft Operations Manager Published by O'Reilly : www.oreilly.com Cost: £18.81 from www.amazon.co.uk Instead of a long drawn out review, I just want to give a quick summary of this book and my opinion on whether it is worth buying. The first chapter concentrates on giving you an overview of the components of MOM. Specifically, [...]]]></description>
			<content:encoded><![CDATA[<p><img id="image35" title="mom.jpg" src="http://ukstokes.com/blog/wp-content/uploads/2006/11/mom.jpg" alt="mom.jpg" align="left" /> <em>Essential Microsoft Operations Manager<br />
</em>Published by O'Reilly : <a href="http://www.oreilly.com/">www.oreilly.com</a><br />
Cost: £18.81 from <a href="http://www.amazon.co.uk/Essential-Microsoft-Operations-Manager-Chris/dp/0596009534/sr=11-1/qid=1165585456/ref=sr_11_1/203-1659702-4369514" target="_blank">www.amazon.co.uk</a></p>
<p>Instead of a long drawn out review, I just want to give a quick summary of this book and my opinion on whether it is worth buying.</p>
<p>The first chapter concentrates on giving you an overview of the components of MOM. Specifically, what MOM is capable of and used for, different ways of accessing MOM (web interface, admin console, etc), how the SQL database is configured, and generally how MOM achieves it's aims. Everything is well explained and the fictional company 'Leaky Faucet' is introduced to the reader; This is your typical multi-site business with a few hundred managed servers and 2 MOM2005 management servers. This section is worth reading as they go on to use Leaky Faucet as an example of how MOM might be deployed throughout the book.</p>
<p>The next few chapters explain how to plan and deploy MOM. One of the books strengths is the section on planning the deployment, as it goes into a lot of detail and gives you a good idea of what overheads you should expect on your management servers, depending on how many agent managed and agentless servers you are managing. Moving on to installing MOM, my thoughts are that actual act of installing MOM is pretty non-eventful, so you might not need to spend so much time reading this section. I skipped forward because the stuff they were explaining was obvious and done already.</p>
<p>The book goes on to explain management packs and how to use the consoles in a good level of detail. However, as I reached the end I started skimming back through the pages to look for the chapter on how to configure rules, and then realised there is no such chapter. The book does give snippets here and there, but in my opinion configuring and creating rules is such a massive and important topic that it should have had a lot more time and space devoted to it. Also, topics such as creating your own events for MOM to monitor are mentioned in brief but not enough for you to use in your deployment.</p>
<p>The last quarter of the book is set aside for MOM reporting, but again I felt let down as I feel they went in at the wrong angle with this. The book discusses how to configure the reporting server, which mostly is a pretty straightforward process. It does not tell you the really useful stuff like how to pull custom reports out of MOM. The default reports installed with the management packs are OK, but this week when my manager asked me for MOM reports showing typical CPU usage, free disk space, number of CPUs and OS service pack level on a subset of servers, this book was no use and I had to turn to the Internet for answers.</p>
<p>So to summarise, the bottom line is this: There is a lot of good content in this book, and it may be useful to you if you are an absolute beginner to MOM and are looking to deploy a vanilla installation of MOM2005 across your network. However, for serious system administrators, I would not recommend reading <em>Essential Microsoft Operations Manager</em>, as some information I would consider to be essential is missing. The book offers a good introduction to MOM, but you will need to do further reading to supplement the book in order to support MOM2005 on a day to day basis.</p>
<p>Technorati Tags: <a href="http://technorati.com/tag/MOM" rel="tag">MOM</a>, <a href="http://technorati.com/tag/MOM2005" rel="tag"> MOM2005</a>, <a href="http://technorati.com/tag/Book+review" rel="tag"> Book review</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ukstokes.com/blog/2006/12/11/book-review-essential-microsoft-operations-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problems installing SharePoint 2007 Beta?</title>
		<link>http://ukstokes.com/blog/2006/12/05/problems-installing-sharepoint-2007-beta/</link>
		<comments>http://ukstokes.com/blog/2006/12/05/problems-installing-sharepoint-2007-beta/#comments</comments>
		<pubDate>Tue, 05 Dec 2006 13:30:31 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Windows Servers]]></category>

		<guid isPermaLink="false">http://ukstokes.com/blog/?p=37</guid>
		<description><![CDATA[When attempting an install of SharePoint 2007 beta, you may receive the following error message: Setup is unable to proceed due to the following error(s): This product requires Windows Workflow Foundation beta 2 (build 3.0.3807.7 or later). If you do have the correct version of WWF installed and you are getting this error, this is [...]]]></description>
			<content:encoded><![CDATA[<p>When attempting an install of SharePoint 2007 beta, you may receive the following error message:</p>
<blockquote><p>Setup is unable to proceed due to the following error(s):<br />
This product requires Windows Workflow Foundation beta 2 (build 3.0.3807.7 or later).</p></blockquote>
<p>If you do have <a href="http://www.microsoft.com/downloads/details.aspx?familyid=5C080096-F3A0-4CE4-8830-1489D0215877&amp;displaylang=en" target="_blank"><span style="color: #669966;">the correct version of WWF</span></a> installed and you are getting this error, this is because you do not have the correct version of .NET Framework installed. SharePoint 2007 beta requires the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=4A96661C-05FD-430C-BB52-2BA86F02F595&amp;displaylang=en" target="_blank"><span style="color: #669966;">WinFX Runtime Components beta 2, available here</span></a>.</p>
<p>If you already installed a previous beta version of .NET Framework 3.0, you will need the <a href="http://www.microsoft.com/downloads/thankyou.aspx?familyId=AAE7FC63-D405-4E13-909F-E85AA9E66146&amp;displayLang=en" target="_blank"><span style="color: #669966;">.NET Framework 3.0 Uninstall Tool</span></a> to remove it, before you can go ahead with the WinFX Runtime Components beta 2 install.</p>
<p>Technorati Tags: <a href="http://technorati.com/tag/SharePoint+2007" rel="tag">SharePoint 2007</a>, <a href="http://technorati.com/tag/SharePoint" rel="tag"> SharePoint</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ukstokes.com/blog/2006/12/05/problems-installing-sharepoint-2007-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

