<?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>Jonathan Medd&#039;s Blog &#187; windows server 2003</title>
	<atom:link href="http://www.jonathanmedd.net/category/windows-server-2003/feed" rel="self" type="application/rss+xml" />
	<link>http://www.jonathanmedd.net</link>
	<description>Scripting. Powershell, VMware, Windows, Active Directory &#38; Exchange. All that kind of stuff.....</description>
	<lastBuildDate>Wed, 01 Feb 2012 13:58:36 +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>Using PowerShell To Check That Windows Server Services Set To Automatic Have Started</title>
		<link>http://www.jonathanmedd.net/2012/01/using-powershell-to-check-that-windows-server-services-set-to-automatic-have-started.html</link>
		<comments>http://www.jonathanmedd.net/2012/01/using-powershell-to-check-that-windows-server-services-set-to-automatic-have-started.html#comments</comments>
		<pubDate>Wed, 11 Jan 2012 16:18:44 +0000</pubDate>
		<dc:creator>Jonathan Medd</dc:creator>
				<category><![CDATA[powershell]]></category>
		<category><![CDATA[windows server 2003]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[wmi]]></category>
		<category><![CDATA[Windows Server 2003]]></category>

		<guid isPermaLink="false">http://www.jonathanmedd.net/?p=2111</guid>
		<description><![CDATA[Following on from the blog post Testing TCP Port Response from PowerShell  which provided a means to check that servers had fully rebooted after a patching and reboot cycle, I needed to take this one step further and check that all of the Windows Services set to Automatic successfully started after the reboot. This should [...]]]></description>
			<content:encoded><![CDATA[<p>Following on from the blog post <a href="http://www.jonathanmedd.net/2011/12/testing-tcp-port-response-from-powershell.html">Testing TCP Port Response from PowerShell</a>  which provided a means to check that servers had fully rebooted after a patching and reboot cycle, I needed to take this one step further and check that all of the Windows Services set to Automatic successfully started after the reboot.</p>
<p>This should be pretty straightforward since we have a <strong>Get-Service</strong> cmdlet. Unfortunately however, this cmdlet does not return a StartMode parameter, i.e. it&#8217;s not possible to tell whether the Startup Type has been set to Automatic, Manual or Disabled. This is quite a large gap in my opinon &#8211; if you agree with me you can vote to get it included in a future release <a href=" http://connect.microsoft.com/PowerShell/feedback/details/416680/get-service-needs-to-add-a-startuptype-noteproperty-to-its-output">here</a>. Of course with PowerShell there&#8217;s usually another way to achieve the same objective and using <strong>Get-WMIObject</strong> it is possible to find out the Startup Type of the service.</p>
<pre class="brush: powershell;">

Get-WmiObject Win32_Service -ComputerName $ComputerName -Filter &quot;StartMode='Auto' AND State='Stopped' AND Name!='SysmonLog'&quot;
</pre>
<p>Notice that we filter out the Perfmon service (SysmonLog) since it is rarely in a started state.</p>
<p>One other thing to watch out for in this script is that the section</p>
<pre class="brush: powershell;">

catch [System.Exception]
</pre>
<p>which is there to catch any WMI queries that fail, e.g. the server hasn&#8217;t rebooted properly or the correct permissions do not exist to make the WMI query, will not pick up any of these failures. This is because try / catch will only catch terminating errors and the WMI failures are non terminating. We can work around this by setting:</p>
<pre class="brush: powershell;">

$ErrorActionPreference = &quot;Stop&quot;
</pre>
<p>and then back to normal afterwards:</p>
<pre class="brush: powershell;">

$ErrorActionPreference = &quot;Continue&quot;
</pre>
<p>The script accepts pipeline input, so for example you could run it like:</p>
<pre class="brush: powershell;">

Get-Content servers.txt | ./Get-AutomaticServiceState.ps1
</pre>
<p>Here it is:</p>
<pre class="brush: powershell;">

&lt;#
.SYNOPSIS
Retrieves any Windows services set to Automatic and are not running

.DESCRIPTION
Retrieves any Windows services set to Automatic and are not running

.PARAMETER  ComputerName
Name of the computer to test the services for

.EXAMPLE
PS C:\&gt; Get-AutomaticServiceState -ComputerName Server01

.EXAMPLE
PS C:\&gt; Get-Content servers.txt | Get-AutomaticServiceState

.NOTES
Author: Jonathan Medd
Date: 11/01/2012
#&gt;

[CmdletBinding()]
param(
[Parameter(Position=0,Mandatory=$true,HelpMessage=&quot;Name of the computer to test&quot;,
ValueFromPipeline=$True,ValueFromPipelineByPropertyName=$true)]
[Alias('CN','__SERVER','IPAddress','Server')]
[System.String]
$ComputerName
)

process {

try {

# Set ErrorActionPreference to Stop in order to catch non-terminating WMI errors
$ErrorActionPreference = &quot;Stop&quot;

# Query the server via WMI and exclude the Performance Logs and Alerts Service
$WMI = Get-WmiObject Win32_Service -ComputerName $ComputerName -Filter &quot;StartMode='Auto' AND State='Stopped' AND Name!='SysmonLog'&quot;

}

catch [System.Exception]

{
$WMI = “” | Select-Object SystemName,Displayname,StartMode,State
$WMI.SystemName = $ComputerName
$WMI.Displayname = &quot;Unable to connect to server&quot;
$WMI.StartMode = &quot;&quot;
$WMI.State = &quot;&quot;
}

finally {

$ErrorActionPreference = &quot;Continue&quot;

}

if ($WMI){

foreach ($WMIResult in $WMI){

$MYObject = “” | Select-Object ComputerName,ServiceName,StartupMode,State
$MYObject.ComputerName = $WMIResult.SystemName
$MYObject.ServiceName = $WMIResult.Displayname
$MYObject.StartupMode = $WMIResult.StartMode
$MYObject.State = $WMIResult.State
$MYObject
}
}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanmedd.net/2012/01/using-powershell-to-check-that-windows-server-services-set-to-automatic-have-started.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Running AD Schema Update for 2008 R2 in a 32-bit DC Environment</title>
		<link>http://www.jonathanmedd.net/2011/04/running-ad-schema-update-for-2008-r2-in-a-32-bit-dc-environment.html</link>
		<comments>http://www.jonathanmedd.net/2011/04/running-ad-schema-update-for-2008-r2-in-a-32-bit-dc-environment.html#comments</comments>
		<pubDate>Wed, 20 Apr 2011 11:09:17 +0000</pubDate>
		<dc:creator>Jonathan Medd</dc:creator>
				<category><![CDATA[active directory]]></category>
		<category><![CDATA[windows server 2003]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[Windows Server 2003]]></category>

		<guid isPermaLink="false">http://www.jonathanmedd.net/?p=1624</guid>
		<description><![CDATA[To upgrade Active Directory from Windows Server 2003 to Windows Server 2008 R2 requires the usual AD schema upgrade first of all. Windows Server 2008 R2 is 64-bit only, so if you try running the usual command to upgrade the schema from a 32-bit Domain Controller: adprep /forestprep you get the following result, &#8220;adprep.exe is [...]]]></description>
			<content:encoded><![CDATA[<p>To upgrade Active Directory from Windows Server 2003 to Windows Server 2008 R2 requires the usual AD schema upgrade first of all. Windows Server 2008 R2 is 64-bit only, so if you try running the usual command to upgrade the schema from a 32-bit Domain Controller:</p>
<p><strong>adprep /forestprep</strong></p>
<p>you get the following result, &#8220;adprep.exe is valid, but if for a machine type other than the current machine.&#8221;:</p>
<p><a href="http://www.jonathanmedd.net/wp-content/uploads/2011/04/Adprep1.png"><img class="aligncenter size-full wp-image-1625" title="Adprep1" src="http://www.jonathanmedd.net/wp-content/uploads/2011/04/Adprep1.png" alt="" width="663" height="51" /></a></p>
<p>An alternative is to try running it from a 64-bit machine that is not a DC, but then you discover that this process absolutely must be run from a DC:</p>
<p><a href="http://www.jonathanmedd.net/wp-content/uploads/2011/04/Adprep21.png"><img class="aligncenter size-full wp-image-1629" title="Adprep2" src="http://www.jonathanmedd.net/wp-content/uploads/2011/04/Adprep21.png" alt="" width="643" height="96" /></a></p>
<p>So what do you do? The answer is that you run <strong>adprep32.exe</strong>, a 32-bit version of <strong>adprep</strong>, which is included in the same folder:</p>
<p><a href="http://www.jonathanmedd.net/wp-content/uploads/2011/04/Adprep3.png"><img class="aligncenter size-full wp-image-1631" title="Adprep3" src="http://www.jonathanmedd.net/wp-content/uploads/2011/04/Adprep3.png" alt="" width="190" height="202" /></a></p>
<p><strong>adprep32 /forestprep</strong></p>
<p><a href="http://www.jonathanmedd.net/wp-content/uploads/2011/04/Adprep4.png"><img class="aligncenter size-full wp-image-1634" title="Adprep4" src="http://www.jonathanmedd.net/wp-content/uploads/2011/04/Adprep4.png" alt="" width="644" height="162" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanmedd.net/2011/04/running-ad-schema-update-for-2008-r2-in-a-32-bit-dc-environment.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tivoli Monitoring, WMI and Server Buffers Full</title>
		<link>http://www.jonathanmedd.net/2010/08/tivoli-monitoring-wmi-and-server-buffers-full.html</link>
		<comments>http://www.jonathanmedd.net/2010/08/tivoli-monitoring-wmi-and-server-buffers-full.html#comments</comments>
		<pubDate>Thu, 26 Aug 2010 15:48:28 +0000</pubDate>
		<dc:creator>Jonathan Medd</dc:creator>
				<category><![CDATA[powershell]]></category>
		<category><![CDATA[windows server 2003]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[wmi]]></category>

		<guid isPermaLink="false">http://www.jonathanmedd.net/?p=1361</guid>
		<description><![CDATA[If you run Tivoli Monitoring 6.2 to monitor Windows Server systems and use other applications to query WMI, e.g. PowerShell and Get-WmiObject, then you may receive the error &#8216;Server buffers are full and data cannot be accepted&#8217;. Restarting the WMI service will temporaily clear it, but the issue is liable to come back again. This [...]]]></description>
			<content:encoded><![CDATA[<p>If you run Tivoli Monitoring 6.2 to monitor Windows Server systems and use other applications to query WMI, e.g. PowerShell and Get-WmiObject, then you may receive the error &#8216;Server buffers are full and data cannot be accepted&#8217;.</p>
<p>Restarting the WMI service will temporaily clear it, but the issue is liable to come back again. This can occur because of a file handle leak in the ITM Windows OS agent when collecting &#8220;Processor Information&#8221; attribute group.</p>
<p>There is a fix for this issue available from the below website.</p>
<p><a href="http://www-01.ibm.com/support/docview.wss?rs=2292&amp;context=SSRM2J&amp;dc=DB550&amp;uid=swg1IZ51505&amp;loc=en_US&amp;cs=UTF-8&amp;lang=en&amp;rss=ct2292tivoli">http://www-01.ibm.com/support/docview.wss?rs=2292&amp;context=SSRM2J&amp;dc=DB550&amp;uid=swg1IZ51505&amp;loc=en_US&amp;cs=UTF-8&amp;lang=en&amp;rss=ct2292tivoli</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanmedd.net/2010/08/tivoli-monitoring-wmi-and-server-buffers-full.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows 2003 Password Policy &#8211; Complexity Requirements Message</title>
		<link>http://www.jonathanmedd.net/2009/02/windows-2003-password-policy-complexity-requirements-message.html</link>
		<comments>http://www.jonathanmedd.net/2009/02/windows-2003-password-policy-complexity-requirements-message.html#comments</comments>
		<pubDate>Mon, 02 Feb 2009 21:13:00 +0000</pubDate>
		<dc:creator>Jonathan Medd</dc:creator>
				<category><![CDATA[password policy]]></category>
		<category><![CDATA[windows server 2003]]></category>

		<guid isPermaLink="false">http://jonathanmedd.wordpress.com/2009/02/02/windows-2003-password-policy-complexity-requirements-message/</guid>
		<description><![CDATA[Doing a lot of investigation into password policies available in Windows Server 2003 and 2008 at the minute, plus some of the third-party solutions available around this area. One of the reasons I&#8217;ve never myself recommend using the &#8216;Complexity On&#8217; feature in Windows Server is the sheer difficulty in trying to explain to users that [...]]]></description>
			<content:encoded><![CDATA[<p>Doing a lot of investigation into password policies available in Windows Server 2003 and 2008 at the minute, plus some of the third-party solutions available around this area.</p>
<p>One of the reasons I&#8217;ve never myself recommend using the &#8216;Complexity On&#8217; feature in Windows Server is the sheer difficulty in trying to explain to users that you need to use characters from at least three of the following four groups:</p>
<ul>
<li>Uppercase</li>
<li>Lowercase</li>
<li>Digits</li>
<li>Special Characters</li>
</ul>
<p>They typically switch off as soon as you get to the &#8230;at least three&#8230;. part of the above sentence and to be honest I don&#8217;t really blame them.</p>
<p>Even if you do head down this solution (good luck to you!) the message a user gets back when they fail to change their password successfully is fairly generic and does not even mention the fact that complexity is in use.</p>
<p>However, today I was made aware of a <a href="http://support.microsoft.com/kb/821425">hotfix for Windows 2003</a> (and associated clients) where the user will now see mention of complexity requirements in the message they receive back. Since I&#8217;ve never heard or seen anyone else using this before I thought it was worth mentioning since it might make your deployment a bit smoother.</p>
<p>I&#8217;ve yet to test this out myself, but I guess you gotta trust the KB article <img src='http://www.jonathanmedd.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanmedd.net/2009/02/windows-2003-password-policy-complexity-requirements-message.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

