<?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>vStable.com</title>
	<atom:link href="http://www.vstable.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.vstable.com</link>
	<description>Technology you can count on...</description>
	<lastBuildDate>Sat, 28 Jan 2012 07:53:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>vCenter 5 Active Directory Web Services Error 1209</title>
		<link>http://www.vstable.com/2012/01/27/vcenter-5-active-directory-web-services-error-1209/</link>
		<comments>http://www.vstable.com/2012/01/27/vcenter-5-active-directory-web-services-error-1209/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 00:46:31 +0000</pubDate>
		<dc:creator>Josh Perkins</dc:creator>
				<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Active Directory Web Services]]></category>
		<category><![CDATA[ADAM]]></category>
		<category><![CDATA[vCenter]]></category>

		<guid isPermaLink="false">http://www.vstable.com/?p=332</guid>
		<description><![CDATA[After upgrading to vCenter 5 running on Windows Server 2008 R2 you may begin seeing an ADWS event with ID 1209 logged in the Active Directory Web Services event log within the Windows Event Viewer. This event will be logged once per minute with the following text: &#8220;Active Directory Web Services encountered an error while [...]]]></description>
			<content:encoded><![CDATA[<p>After upgrading to vCenter 5 running on Windows Server 2008 R2 you may begin seeing an ADWS event with ID 1209 logged in the Active Directory Web Services event log within the Windows Event Viewer. This event will be logged once per minute with the following text:</p>
<p><em>&#8220;Active Directory Web Services encountered an error while reading the settings for the specified Active Directory Lightweight Directory Services instance.  Active Directory Web Services will retry this operation periodically. In the mean time, this instance will be ignored. Instance name: ADAM_VMwareVCMSDS&#8221;</em></p>
<p>This event by itself is not something that should cause you to believe your vCenter installation is not working properly. Essentially what is occurring is that the VMwareVCMSDS ADAM instance does not have a valid SSL Port set within the registry. You can confirm this by browsing to the following registry location on your vCenter server:</p>
<p><strong>[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ADAM_VMwareVCMSDS\Parameters]</strong></p>
<p>You should see that the <strong>Port SSL</strong> registry entry is either missing or does not contain a value. You can simply add the REG_DWORD value while you are already in the registry with the value of <strong>636</strong>. Or you can use the below Microsoft approved method to add the port value.</p>
<p><strong><span style="text-decoration: underline;">Add ADAM_VMwareVCMSDS SSL Port Value</span></strong></p>
<ol>
<li>Stop the vCenter ADAM instance within the Microsoft Services Control Panel. The service name is <strong>VMwareVCMSDS. </strong>Optionally, you simply run <strong>net stop vmwarevcmsds</strong> from an elevated command prompt.</li>
<li>At a command prompt, type <strong>dsdbutil</strong>.</li>
<li>Within the dsdbutil, type <strong>activate instance VMwareVCMSDS</strong>.</li>
<li>Type <strong>SSL port 636</strong>.</li>
<li>Type <strong>Quit</strong>.</li>
<li>Type <strong>net start vmwarevcmsds</strong>.</li>
</ol>
<p>Once the service starts, I highly suggest you reboot the vCenter server to allow all the vCenter services as well as the Microsoft Active Directory Web Services service to restart. If you don&#8217;t reboot the server you may encounter a fairly nondescript error message when attempting to logon using the vSphere Client until you reboot.</p>
<p>VMware has issued a KB for this particular issue:<br /><a href="http://kb.vmware.com/kb/1023864">Active Directory Web Services fails to read the settings for the specified Active Directory Lightweight Directory Services instance</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstable.com/2012/01/27/vcenter-5-active-directory-web-services-error-1209/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Replacing vCenter SSL Certificate with Certificate Issued by Microsoft Certificate Authority</title>
		<link>http://www.vstable.com/2011/12/14/replacing-vcenter-ssl-certificate-with-certificate-issued-by-microsoft-certificate-authority/</link>
		<comments>http://www.vstable.com/2011/12/14/replacing-vcenter-ssl-certificate-with-certificate-issued-by-microsoft-certificate-authority/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 22:46:37 +0000</pubDate>
		<dc:creator>Josh Perkins</dc:creator>
				<category><![CDATA[Virtualization Security]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[CSR]]></category>
		<category><![CDATA[Microsoft Certificate Authority]]></category>
		<category><![CDATA[RSA]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[vCenter]]></category>

		<guid isPermaLink="false">http://www.vstable.com/?p=269</guid>
		<description><![CDATA[Note: vCenter 5 introduced a new &#8220;Inventory&#8221; service that communicates over its own web services port and uses its own SSL certificate. vCenter 5 specific instructions will be noted below. Step 1 To proceed with the below process you will need to install the latest version of OpenSSL on Windows/Linux or optionally you can leverage [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Note:</strong> vCenter 5 introduced a new &#8220;Inventory&#8221; service that communicates over its own web services port and uses its own SSL certificate. vCenter 5 specific instructions will be noted below.
</p>
<div>
<table style="border-collapse:collapse" border="0">
<colgroup>
<col style="width:71px"/>
<col style="width:567px"/></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid 0.5pt; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><strong>Step 1</strong></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid 0.5pt; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p>To proceed with the below process you will need to install the latest version of <a href="http://www.slproweb.com/products/Win32OpenSSL.html" target="_blank">OpenSSL</a> on Windows/Linux or optionally you can leverage the OpenSSL install on a VMware Management Assistant (vMA) appliance.
</p>
<p><strong>Tip:</strong> If you install OpenSSL on Windows you will need to set the environment variable OPENSSL_CONF to the directory where the default openssl.cfg file is located (this is typically c:\OpenSSL-Win32\bin\openssl.cfg). In the default scenario, at the command-prompt type <span style="font-family:Courier New">set OPENSSL_CONF=c:\openssl-win32\bin\openssl.cfg</span>
						</p>
<p>You can confirm the environment variable is correct by simply typing <span style="font-family:Courier New">set </span>at the command prompt and looking for the OPENSSL_CONF line.</p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><strong>Step 2</strong></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p>The very first item you will need to create is the replacement certificate <em>Private Key</em>.
</p>
<p>At a command-prompt type <span style="font-family:Courier New">openssl genrsa 2048 &gt; rui.key<br />
</span></p>
<p>This will create a file within your current working directory called &#8220;rui.key&#8221;—this is your <em>private key</em>.</p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><strong>Step 3</strong></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p>Using the private key you will need to create a Certificate Signing Request (CSR) used by your Certificate administrator (or alternately used by a public/commercial Certificate Authority) to issue the <em>Public Key</em>.
</p>
<p>At the command-prompt type <span style="font-family:Courier New">openssl req –new –key rui.key &gt; rui.csr<br />
</span></p>
<p>You will be prompted for the following information:
</p>
<ul>
<li>Country Name (2 letter code): <span style="font-family:Courier New">US</span>
							</li>
<li>State or Province Name (full name): <span style="font-family:Courier New">California</span>
							</li>
<li>Locality Name (eg City): <span style="font-family:Courier New">San Francisco</span>
							</li>
<li>Organization Name (eg Company): <span style="font-family:Courier New">DuckWorks</span>
							</li>
<li>Organizational Unit Name (eg Section): <span style="font-family:Courier New">Information Technology</span>
							</li>
<li>Common Name (this is your fully qualified server name): <span style="font-family:Courier New">vCenter.duckworks.com</span>
							</li>
<li>Email Address: &lt;don&#8217;t enter one&gt;
</li>
<li>A challenge password: &lt;don&#8217;t enter one&gt;
</li>
<li>An optional company name: &lt;don&#8217;t enter one&gt;
</li>
</ul>
<p>This will create a file within your current working directory called rui.key—this is your Certificate Signing Request (CSR).</p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><strong>Step 4</strong></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p>Using notepad or any file editor, open the file rui.csr you created in step 3 above.  Copy the text starting with (including) <em>&#8212;&#8211;BEGIN CERTIFICATE REQUEST&#8212;&#8211;</em> and ending (including) <em>&#8212;&#8211;END CERTIFICATE REQUEST&#8212;&#8211;</em>.
</p>
<p style="text-align: center"><img src="http://www.vstable.com/wp-content/uploads/2011/12/121411_2246_ReplacingvC114.png" alt=""/></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><strong>Step 5</strong></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p>You are now going to create the replacement certificate <em>Public Key </em>using a Microsoft Certificate Authority<em>.<br />
</em></p>
<ol>
<li>Browse to your Microsoft Certificate Authority website (usually <a>https://&lt;servername&gt;/certsrv/</a>). Note: Your Certificate Authority may not use https but may be accessible using <a>http://&lt;servername&gt;/certsrv/</a>.
</li>
<li>Select <em>Request a Certificate</em>.
</li>
<li>Select <em>Advanced Certificate Request</em>.
</li>
<li>Select <em>Submit a certificate request by using a base-64-encoded CMC or PKCS #10 file, or submit a renewal request by using a base-64-encoded PKCS #7 file.</em>
							</li>
<li>Copy the contents gathered in Step 4 into the textbox (you can also browse to your CSR file as well).
</li>
<li>Select the <em>Web Server</em> Certificate Template.
</li>
<li> Select <em>Submit</em>.
</li>
<li>Select <em>Base 64 encoded</em> option.
</li>
<li>Select <em>Download certificate</em>
							</li>
<li><strong>Important</strong>: When saving the certificate make sure you rename the certificate to rui.crt (note the .CRT file extension—don&#8217;t leave .CER as the file extension). When saving a base64 type certificate, .cer and .crt are interchangeable.
</li>
</ol>
<p>You can open the rui.crt file within Windows and it should look similar to the following:
</p>
<p style="text-align: center"><img src="http://www.vstable.com/wp-content/uploads/2011/12/121411_2246_ReplacingvC211.png" alt=""/></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><strong>Step 6</strong></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p>Create a PFX (pkcs12) file containing the public and private key pairs.
</p>
<ol>
<li>Copy the two files rui.key and rui.crt into a folder (it&#8217;s easier to keep the files together).
</li>
<li>Using a command-prompt, type <span style="font-family:Courier New">openssl pkcs12 –export –in rui.crt –inkey rui.key –name rui –passout pass:testpassword –out rui.pfx </span>(note: using &#8220;testpassword&#8221; is significant because it&#8217;s used as the keystore password in the Tomcat server.xml file—you can use a different password to secure the PFX file but you will need to update the server.xml file to match the password you used.)
</li>
<li>Copy all three files (rui.crt, rui.key, rui.pfx) to C:\ProgramData\VMware\Vmware VirtualCenter\SSL\ (WIN2008) (recommend archiving the existing SSL certificates).
</li>
<li>From the command-prompt, type <span style="font-family:Courier New">net stop vpxd </span>(This will stop your core vCenter service so make sure you have a maintenance window).
</li>
<li>From the command-prompt, change your directory (CD) to the installation path of vCenter.
</li>
<li>From the command-prompt, type <span style="font-family:Courier New">vpxd –p </span>(you will be prompted for the database password used on your ODBC connection—the password will be re-encrypted using the new certificate).
</li>
<li>From the command-prompt, type <span style="font-family:Courier New">net start vpxd</span></li>
</ol>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><strong>Step 7</strong></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><strong>This step is for vCenter 5 only.</strong> Use the following steps to replace the certificate used by the vCenter 5 Inventory service. This process is simple because you can use the certificate generated using the steps above for the inventory service.
</p>
<ol>
<li>Copy rui.key, rui.crt, and rui.pfx to your vCenter Inventory Service installation path (ex. C:\Program Files\VMware\Infrastructure\Inventory Service\SSL\)
</li>
<li>Restart the vCenter Inventory Service within the Windows Service Control panel (services.msc).</li>
</ol>
</td>
</tr>
</tbody>
</table>
</div>
<p>After following the above steps your vCenter server will now be using the new certificate for all web services. Additionally, you will no longer be presented with a certificate warning popup when using the vSphere Client if the certificate authority that issued the replacement certificate is trusted by your computer (in this specific case any domain joined computers will automatically trust all certificates issued by your internal enterprise Microsoft Certificate Authority).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstable.com/2011/12/14/replacing-vcenter-ssl-certificate-with-certificate-issued-by-microsoft-certificate-authority/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>vSphere ESXi 4.1 Password Policy Does Not Persist Across Reboot</title>
		<link>http://www.vstable.com/2011/07/27/vsphere-esxi-4-1-password-policy-does-not-persist-across-reboot/</link>
		<comments>http://www.vstable.com/2011/07/27/vsphere-esxi-4-1-password-policy-does-not-persist-across-reboot/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 06:32:45 +0000</pubDate>
		<dc:creator>Josh Perkins</dc:creator>
				<category><![CDATA[Virtualization Security]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://www.vstable.com/?p=244</guid>
		<description><![CDATA[Stumbled upon an issue with the latest release of vSphere ESXi 4.1 Update 1 (fully patched) where following VMware KB 1032666 to modify ESXi default password hashing from MD5 to something stronger such as SHA-256 or SHA-512. Some federal government agencies cannot use MD5 for password hashing since it considered cracked (see wikipedia MD5). Tried [...]]]></description>
			<content:encoded><![CDATA[<p>Stumbled upon an issue with the latest release of vSphere ESXi 4.1 Update 1 (fully patched) where following VMware <a href="http://kb.vmware.com/kb/1032666" target="_blank">KB 1032666</a> to modify ESXi default password hashing from MD5 to something stronger such as SHA-256 or SHA-512. Some federal government agencies cannot use MD5 for password hashing since it considered cracked (see wikipedia <a href="http://en.wikipedia.org/wiki/MD5" title="Wikipedia MD5" target="_blank">MD5</a>). Tried two different &#8220;approved&#8221; ways to edit the system-auth PAM file. One, use [#chmod 644 system-auth] to set permissions on the file so that it is user editable (or just use :wq! after editing). Two, use [#chmod +t system-auth] before editing. Unfortunately, after a reboot the system-auth file returns back to its pre-edited version.</p>
<p>I opened an SR with VMware and they in turn opened a PR and shortly thereafter confirmed the issue is not by design and in-fact is a bug. VMware estimates that this issue will be resolved in the Update 2 release of vSphere ESXi 4.1. Haven&#8217;t had a chance to see if the issue is present in vSphere ESXi 5.0.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstable.com/2011/07/27/vsphere-esxi-4-1-password-policy-does-not-persist-across-reboot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managing Microsoft Certificate Authority Certificate Lifecycle using Powershell</title>
		<link>http://www.vstable.com/2011/02/08/managing-microsoft-certificate-authority-certificate-lifecycle-using-powershell/</link>
		<comments>http://www.vstable.com/2011/02/08/managing-microsoft-certificate-authority-certificate-lifecycle-using-powershell/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 06:20:21 +0000</pubDate>
		<dc:creator>Josh Perkins</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[ca]]></category>
		<category><![CDATA[certificate authority]]></category>
		<category><![CDATA[certutil]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[powershell]]></category>

		<guid isPermaLink="false">http://www.vstable.com/?p=221</guid>
		<description><![CDATA[Why is it that Microsoft makes creating and issuing certificates from a Microsoft Certificate Authority (CA) so easy yet makes managing the certificate lifecycle (revocation, expiration, renewal) so difficult? In less than 30 minutes, somebody with a basic knowledge of Windows can successfully create and begin issuing digital certificates from an internal Microsoft CA. The [...]]]></description>
			<content:encoded><![CDATA[<p>Why is it that Microsoft makes creating and issuing certificates from a Microsoft Certificate Authority (CA) so easy yet makes managing the certificate lifecycle (revocation, expiration, renewal) so difficult? In less than 30 minutes, somebody with a basic knowledge of Windows can successfully create and begin issuing digital certificates from an internal Microsoft CA. The problems start once an administrator realizes that issued certificates are very difficult to track and manage&#8211;using a largely manual process. For example, assume a certificate is issued to provide SSL over HTTPS for a web server. The certificate template is likely going to specify the certificate is good for at least two (2) years. When you least expect it two years pass and the certificate unexpectedly expires and causes a service outage. Now extrapolate a bit, consider an environment where you have hundreds of webservers and thousands of issued certificates. All of the sudden a &#8220;manual&#8221; process is no longer viable.</p>
<p>Microsoft surely must have provided a way to directly manage their CA implementation through script&#8230;right? Unfortunately they didn&#8217;t. Microsoft provides access to their CA through a command-line tool &#8220;certutil&#8221; and also minimally through COM. Management through <a href="http://translate.google.com/translate?js=n&amp;prev=_t&amp;hl=no&amp;ie=UTF-8&amp;layout=2&amp;eotf=1&amp;sl=ru&amp;tl=en&amp;u=http%3A%2F%2Fwww.sysadmins.lv%2FPermaLink%2Cguid%2C3b1e908d-057b-4d06-8856-83ec63b72a7c.aspx" target="_blank">COM is possible</a> but likely a complicated endeavor for the non-programmer. Ideally, Microsoft would have provided an easily accessible API that&#8217;s consumable by VBScript or Powershell. However, with recent changes to the certutil command-line tool in Windows Server 2008, Windows Vista and Windows 7, and some quick Powershell magic a decent certificate management tool is possible.</p>
<p>The following Powershell script exports the full list of issued certificates from a Microsoft CA using certutil and saves the certificate information as a CSV file. The CSV file is then imported and each certificate is checked to see if it falls within the certificate expiration window (definable in script). An e-mail is generated that contains basic certificate information for certificates that fall within the expiration window. This script can be scheduled to run using Microsoft Task Scheduler. Remember, this will only work if run on a Windows Server 2008, Windows Vista or Windows 7 computer due to the &#8220;CSV&#8221; option only being available in later versions of certutil.</p>
<pre class="brush: powershell; title: ; notranslate">
# variables
[string]$caServerName = &quot;&lt;your ca server name\ca name&gt;&quot;
[string]$caCertExportPath = &quot;c:\Temp\certlist.csv&quot;
[string]$smtpSender = &quot;no-reply@your-domain.com&quot;
[string]$smtpRecipient = &quot;user@your-domain.com&quot;
[string]$smtpServer = &quot;&lt;fqdn of SMTP server&gt;&quot;
[int]$daysUntilExpiry = 30
$expiringCerts = @()

function Send-EmailCertNotice ([string]$_certificateList) {
$MailMessage = @{
    To = $smtpRecipient
    From = $smtpSender
    Subject = @&quot;
The following issued digital certificates will expire soon.
&quot;@
    Body = @&quot;
The following digital certificates issued by &lt;your_company_name&gt; will expire in the next ($daysUntilExpiry) days.
Please request a certificate replacement/renewal from &lt;e-mail@your-domain.com&gt; if the following certificates are still needed.
$_certificateList
NOTE: This notification is being sent by an automated certificate management process and
cannot receive reply e-mail. If you have any questions please contact &lt;e-mail@your-domain.com&gt;.
&quot;@
    Smtpserver = $smtpServer
	BodyAsHtml = $false
    ErrorAction = &quot;SilentlyContinue&quot;
	}

Send-MailMessage @MailMessage

}

# export certs to CSV file
certutil -view -config $caServerName csv &gt; $caCertExportPath

# load cert CSV into an array
$issuedCerts = Import-Csv $caCertExportPath
if ($issuedCerts.Length -gt 0) {
	foreach ($cert in $issuedCerts) {
		try {
			$certExpires = [datetime]$cert.&quot;Certificate Expiration Date&quot;
			$cert.&quot;Certificate Expiration Date&quot; = $certExpires
		}
		catch [Exception] {

		}

		if ($certExpires -gt $(Get-Date) -and $certExpires -lt $(Get-Date).AddDays($daysUntilExpiry)) {
# filter out EFS type certs.
			if ($cert.&quot;Certificate Template&quot; -ne &quot;EFS&quot;) {
				$expiringCerts += $cert
			}
		}
	}

	$bodyVal = $expiringCerts | Select-Object @{n=&quot;Certificate ID&quot;; e=&quot;Request ID&quot;},
	&quot;Certificate Template&quot;, &quot;Certificate Expiration Date&quot;, &quot;Issued Common Name&quot;,
	&quot;Serial Number&quot; | Sort-Object &quot;Certificate Expiration Date&quot; | Out-String
	Send-EmailCertNotice $bodyVal

}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.vstable.com/2011/02/08/managing-microsoft-certificate-authority-certificate-lifecycle-using-powershell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>vSphere 4.1 Security Hardening Guide (draft)</title>
		<link>http://www.vstable.com/2011/01/19/vsphere-4-1-security-hardening-guide-draft/</link>
		<comments>http://www.vstable.com/2011/01/19/vsphere-4-1-security-hardening-guide-draft/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 02:41:00 +0000</pubDate>
		<dc:creator>Josh Perkins</dc:creator>
				<category><![CDATA[VMware]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[esx]]></category>
		<category><![CDATA[esxi]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[hardening]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[vSphere]]></category>

		<guid isPermaLink="false">http://www.vstable.com/?p=168</guid>
		<description><![CDATA[This document is the public draft release of the vSphere 4.1 Security Hardening Guide.  This guide is an incremental update to the vSphere 4.0 Security Hardening Guide based on new and changed features of vSphere.  Please provide your feedback in the comments section.  This draft will remain posted for comments until approximately the end of [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>This document is the public draft release of the vSphere 4.1 Security Hardening Guide.  This guide is an incremental update to the vSphere 4.0 Security Hardening Guide based on new and changed features of vSphere.  Please provide your feedback in the comments section.  This draft will remain posted for comments until approximately the end of February 2011.</p>
<p>Link to document: <a href="http://communities.vmware.com/docs/DOC-14548" target="_blank">vSphere 4.1 Security Hardening Guide (draft)</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.vstable.com/2011/01/19/vsphere-4-1-security-hardening-guide-draft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chrome Extension &#8211; &#8220;Neat Bookmarks&#8221;</title>
		<link>http://www.vstable.com/2011/01/16/chrome-extension-neat-bookmarks/</link>
		<comments>http://www.vstable.com/2011/01/16/chrome-extension-neat-bookmarks/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 07:54:56 +0000</pubDate>
		<dc:creator>Josh Perkins</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Neat Bookmarks]]></category>

		<guid isPermaLink="false">http://www.vstable.com/?p=160</guid>
		<description><![CDATA[I think I have some form of &#8220;web browser OCD&#8221;&#8230; Despite having a choice between lots of options I can&#8217;t seem to find a single web browser that works for all my needs. Over the last year I have jumped between Internet Explorer (IE), Firefox, Chrome, Safari and some other less known browsers, typically using [...]]]></description>
			<content:encoded><![CDATA[<p>I think I have some form of &#8220;web browser OCD&#8221;&#8230; Despite having a choice between lots of options I can&#8217;t seem to find a single web browser that works for all my needs. Over the last year I have jumped between Internet Explorer (IE), Firefox, Chrome, Safari and some other less known browsers, typically using each for about a week before I give up due to some minor issue. I have found that I keep going back to using IE even though I tend to enjoy browsing the web with Firefox and Chrome much more. Why? Mostly due to compatibility issues. Lets face it, the majority (<a href="http://marketshare.hitslink.com/report.aspx?qprid=0" target="_blank">57.08%</a>) browsers used on the Internet are IE, as a result, web designers continue building webpages for the masses who are likely using IE. I especially have problems with banking websites; some of which unfortunately use ActiveX controls for extended functionality like TWAIN scanning.</p>
<p>Of all the browser options, I tend to enjoy Google&#8217;s Chrome browser the most. Though, I keep giving up on Chrome because I use a lot of bookmarks and Chrome has historically handled bookmarks poorly. For example, within the native Chrome UI one must set the homepage to &#8220;Use the new tab page&#8221; in order to see a tree-view style bookmarks menu. Alternately, a Chrome user could access his bookmarks using the Bookmark Manager, though, the Bookmark Manager by-design fills the entire web UI and clicking on any one bookmark opens the webpage in a <em>new</em> tab instead of in the same tab the Bookmark Manager is running in&#8211;not a sleek implementation in my opinion.</p>
<p>Funny thing, even though I already extend Chrome with extensions I never considered looking for a Chrome extension that provided a tree-view style bookmark menu until a couple days ago. I stumbled across an extension called <a href="https://chrome.google.com/extensions/detail/nnancliccjabjjmipbpjkfbijifaainp?hl=en" target="_blank">Neat Bookmarks</a> which provides a great bookmark UI experience similar to IE&#8217;s bookmark tree-view and is accessible as a single toolbar button. If you are looking for a more traditional bookmark menu in Chrome I recommend you give <a href="https://chrome.google.com/extensions/detail/nnancliccjabjjmipbpjkfbijifaainp?hl=en" target="_blank">Neat Bookmarks</a> a try. I hope now that I have found a solution to my bookmark woes in Chrome I can start focusing on other issues other than browser brand.</p>
<p><a href="http://www.vstable.com/wp-content/uploads/2011/01/neat_bookmarks_img1.png"><img class="aligncenter size-full wp-image-161" title="neat_bookmarks_img1" src="http://www.vstable.com/wp-content/uploads/2011/01/neat_bookmarks_img1.png" alt="" width="322" height="427" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstable.com/2011/01/16/chrome-extension-neat-bookmarks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Whitepaper &#8211; Maximizing VM Performance</title>
		<link>http://www.vstable.com/2010/12/04/155/</link>
		<comments>http://www.vstable.com/2010/12/04/155/#comments</comments>
		<pubDate>Sat, 04 Dec 2010 19:32:37 +0000</pubDate>
		<dc:creator>Josh Perkins</dc:creator>
				<category><![CDATA[VMware]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://www.vstable.com/?p=155</guid>
		<description><![CDATA[Mattias Sundling over at Quest has put together a brief whitepaper titled &#8220;Maximizing VM Performance&#8221;. It is not intended to be a deep-dive but it covers the main VM performance considerations in plain terms. Check it out here: Maximizing VM Performance]]></description>
			<content:encoded><![CDATA[<p>Mattias Sundling over at Quest has put together a brief whitepaper titled &#8220;Maximizing VM Performance&#8221;. It is not intended to be a deep-dive but it covers the main VM performance considerations in plain terms.</p>
<p>Check it out here: <a href="http://vcommunity.vizioncore.com/monitoring/vfoglight/b/weblog/archive/2010/12/03/whitepaper-maximizing-virtual-machine-performance.aspx" target="_self">Maximizing VM Performance</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstable.com/2010/12/04/155/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMware vSphere Native iPad Application</title>
		<link>http://www.vstable.com/2010/11/30/vmware-vsphere-native-ipad-application/</link>
		<comments>http://www.vstable.com/2010/11/30/vmware-vsphere-native-ipad-application/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 02:29:00 +0000</pubDate>
		<dc:creator>Josh Perkins</dc:creator>
				<category><![CDATA[VMware]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[vCenter]]></category>
		<category><![CDATA[vCMA]]></category>
		<category><![CDATA[vSphere]]></category>

		<guid isPermaLink="false">http://www.vstable.com/?p=146</guid>
		<description><![CDATA[I find it a bit interesting, but not surprising, that VMware is soon going to be releasing a native iPad application providing similar functionality that is found in the vSphere client for Windows. I wonder why VMware is utilizing programming resources on the iPad when they have yet to come to market with a supported Linux version of [...]]]></description>
			<content:encoded><![CDATA[<p>I find it a bit interesting, but not surprising, that VMware is soon going to be releasing a native iPad application providing similar functionality that is found in the vSphere client for Windows. I wonder why VMware is utilizing programming resources on the iPad when they have yet to come to market with a supported Linux version of vCenter? For many years virtualization administrators in Linux/Unix shops have been telling VMware that vCenter and its associated database server and vSphere clients are the only Windows boxes they support and would very much appreciate a fully functional vCenter and client for Linux. Back in 2008, VMware was <a href="http://news.cnet.com/8301-1001_3-10045774-92.html" target="_blank">saying</a> they would be releasing versions of vCenter running on Linux along with familiar Windows versions. Still waiting&#8230; (a limited CTP version does exist <a href="http://communities.vmware.com/community/beta/vcserver_linux" target="_blank">here</a>).</p>
<p>I also wonder if VMware has given up on the <a href="http://communities.vmware.com/community/beta/vcmobileaccess" target="_blank">vCenter Mobile Access (vCMA)</a> product since it is still in a community technology preview version, there have been no major enhancements, and its been a long time since it was introduced. The vCMA had the &#8220;cool&#8221; factor when it was released&#8211;I remember showing people how I could vMotion a VM from one ESX host to another from my Blackberry. That cool factor faded away to the point where I haven&#8217;t used the vCMA in over a year&#8211;it&#8217;s just too kludgy to get anything done. Is the iPad vSphere application the new vCMA&#8211;the new vendor specific application that will introduce the iPad into corporate virtualization environments? Will it take over the functionality of the vCMA?</p>
<p>Don&#8217;t get me wrong, I see tremendous possibilities for the iPad within the corporate environment. The VMware vSphere iPad application could be very useful to large organizations that have lots of ESX hosts. Imagine an administrator being able to evacuate and place an ESX host in maintenance mode while troubleshooting a hardware issue within the datacenter (or from Hawaii on business). I can even see the VMware vSphere iPad application allowing virtualization administrators to manage a significant portion of their daily workload away from the office.</p>
<p>In conclusion, it&#8217;s great that VMware is working on new innovative ways to enhance access to vCenter from various devices; however, if I had my way I would rather VMware spend more time doing the following (in this order):</p>
<ol>
<li>Enhance the vCenter product for Windows. When I say &#8220;enhance&#8221; I mean work on the fit-and-finish of the product. All too often I am presented with ambiguous error messages or stumble on a failed process, yet the event reporting within vCenter can&#8217;t seem to tell me what&#8217;s wrong.</li>
<li>Work on the overall performance of the vCenter UI. There are reports all over the Internet of the horrific performance within the vCenter user interface. I see it everyday. Viewing inventory takes 10 seconds to load up once the vCenter interface is visible (this doesn&#8217;t count the time to logon and load the plugins). Granted, performance is linked to hardware specifics and one must build an appropriate server environment to support vCenter; though, I am talking about poor performance on vCenter servers running with new multiple Xeon quad-cores with 8GB+ physical memory with a large dedicated physical DB server back-end.</li>
<li>Enable performance monitoring across all hosts from a single UI window. Since a DRS cluster is essentially a pool of CPU and memory resources&#8211;why are we still required to troubleshoot performance by analyzing single ESX servers (think esxtop)?</li>
<li>Enhance command-line troubleshooting tools. For example, an esxtop command that has a global view of clusters and storage. Yes it&#8217;s great to see the read/write MBps to a specific VMFS LUN but I want to see the total across all hosts not just the localized view of a single ESX host.</li>
<li>Stop developing  new features that are only added to the growing list of VMware products including vCloud Director, vCloud Request Manager, Orchestrator, CapacityIQ, Site Recovery Manager, Lab Manager, and Configuration Manager. Put some of the features in vCenter for continued value-add. For example, why haven&#8217;t we seen simple Virtual Machine replication in vCenter?</li>
<li>Finish and release a fully functional Linux vCenter server with associated Linux vSphere client.</li>
<li>Create better quality upgrade and patch bundles. Why do customers cross their fingers hoping everything is going to work as expected after upgrading vCenter or an ESX host? How many times have I seen an upgrade break vCenter (for example, certificates, web services, health monitoring)? Answer, many times.</li>
<li>(last) Develop a mobile vSphere client.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.vstable.com/2010/11/30/vmware-vsphere-native-ipad-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vCenter Server 4.1 DRS Groups</title>
		<link>http://www.vstable.com/2010/08/03/vcenter-server-drs-groups/</link>
		<comments>http://www.vstable.com/2010/08/03/vcenter-server-drs-groups/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 15:31:23 +0000</pubDate>
		<dc:creator>Josh Perkins</dc:creator>
				<category><![CDATA[VMware]]></category>
		<category><![CDATA[DRS Groups]]></category>
		<category><![CDATA[vCenter]]></category>

		<guid isPermaLink="false">http://www.vstable.com/?p=124</guid>
		<description><![CDATA[One of the great new features of VMware vCenter 4.1 is Distributed Resource Scheduler (DRS) Groups. DRS Groups provides functionality that allows separation and placement of virtual machines onto specific ESX/ESXi hosts within a DRS cluster. Using DRS Groups, limiting the available hosts to a virtual machine or group of virtual machines is simple. Why [...]]]></description>
			<content:encoded><![CDATA[<p>One of the great new features of VMware vCenter 4.1 is Distributed Resource Scheduler (DRS) Groups. DRS Groups provides functionality that allows separation and placement of virtual machines onto specific ESX/ESXi hosts within a DRS cluster. Using DRS Groups, limiting the available hosts to a virtual machine or group of virtual machines is simple. Why might you want to use DRS Groups? I can think of many great scenarios where I could use DRS Groups; though, I will discuss one specific example regarding vCenter Server placement.</p>
<p>It is probably safe to assume most VMware administrators have implemented vCenter Server as a virtual machine within a DRS/HA cluster. A virtual vCenter Server running within a DRS/HA cluster provides many great high-availability and manageability benefits; however, there is a specific challenge that has not been solvable until vCenter Server 4.1. In the event vCenter Server become unavailable, an administrator would need to connect directly to an ESX/ESXi host using the vSphere Client where vCenter is located to manage the server there (i.e. open a console connection, restart the vCenter server, power the vCenter server up, etc.). But because vCenter Server is running inside a DRS cluster it is sometimes very time consuming locating the specific ESX/ESXi host where vCenter is running if you have many ESX/ESXi hosts within the DRS/HA cluster. For example, if there are 12 ESX/ESXi hosts running within a DRS cluster; the vCenter server could be running on any one of the 12—could you imagine using the vSphere Client and connecting to up to 12 hosts before locating the vCenter Server? Could you afford wasting 20 minutes during an emergency trying to locate vCenter Server?</p>
<p>Using DRS Groups vCenter Server can be limited to run on a limited number of ESX/ESXi hosts within a DRS cluster. For example, using DRS Groups an administrator can designate three of the 12 hosts where vCenter Server can run. In the event vCenter Server becomes unavailable it would be much easier to locate vCenter if you know it is primarily running on any of three hosts instead of 12 hosts.</p>
<p>The following VMware KB article provides a starting point for you to further investigate DRS Groups: <a href="http://kb.vmware.com/kb/1022842">http://kb.vmware.com/kb/1022842</a> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstable.com/2010/08/03/vcenter-server-drs-groups/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>vscsiStats Support in ESXi</title>
		<link>http://www.vstable.com/2010/06/26/vscsistats-support-in-esxi/</link>
		<comments>http://www.vstable.com/2010/06/26/vscsistats-support-in-esxi/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 00:48:29 +0000</pubDate>
		<dc:creator>Josh Perkins</dc:creator>
				<category><![CDATA[VMware]]></category>
		<category><![CDATA[esxi]]></category>
		<category><![CDATA[perfomance]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[vscsiStats]]></category>

		<guid isPermaLink="false">http://www.vstable.com/?p=116</guid>
		<description><![CDATA[I tend to recommend using ESXi versus ESX for several reasons.  However, this week I was reminded of the shortfalls ESXi has yet to mitigate.  First, in response to a complaint regarding slow storage performance I responded by gathering metrics using various tools available in vSphere (i.e. performance graphs, esxtop, etc.).  I was quickly reminded vscsiStats functionality, [...]]]></description>
			<content:encoded><![CDATA[<p>I tend to recommend using ESXi versus ESX for <a href="http://www.vstable.com/2010/03/31/esx-vs-esxi-debate/" target="_blank">several reasons</a>.  However, this week I was reminded of the shortfalls ESXi has yet to mitigate.  First, in response to a complaint regarding slow storage performance I responded by gathering metrics using various tools available in vSphere (i.e. performance graphs, esxtop, etc.).  I was quickly reminded vscsiStats functionality, a indispensable storage troubleshooting tool, is not available in ESXi.  Scott Drummonds over at Pivot Point (blog) has <a href="http://vpivot.com/2009/10/21/vscsistats-for-esxi/" target="_blank">provided</a> vscsiStats binaries out-of-band that can be installed within an ESXi server.  The problem is that applying these binaries to ESXi is not supported by VMware nor will VMware release security related patches for these unsupported binaries.  There is no &#8220;supported&#8221; workaround for running vscsiStats in ESXi.</p>
<p>The second issue was in regards to troubleshooting a vMotion related problem with a virtual machine (well, what appeared at the time to be a vMotion issue).  Basically, the virtual machine would not vMotion regardless of what was tried.  Even after confirming no virtual devices were causing the problem the only solution was to power off the virtual machine and then perform the migration.  I attempted to review the virtual machine vmware.log file after the virtual machine was powered back on.  Unfortunately, the only way to read a vmware.log file is to view it directly from the console of the ESXi host that is running the virtual machine.  Because SSH is not supported in ESXi (yes, it can be enabled) I was not able to read the vmware.log file remotely.  There is no &#8220;supported&#8221; workaround to remotely view the vmware.log file when using ESXi.</p>
<p>These two issues alone can be deal-breakers for some.</p>
<p><strong>UPDATE 1: </strong>VMware made huge steps towards closing the supportability and functionality gap with the ESXi 4.1 release. The two issues identified above have been mitigated as ESXi 4.1 allows supported command-line access locally and remotely via SSH. Additionally, I am happy to report the vscsiStats tool is now available and officially supported in ESXi 4.1 at /usr/lib/vmware/bin/vscsiStats. Great job VMware!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstable.com/2010/06/26/vscsistats-support-in-esxi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

