<?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>Norman Bauer</title>
	<atom:link href="http://www.normanbauer.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.normanbauer.com</link>
	<description>... just technical stuff!</description>
	<lastBuildDate>Tue, 17 Apr 2012 07:24:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>How to get the number of volumes used by DPM 2010?</title>
		<link>http://www.normanbauer.com/2012/04/16/how-to-get-the-number-of-volumes-used-by-dpm-2010/</link>
		<comments>http://www.normanbauer.com/2012/04/16/how-to-get-the-number-of-volumes-used-by-dpm-2010/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 13:14:39 +0000</pubDate>
		<dc:creator>Norman Bauer</dc:creator>
				<category><![CDATA[Data Protection Manager]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Get-DPMDisk]]></category>
		<category><![CDATA[Volumes]]></category>

		<guid isPermaLink="false">http://www.normanbauer.com/?p=402</guid>
		<description><![CDATA[Just a quick hit that tells you how many volumes Microsoft Data Protection Manager uses. I got 848&#8230;]]></description>
			<content:encoded><![CDATA[<p>Just a quick hit that tells you how many volumes Microsoft Data Protection Manager uses. I got 848&#8230;</p>
<pre class="brush: powershell; title: ; notranslate">
$dpmserver = $env:computername  #localhost or type your dpm server's name here
$dpmdisks = get-dpmdisk -dpmservername $dpmserver
$volumecount = 0
$dpmdisks | ForEach-Object {
  $volumecount += $_.VolumeCount
}
$volumecount
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.normanbauer.com/2012/04/16/how-to-get-the-number-of-volumes-used-by-dpm-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to manage GPOs with vbScript?</title>
		<link>http://www.normanbauer.com/2012/03/16/how-to-manage-gpos-with-vbscript/</link>
		<comments>http://www.normanbauer.com/2012/03/16/how-to-manage-gpos-with-vbscript/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 14:39:08 +0000</pubDate>
		<dc:creator>Norman Bauer</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Group Policies]]></category>
		<category><![CDATA[VBScript]]></category>
		<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.normanbauer.com/?p=375</guid>
		<description><![CDATA[You can do really really cool stuff with gpos in vbScript. I will show you how to export reports and give you some examples what else can be done going the vbScript way… The Group Policy Management console in Windows offers you the possibility to export reports about group policy object&#8217;s settings to html files [...]]]></description>
			<content:encoded><![CDATA[<p>You can do really really cool stuff with gpos in vbScript. I will show you how to export reports and give you some examples what else can be done going the vbScript way…<br />
The Group Policy Management console in Windows offers you the possibility to export reports about group policy object&#8217;s settings to html files &#8211; this, for example, is an excerpt of my default domain controllers policy:</p>
<p><a href="https://www.normanbauer.com/wp-content/uploads/2012/03/gporeport.jpg"><img src="/wp-content/uploads/2012/03/gporeport-450x210.jpg" alt="" title="gporeport" width="450" height="210" class="alignnone size-large wp-image-382" /></a></p>
<p>You can do this (and much more) by script too. Here is how you can do it… You can choose to save this report in a variable to do further processing in your script or you can save it to a file, just like the console does.</p>
<pre class="brush: vb; title: ; notranslate">
Function getGPOHTMLReport(strDomain, strGPOCN)
  Set objGPM = CreateObject(&quot;GPMgmt.GPM&quot;)
  Set objGPMConstants = objGPM.GetConstants()
  Set objGPMDomain = objGPM.GetDomain(strDomain, &quot;&quot;, objGPMConstants.UseAnyDC)
  Set objGPO = objGPMDomain.GetGPO(strGPOCN)
  Set objGPMReport = objGPO.GenerateReport(objGPMConstants.ReportHTML)
  getGPOHTMLReport = objGPMReport.result
End Function

Wscript.echo getGPOHTMLReport(&quot;normanbauer.com&quot;, &quot;{6AC1786C-016F-11D2-945F-00C04fB984F9}&quot;) 'Default Domain Controllers Policy
</pre>
<pre class="brush: vb; title: ; notranslate">
Sub exportGPOHTMLReport(strDomain, strGPOCN, strOutFilename)
  Set objGPM = CreateObject(&quot;GPMgmt.GPM&quot;)
  set objGPMConstants = objGPM.GetConstants()
  set objGPMDomain = objGPM.GetDomain(strDomain, &quot;&quot;, objGPMConstants.UseAnyDC)

  Set objGPO = objGPMDomain.GetGPO(strGPOCN)
  objGPO.GenerateReportToFile objGPMConstants.ReportHTML, strOutFilename
End Sub

exportGPOHTMLReport &quot;normanbauer.com&quot;, &quot;{6AC1786C-016F-11D2-945F-00C04fB984F9}&quot;, &quot;C:\temp\export.html&quot; 'Default Domain Controllers Policy
</pre>
<p>Functions used in the scripts above:</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa814308.aspx">GetConstants</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa814309.aspx">GetDomain</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa814191.aspx">GetGPO</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa814214.aspx">GenerateReport</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa814215.aspx">GenerateReportToFile</a></li>
</ul>
<p>The function above generates the report of the specified gpo (you can find the cn of the gpo ["Unique ID"] in the Group Policy Management console on the details tab of a gpo, or in the System\Policies Container in Active Directory) and returns the html formatted result. The sub does almost the same but does not return the result but saves it to a file specified in strOutFilename.</p>
<p>You can do much more with the GPMgmt.GPM object – almost everything what the console can do, like <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa814190.aspx">creating</a>, <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa814213.aspx">deleting</a> and <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa814212.aspx">copying</a> gpos, <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa814218.aspx">get</a> and <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa814230.aspx">set wmi filters</a> and set the gpo to be enabled or disabled on computer and/or user accounts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.normanbauer.com/2012/03/16/how-to-manage-gpos-with-vbscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to mark a DPM tape containing active recovery points as free</title>
		<link>http://www.normanbauer.com/2012/03/08/how-to-mark-a-dpm-tape-containing-active-recovery-points-as-free/</link>
		<comments>http://www.normanbauer.com/2012/03/08/how-to-mark-a-dpm-tape-containing-active-recovery-points-as-free/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 06:32:25 +0000</pubDate>
		<dc:creator>Norman Bauer</dc:creator>
				<category><![CDATA[Data Protection Manager]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Tapes]]></category>

		<guid isPermaLink="false">http://www.normanbauer.com/?p=368</guid>
		<description><![CDATA[When trying to mark a tape that contains active recovery points as free in Data Protection Manager you&#8217;ll receive an error like this: The selected tapes cannot be marked as free because they belong to protection groups. You need to stop protection of the associated protection groups before you can mark the tapes as free. [...]]]></description>
			<content:encoded><![CDATA[<p>When trying to mark a tape that contains active recovery points as free in Data Protection Manager you&#8217;ll receive an error like this:</p>
<p><a href="https://www.normanbauer.com/wp-content/uploads/2012/03/DPM_marktapeasfree.png"><img class="size-full wp-image-369 alignnone" title="DPM_marktapeasfree" src="/wp-content/uploads/2012/03/DPM_marktapeasfree.png" alt="" width="498" height="178" /></a></p>
<blockquote><p>The selected tapes cannot be marked as free because they belong to protection groups.<br />
You need to stop protection of the associated protection groups before you can mark the tapes as free. The protection group that a tape belongs to is listed in the Protection Group column. (ID: 31116)</p></blockquote>
<p>You can still force DPM to mark the tape as free by removing the recovery points. Use the following script in the DPM Powershell.</p>
<pre class="brush: powershell; title: ; notranslate">
$barcode = &quot;000012L4&quot;     #type the barcode of the tape that shall be marked as free
$dpmserver = &quot;DPMSERVER&quot;  #type your dpm server's name here

$DPMLib = Get-DPMLibrary -DPMServerName $dpmserver
$tape = Get-Tape -DPMLibrary $DPMLib | Where-Object {$_.Barcode.Value -eq $barcode}

foreach ($RecoveryPoint in @(Get-RecoveryPoint -Tape $tape))
{
   Remove-RecoveryPoint -RecoveryPoint $RecoveryPoint -ForceDeletion -Confirm:$false
}
</pre>
<p>I chose to select the tapes by barcode. You can change the code easily to match your needs.</p>
<p><strong>This script will delete all recovery points on the tape identified by its barcode &#8211; so please be careful&#8230;</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.normanbauer.com/2012/03/08/how-to-mark-a-dpm-tape-containing-active-recovery-points-as-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint Health Analyzer: The server farm account should not be used for other services.</title>
		<link>http://www.normanbauer.com/2012/02/01/sharepoint-health-analyzer-the-server-farm-account-should-not-be-used-for-other-services/</link>
		<comments>http://www.normanbauer.com/2012/02/01/sharepoint-health-analyzer-the-server-farm-account-should-not-be-used-for-other-services/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 08:50:14 +0000</pubDate>
		<dc:creator>Norman Bauer</dc:creator>
				<category><![CDATA[Sharepoint Server]]></category>
		<category><![CDATA[Farm Account]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Synchronization]]></category>
		<category><![CDATA[User Profiles]]></category>

		<guid isPermaLink="false">http://www.normanbauer.com/?p=357</guid>
		<description><![CDATA[The Sharepoint Health Analyzer has &#8220;red&#8221; reportings, shown in the Central Administration: The error details for the &#8220;The server farm account should not be used for other services.&#8221; message are: {FarmAccount}, the account used for the SharePoint timer service and the central administration site, is highly privileged and should not be used for any other [...]]]></description>
			<content:encoded><![CDATA[<p>The Sharepoint Health Analyzer has &#8220;red&#8221; reportings, shown in the Central Administration:<br />
<a href="https://www.normanbauer.com/wp-content/uploads/2012/02/sharepoint_health_analyzer_error.png"><img class="size-large wp-image-360" title="SharePoint Health Analyzer Error" src="https://www.normanbauer.com/wp-content/uploads/2012/02/sharepoint_health_analyzer_error-450x77.png" alt="" width="450" height="77" /></a><br />
The error details for the &#8220;The server farm account should not be used for other services.&#8221; message are:</p>
<blockquote><p>{FarmAccount}, the account used for the SharePoint timer service and the central administration site, is highly privileged and should not be used for any other services on any machines in the server farm. The following services were found to use this account: User Profile Synchronization Service (Windows Service).</p></blockquote>
<p><a href="https://www.normanbauer.com/wp-content/uploads/2012/02/sharepoint_farmaccount_ups_error.png"><img class="size-large wp-image-359" title="SharePoint Farm Account User Profile Synchronisation Error" src="https://www.normanbauer.com/wp-content/uploads/2012/02/sharepoint_farmaccount_ups_error-450x235.png" alt="" width="450" height="235" /></a></p>
<p>The Microsoft Technet article at <a href="http://technet.microsoft.com/en-us/library/gg750254.aspx">http://technet.microsoft.com/en-us/library/gg750254.aspx</a> says: </p>
<blockquote><p>This message can be ignored. The User Profile Synchronization Service must run as the farm account.</p></blockquote>
<p>Well, annonying but obviously not a problem&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.normanbauer.com/2012/02/01/sharepoint-health-analyzer-the-server-farm-account-should-not-be-used-for-other-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to fix broken images after mySite URL change in SharePoint 2010?</title>
		<link>http://www.normanbauer.com/2012/01/27/how-to-fix-broken-images-after-mysite-url-change-in-sharepoint-2010/</link>
		<comments>http://www.normanbauer.com/2012/01/27/how-to-fix-broken-images-after-mysite-url-change-in-sharepoint-2010/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 16:47:01 +0000</pubDate>
		<dc:creator>Norman Bauer</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Sharepoint Server]]></category>
		<category><![CDATA[Broken Pictures]]></category>
		<category><![CDATA[mySite]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[User Profiles]]></category>

		<guid isPermaLink="false">http://www.normanbauer.com/?p=351</guid>
		<description><![CDATA[Here is a small PowerShell script to fix the pictureurl for all userprofiles after changing the mySite Url:]]></description>
			<content:encoded><![CDATA[<p>Here is a small PowerShell script to fix the pictureurl for all userprofiles after changing the mySite Url:</p>
<pre class="brush: plain; title: ; notranslate">
$mySiteWebapplicationUrl = &quot;https://mysite.normanbauer.com/&quot;
#current Url of your mySite website

$mySiteOldUrlValue = &quot;http://mysitetest:80/&quot;
#former Url where your pictures do not reside any more

$mySiteNewUrlValue = &quot;https://mysite.normanbauer.com:443/&quot;
#current Url where your images can be found now

$mySite = Get-SPSite $mySiteWebapplicationUrl
$SPServiceContext = Get-SPServiceContext $mySite
$userProfileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($SPServiceContext)
$userProfiles = $userProfileManager.GetEnumerator()

foreach ($userProfile in $userProfiles)
{
  #if pictureurl is not empty replace the old url part with the new one
  if ($userProfile[&quot;PictureURL&quot;] -ne '')
  {
    $oldPictureUrl = $userProfile[&quot;PictureURL&quot;].toString()
    $newPictureUrl = $oldPictureUrl.Replace($mySiteOldUrlValue, $mySiteNewUrlValue)
    write-host &quot;oldPictureUrl = &quot; $oldPictureUrl &quot; --&gt; newPictureUrl = &quot; $newPictureUrl
    $userProfile[&quot;PictureURL&quot;].Value = $newPictureUrl
    $userProfile.Commit()
  }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.normanbauer.com/2012/01/27/how-to-fix-broken-images-after-mysite-url-change-in-sharepoint-2010/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Creating profile synchronization connections in Sharepoint 2010 fails with error</title>
		<link>http://www.normanbauer.com/2012/01/13/creating-profile-synchronization-connections-in-sharepoint-2010-fails-with-error/</link>
		<comments>http://www.normanbauer.com/2012/01/13/creating-profile-synchronization-connections-in-sharepoint-2010-fails-with-error/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 07:50:09 +0000</pubDate>
		<dc:creator>Norman Bauer</dc:creator>
				<category><![CDATA[Sharepoint Server]]></category>
		<category><![CDATA[Error]]></category>
		<category><![CDATA[Permissions]]></category>
		<category><![CDATA[Profile]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Synchronization]]></category>

		<guid isPermaLink="false">http://www.normanbauer.com/?p=300</guid>
		<description><![CDATA[When creating profile synchronization connections in Sharepoint 2010, for example as a part of configuring the profile synchronization service (http://technet.microsoft.com/en-us/library/ee721049.aspx) you may receive one of the following errors: Error Unable to process Create message Troubleshoot issues with Microsoft SharePoint Foundation. Correlation ID: {GUID} Date and Time: {timestamp} Error Access to the requested resource(s) is denied [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.normanbauer.com/wp-content/uploads/2012/01/sharepoint2010_create_synchronization_connection.png"><img src="/wp-content/uploads/2012/01/sharepoint2010_create_synchronization_connection.png" alt="" title="Sharepoint 2010_Create_synchronization_connection" width="450" height="311" class="size-medium wp-image-302" /></a></p>
<p>When creating profile synchronization connections in Sharepoint 2010, for example as a part of configuring the profile synchronization service (<a href="http://technet.microsoft.com/en-us/library/ee721049.aspx">http://technet.microsoft.com/en-us/library/ee721049.aspx</a>) you may receive one of the following errors:</p>
<p style="clear:left">
<a href="https://www.normanbauer.com/wp-content/uploads/2012/01/sharepoint2010_create_synchronization_connection_error2.png"><img class="size-medium wp-image-304 alignleft" title="Sharepoint 2010 Unable to process Create message error" src="/wp-content/uploads/2012/01/sharepoint2010_create_synchronization_connection_error2-300x131.png" alt="" width="300" height="131" /></a>Error<br />
Unable to process Create message<br />
Troubleshoot issues with Microsoft SharePoint Foundation.<br />
Correlation ID: {GUID}<br />
Date and Time: {timestamp}
</p>
<p style="clear:left">
<a href="https://www.normanbauer.com/wp-content/uploads/2012/01/sharepoint2010_create_synchronization_connection_error1.png"><img class="alignleft size-medium wp-image-303" title="Sharepoint 2010 Access to the requested resource(s) is denied error" src="/wp-content/uploads/2012/01/sharepoint2010_create_synchronization_connection_error1-300x131.png" alt="" width="300" height="131" /></a>Error<br />
Access to the requested resource(s) is denied<br />
Troubleshoot issues with Microsoft SharePoint Foundation.<br />
Correlation ID: {GUID}<br />
Date and Time: {timestamp}
</p>
<p style="clear:left">
Normally you&#8217;ll get the &#8220;Access to the requested resource(s) is denied&#8221; error when trying to create a connection but the profile synchronization user (this is the farm account user you used to start the User Profile Synchronization service) does not have administrative rights on the profile synchronization server (this is the server you selected for Profile Synchronization Instance when creating the User Profile Service application). You can simply solve this problem by adding the user to the local administrators group temporarily.</p>
<p>The &#8220;Unable to process Create message&#8221; error happens when you tried to create a synchronization connection earlier and trying to create a new one with the same name. This occurs, for example, when you retry the creation with the same name after the &#8220;Access to the requested resource(s) is denied&#8221; error appeared on the last try. Simply choose another name and confirm that the User Profile Synchronization service user has at least local administrator rights on the profile synchronization server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.normanbauer.com/2012/01/13/creating-profile-synchronization-connections-in-sharepoint-2010-fails-with-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get detailed information on Windows boot and shutdown performance in PowerShell?</title>
		<link>http://www.normanbauer.com/2012/01/10/how-to-get-detailed-information-on-windows-boot-and-shutdown-performance-in-powershell/</link>
		<comments>http://www.normanbauer.com/2012/01/10/how-to-get-detailed-information-on-windows-boot-and-shutdown-performance-in-powershell/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 16:12:31 +0000</pubDate>
		<dc:creator>Norman Bauer</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Boot performance]]></category>
		<category><![CDATA[Shutdown performance]]></category>

		<guid isPermaLink="false">http://www.normanbauer.com/?p=268</guid>
		<description><![CDATA[In Windows 7 administrators have the possibility to monitor boot and shutdown performance by reviewing event logs. The most common one is located at Event Viewer > Application and Services Logs > Microsoft > Windows > Diagnostics-Performance > Operational. Events with an ID of 100 for boot up and 200 for shutdown will give you [...]]]></description>
			<content:encoded><![CDATA[<p>In Windows 7 administrators have the possibility to monitor boot and shutdown performance by reviewing event logs. The most common one is located at Event Viewer > Application and Services Logs > Microsoft > Windows > Diagnostics-Performance > Operational. Events with an ID of 100 for boot up and 200 for shutdown will give you some basic information on the general tab, for example, when did the last boot up or shutdown happen and how long took it to complete and more detailed information on the Details tab.</p>
<p><a href="https://www.normanbauer.com/wp-content/uploads/2012/01/eventid100.png"><img src="/wp-content/uploads/2012/01/eventid100.png" alt="" title="Event ID 100 via Event Viewer" width="450" height="312" class="alignnone size-medium wp-image-273" /></a></p>
<p><a href="https://www.normanbauer.com/wp-content/uploads/2012/01/eventid200.png"><img src="/wp-content/uploads/2012/01/eventid200.png" alt="" title="Event ID 200, Details tab, via Event Viewer" width="450" height="312" class="alignnone size-medium wp-image-283" /></a></p>
<p>On the Details tab you can find even more. Here is how to get this information programatically with the help of powershell. Run the following commands from an elevated powershell:</p>
<pre class="brush: plain; title: ; notranslate">
$bootevents = Get-WinEvent -FilterHashtable @{logname=&quot;Microsoft-Windows-Diagnostics-Performance/Operational&quot;; id=100}
$bootevent = [xml]$bootevents[0].ToXml()
$bootevent.Event.EventData.Data

$shutdownevents = Get-WinEvent -FilterHashtable @{logname=&quot;Microsoft-Windows-Diagnostics-Performance/Operational&quot;; id=200}
$shutdownevent = [xml]$shutdownevents[0].ToXml()
$shutdownevent.Event.EventData.Data
</pre>
<p>These upper 3 lines will get all events from the named logfile with the event id 100. Afterwards in converts the first result to xml, which now can be used in different ways. At this time we just want to print it on the screen. The lower 3 lines will do the same for shutdown events with event id 200.</p>
<p><a href="https://www.normanbauer.com/wp-content/uploads/2012/01/event100viaps1.png"><img src="/wp-content/uploads/2012/01/event100viaps1.png" alt="" title="Event ID 100 via Powershell" width="450" height="439" class="alignnone size-medium wp-image-287" /></a></p>
<p>This is the boot result for my computer:</p>
<pre class="brush: plain; title: ; notranslate">
Name                                    #text
----                                    -----
BootTsVersion                           2
BootStartTime                           2012-01-10T07:33:36.656000300Z
BootEndTime                             2012-01-10T07:35:43.438676400Z
SystemBootInstance                      167
UserBootInstance                        122
BootTime                                78563
MainPathBootTime                        30263
BootKernelInitTime                      28
BootDriverInitTime                      1521
BootDevicesInitTime                     1809
BootPrefetchInitTime                    0
BootPrefetchBytes                       0
BootAutoChkTime                         0
BootSmssInitTime                        7424
BootCriticalServicesInitTime            534
BootUserProfileProcessingTime           4625
BootMachineProfileProcessingTime        10802
BootExplorerInitTime                    2383
BootNumStartupApps                      17
BootPostBootTime                        48300
BootIsRebootAfterInstall                false
BootRootCauseStepImprovementBits        0
BootRootCauseGradualImprovementBits     0
BootRootCauseStepDegradationBits        0
BootRootCauseGradualDegradationBits     0
BootIsDegradation                       false
BootIsStepDegradation                   false
BootIsGradualDegradation                false
BootImprovementDelta                    0
BootDegradationDelta                    0
BootIsRootCauseIdentified               false
OSLoaderDuration                        1026
BootPNPInitStartTimeMS                  28
BootPNPInitDuration                     1990
OtherKernelInitDuration                 1006
SystemPNPInitStartTimeMS                2990
SystemPNPInitDuration                   1340
SessionInitStartTimeMS                  4337
Session0InitDuration                    5181
Session1InitDuration                    1192
SessionInitOtherDuration                1050
WinLogonStartTimeMS                     11761
OtherLogonInitActivityDuration          691
UserLogonWaitDuration                   8463
</pre>
<p><a href="https://www.normanbauer.com/wp-content/uploads/2012/01/event200viaps.png"><img src="/wp-content/uploads/2012/01/event200viaps.png" alt="" title="Event ID 200 via Powershell" width="450" height="211" class="alignnone size-medium wp-image-288" /></a></p>
<p>And here is the shutdown result:</p>
<pre class="brush: plain; title: ; notranslate">
Name                                    #text
----                                    -----
ShutdownTsVersion                       1
ShutdownStartTime                       2012-01-07T15:06:38.501239300Z
ShutdownEndTime                         2012-01-07T15:07:03.559344800Z
ShutdownTime                            25058
ShutdownUserSessionTime                 2728
ShutdownUserPolicyTime                  37
ShutdownUserProfilesTime                84
ShutdownSystemSessionsTime              20852
ShutdownPreShutdownNotificationsTime    15732
ShutdownServicesTime                    5007
ShutdownKernelTime                      1477
ShutdownRootCauseStepImprovementBits    0
ShutdownRootCauseGradualImprovementBits 0
ShutdownRootCauseStepDegradationBits    0
ShutdownRootCauseGradualDegradationBits 0
ShutdownIsDegradation                   false
ShutdownTimeChange                      0
</pre>
<p>Have a look at <a href="http://www.normanbauer.com/2010/11/06/how-to-connect-to-read-from-write-to-sql-server-from-powershell/" title="a">this</a> blog post to learn how to push this data into a SQL database with powershell.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.normanbauer.com/2012/01/10/how-to-get-detailed-information-on-windows-boot-and-shutdown-performance-in-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apps won&#8217;t open after update to iOS 5</title>
		<link>http://www.normanbauer.com/2011/10/18/apps-wont-open-after-update-to-ios-5/</link>
		<comments>http://www.normanbauer.com/2011/10/18/apps-wont-open-after-update-to-ios-5/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 16:42:03 +0000</pubDate>
		<dc:creator>Norman Bauer</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iOS 4]]></category>
		<category><![CDATA[iOS 5]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[App Store]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[start]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.normanbauer.com/?p=260</guid>
		<description><![CDATA[A few months ago I wrote a blog post about apps not opening any more after updating Apple iOS from 4.3.2 or below to 4.3.3 or higher. Now that iOS 5 has been released this problem seems to be still persistent and hasn&#8217;t been fixed in iOS 5. While updating your iPhone, iPod or iPad [...]]]></description>
			<content:encoded><![CDATA[<p>A few months ago I wrote a blog post about <a href="http://www.normanbauer.com/2011/05/25/iphone-apps-wont-start-after-update-to-4-3-3/">apps not opening any more after updating Apple iOS from 4.3.2 or below to 4.3.3 or higher</a>. Now that iOS 5 has been released this problem seems to be still persistent and hasn&#8217;t been fixed in iOS 5. While updating your iPhone, iPod or iPad from 4.3.3 or higher to iOS 5 does not seem to be a problem, updating from earlier versions indeed does. So again: when your 3rd party apps like Facebook, WhatsApp, Amazon, eBay &amp; Co. do not open any more after updating, simply try one of these methods:</p>
<ul>
<li>Open the app store and update any app that has updates available, or</li>
<li>Download any free app from the app store</li>
</ul>
<p>After successfully logging in to your account all 3rd party apps should open as usual&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.normanbauer.com/2011/10/18/apps-wont-open-after-update-to-ios-5/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>How to change BitLocker recovery password with vbScript?</title>
		<link>http://www.normanbauer.com/2011/10/05/how-to-change-bitlocker-recovery-password-with-vbscript/</link>
		<comments>http://www.normanbauer.com/2011/10/05/how-to-change-bitlocker-recovery-password-with-vbscript/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 08:46:00 +0000</pubDate>
		<dc:creator>Norman Bauer</dc:creator>
				<category><![CDATA[BitLocker]]></category>
		<category><![CDATA[Environment]]></category>
		<category><![CDATA[VBScript]]></category>
		<category><![CDATA[WMI]]></category>
		<category><![CDATA[manage-bde]]></category>
		<category><![CDATA[Protectors]]></category>
		<category><![CDATA[Recovery Password]]></category>

		<guid isPermaLink="false">http://www.normanbauer.com/?p=249</guid>
		<description><![CDATA[Related to my last post about how to change BitLocker recovery password from an elevated command prompt here is how you can achieve the same result with vbScript and WMI. This script is from Microsoft TechNet: BitLocker Drive Encryption Operations Guide: Recovering Encrypted Volumes with AD DS.]]></description>
			<content:encoded><![CDATA[<p>Related to my last post about how to <a href="http://www.normanbauer.com/2011/10/05/how-to-change-bitlocker-recovery-password/">change BitLocker recovery password from an elevated command prompt</a> here is how you can achieve the same result with vbScript and WMI. This script is from <a href="http://technet.microsoft.com/en-us/library/cc771778(WS.10).aspx#BKMK_AppendixB">Microsoft TechNet: BitLocker Drive Encryption Operations Guide: Recovering Encrypted Volumes with AD DS</a>.</p>
<pre class="brush: vb; title: ; notranslate">
' Target drive letter
strDriveLetter = &quot;c:&quot;

' Target computer name
' Use &quot;.&quot; to connect to the local computer
strComputerName = &quot;.&quot;

' --------------------------------------------------------------------------------
' Connect to the BitLocker WMI provider class
' --------------------------------------------------------------------------------

strConnectionStr = &quot;winmgmts:&quot; _
                 &amp; &quot;{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\&quot; _
                 &amp; strComputerName _
                 &amp; &quot;\root\cimv2\Security\MicrosoftVolumeEncryption&quot;

On Error Resume Next 'handle permission errors

Set objWMIService = GetObject(strConnectionStr)

If Err.Number &lt;&gt; 0 Then
     WScript.Echo &quot;Failed to connect to the BitLocker interface (Error 0x&quot; &amp; Hex(Err.Number) &amp; &quot;).&quot;
     Wscript.Echo &quot;Ensure that you are running with administrative privileges.&quot;
     WScript.Quit -1
End If

On Error GoTo 0

strQuery = &quot;Select * from Win32_EncryptableVolume where DriveLetter='&quot; &amp; strDriveLetter &amp; &quot;'&quot;
Set colTargetVolumes = objWMIService.ExecQuery(strQuery)

If colTargetVolumes.Count = 0 Then
    WScript.Echo &quot;FAILURE: Unable to find BitLocker-capable drive &quot; &amp;  strDriveLetter &amp; &quot; on computer &quot; &amp; strComputerName &amp; &quot;.&quot;
    WScript.Quit -1
End If

' there should only be one volume found
For Each objFoundVolume in colTargetVolumes
    set objVolume = objFoundVolume
Next

' objVolume is now our found BitLocker-capable disk volume

' --------------------------------------------------------------------------------
' Perform BitLocker WMI provider functionality
' --------------------------------------------------------------------------------

' Add a new recovery password, keeping the ID around so it doesn't get deleted later
' ----------------------------------------------------------------------------------

nRC = objVolume.ProtectKeyWithNumericalPassword(&quot;Recovery Password Refreshed By Script&quot;, , sNewKeyProtectorID)

If nRC &lt;&gt; 0 Then
     WScript.Echo &quot;FAILURE: ProtectKeyWithNumericalPassword failed with return code 0x&quot; &amp; Hex(nRC)
     WScript.Quit -1
End If

' Removes the other, &quot;stale&quot;, recovery passwords
' ----------------------------------------------------------------------------------

nKeyProtectorTypeIn = 3 ' type associated with &quot;Numerical Password&quot; protector

nRC = objVolume.GetKeyProtectors(nKeyProtectorTypeIn, aKeyProtectorIDs)

If nRC &lt;&gt; 0 Then
     WScript.Echo &quot;FAILURE: GetKeyProtectors failed with return code 0x&quot; &amp; Hex(nRC)
     WScript.Quit -1
End If

' Delete those key protectors other than the one we just added.

For Each sKeyProtectorID In aKeyProtectorIDs
     If sKeyProtectorID &lt;&gt; sNewKeyProtectorID Then
          nRC = objVolume.DeleteKeyProtector(sKeyProtectorID)
          If nRC &lt;&gt; 0 Then
               WScript.Echo &quot;FAILURE: DeleteKeyProtector on ID &quot; &amp; sKeyProtectorID &amp; &quot; failed with return code 0x&quot; &amp; Hex(nRC)
               WScript.Quit -1
          Else
               ' no output
               'WScript.Echo &quot;SUCCESS: Key protector with ID &quot; &amp; sKeyProtectorID &amp; &quot; deleted&quot;
          End If
     End If
Next

WScript.Echo &quot;A new recovery password has been added. Old passwords have been removed.&quot;

' - some advanced output (hidden)
'WScript.Echo &quot;&quot;
'WScript.Echo &quot;Type &quot;&quot;manage-bde -protectors -get &quot; &amp; strDriveLetter &amp; &quot; -type recoverypassword&quot;&quot; to view existing passwords.&quot;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.normanbauer.com/2011/10/05/how-to-change-bitlocker-recovery-password-with-vbscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to change BitLocker recovery password?</title>
		<link>http://www.normanbauer.com/2011/10/05/how-to-change-bitlocker-recovery-password/</link>
		<comments>http://www.normanbauer.com/2011/10/05/how-to-change-bitlocker-recovery-password/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 07:21:03 +0000</pubDate>
		<dc:creator>Norman Bauer</dc:creator>
				<category><![CDATA[BitLocker]]></category>
		<category><![CDATA[Environment]]></category>
		<category><![CDATA[manage-bde]]></category>
		<category><![CDATA[Protectors]]></category>
		<category><![CDATA[Recovery Password]]></category>

		<guid isPermaLink="false">http://www.normanbauer.com/?p=243</guid>
		<description><![CDATA[Sometimes you need to give a BitLocker recovery password to one of your customers. For example when you cannot access the computer remotely. It also happens that passwords get revealed accidentally or intentionally. While either scenario can be a security lack you may want to change the recovery password of a certain computer. To do [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes you need to give a BitLocker recovery password to one of your customers. For example when you cannot access the computer remotely. It also happens that passwords get revealed accidentally or intentionally. While either scenario can be a security lack you may want to change the recovery password of a certain computer.</p>
<p>To do so, you&#8217;ll need to open an elevated command prompt. With manage-bde.exe (BitLocker Drive Encryption: Configuration Tool) you can manage to change such recovery passwords.</p>
<p><a href="https://www.normanbauer.com/wp-content/uploads/2011/10/bitlocker_change_recoverypassword.png"><img src="/wp-content/uploads/2011/10/bitlocker_change_recoverypassword.png" alt="" title="bitlocker_change_recoverypassword" width="450" height="522" class="alignnone size-full wp-image-245" /></a></p>
<p>First get a list of recovery passwords for the desired partition by typing:</p>
<pre class="brush: bash; title: ; notranslate">
manage-bde.exe c: -protectors -get -type recoverypassword
</pre>
<p>This step is not really necessary unless you have more protectors of a certain type. If so you&#8217;ll need to copy the ID of the protector you want to change.</p>
<p>After that delete the protector. You can do this by using the id:</p>
<pre class="brush: bash; title: ; notranslate">
manage-bde.exe c: -protectors -delete -id {ID}
</pre>
<p>or by using the type:</p>
<pre class="brush: bash; title: ; notranslate">
manage-bde.exe c: -protectors -delete -type recoverypassword
</pre>
<p>The BitLocker Drive Encryption: Configuration Tool will now delete the protector. You may want to check this by running the first command again. Now you can add a new protector of type recovery password. That new protector will get a new id and a new password:</p>
<pre class="brush: bash; title: ; notranslate">
manage-bde.exe c: -protectors -add –rp
</pre>
<p>The configuration tool generates a new password, tells you to store it in a secure location and, if set up to do so, writes it to Active Directory.</p>
<p>Note: Every command used here, applies to the c: drive. You may want to change this according to your needs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.normanbauer.com/2011/10/05/how-to-change-bitlocker-recovery-password/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

