<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for Innovative Technology Weblog</title>
	<atom:link href="http://www.buit.org/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.buit.org</link>
	<description>Innovative Technology presented by Innovative People</description>
	<lastBuildDate>Fri, 03 Feb 2012 20:57:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>Comment on How to integrate App-V with SCCM without losing the features you care about by coach bags - Silkroad Online Forum - Silkroad Bot - Silkroad Loader - SRO</title>
		<link>http://www.buit.org/2009/02/13/how-to-integrate-app-v-with-sccm-without-losing-the-features-you-care-about/comment-page-1/#comment-69477</link>
		<dc:creator>coach bags - Silkroad Online Forum - Silkroad Bot - Silkroad Loader - SRO</dc:creator>
		<pubDate>Fri, 03 Feb 2012 20:57:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.buit.org/2009/02/13/how-to-integrate-app-v-with-sccm-without-losing-the-features-you-care-about/#comment-69477</guid>
		<description>[...]  [...]</description>
		<content:encoded><![CDATA[<p>[...]  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on SCVMM, choose your CPU Type wisely by Auto Clean Doheem</title>
		<link>http://www.buit.org/2008/07/31/scvmm-choose-your-cpu-type-wisely/comment-page-1/#comment-69473</link>
		<dc:creator>Auto Clean Doheem</dc:creator>
		<pubDate>Thu, 26 Jan 2012 06:12:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.buit.org/?p=388#comment-69473</guid>
		<description>&lt;strong&gt;Auto Clean Doheem...&lt;/strong&gt;

[...]Innovative Technology Weblog » SCVMM, choose your CPU Type wisely[...]...</description>
		<content:encoded><![CDATA[<p><strong>Auto Clean Doheem&#8230;</strong></p>
<p>[...]Innovative Technology Weblog » SCVMM, choose your CPU Type wisely[...]&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on HOWTO: Bitlocker Status Reporting in SCCM 2007 by BPODFW</title>
		<link>http://www.buit.org/2010/08/18/howto-bitlocker-status-reporting-in-sccm-2007/comment-page-2/#comment-69472</link>
		<dc:creator>BPODFW</dc:creator>
		<pubDate>Wed, 25 Jan 2012 22:43:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.buit.org/?p=659#comment-69472</guid>
		<description>if drive “” then
if drive “” and trim(line) “” then
Do While trim(line) “”

are not equals  before &quot;&quot;</description>
		<content:encoded><![CDATA[<p>if drive “” then<br />
if drive “” and trim(line) “” then<br />
Do While trim(line) “”</p>
<p>are not equals  before &#8220;&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on HOWTO: Bitlocker Status Reporting in SCCM 2007 by BPODFW</title>
		<link>http://www.buit.org/2010/08/18/howto-bitlocker-status-reporting-in-sccm-2007/comment-page-2/#comment-69471</link>
		<dc:creator>BPODFW</dc:creator>
		<pubDate>Wed, 25 Jan 2012 22:33:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.buit.org/?p=659#comment-69471</guid>
		<description>The script below will use the microsoft security namespace to talk to the BIOS through the TPM management provider in windows and give you TPM info for the pc. You can even enable TPM with the proper commands in the MicrosoftTpm class.

Set WshShell = CreateObject(&quot;Wscript.Shell&quot;)
&#039;---- this error resume stops issues with the class not existing and erroring script
on error resume next
dim strComputer , objWMIService, colItems
dim strObjects(8)

&#039;---- set WMI path
strComputer = &quot;.&quot;

Set objWMIService = GetObject(&quot;winmgmts:\\&quot; &amp; strComputer &amp; &quot;\root\CIMV2\Security\MicrosoftTpm&quot;)

Set colItems = objWMIService.ExecQuery(&quot;Select * from Win32_TPM&quot;,,48)


For each objitem in colItems


strObjects(0) = objitem.IsActivated_InitialValue

strObjects(1) = objitem.IsEnabled_InitialValue

strObjects(2) = objitem.IsOwned_InitialValue

strObjects(3) = objitem.ManufacturerId

strObjects(4) = objitem.ManufacturerVersion

strObjects(5) = objitem.ManufacturerVersionInfo

strObjects(6) =objitem.PhysicalPresenceVersionInfo

strObjects(7) = objitem.SpecVersion

WScript.Echo &quot;TPM enabled in BIOS&quot;
&#039;Uncomment the following lines to for troubleshooting interactively
WScript.Echo strObjects(0) &amp; &quot;, &quot; &amp;_
              strObjects(1) &amp; &quot;, &quot; &amp;_
              strObjects(2) &amp; &quot;, &quot; &amp;_
              strObjects(3) &amp; &quot;, &quot; &amp;_
              strObjects(4) &amp; &quot;, &quot; &amp;_
              strObjects(5) &amp; &quot;, &quot; &amp;_
              strObjects(6) &amp; &quot;, &quot; &amp;_
              strObjects(7)

Next


IF (strObjects(1) = &quot;&quot;) Then

WScript.Echo &quot;TPM disabled in BIOS&quot;

End if</description>
		<content:encoded><![CDATA[<p>The script below will use the microsoft security namespace to talk to the BIOS through the TPM management provider in windows and give you TPM info for the pc. You can even enable TPM with the proper commands in the MicrosoftTpm class.</p>
<p>Set WshShell = CreateObject(&#8220;Wscript.Shell&#8221;)<br />
&#8216;&#8212;- this error resume stops issues with the class not existing and erroring script<br />
on error resume next<br />
dim strComputer , objWMIService, colItems<br />
dim strObjects(8)</p>
<p>&#8216;&#8212;- set WMI path<br />
strComputer = &#8220;.&#8221;</p>
<p>Set objWMIService = GetObject(&#8220;winmgmts:\\&#8221; &amp; strComputer &amp; &#8220;\root\CIMV2\Security\MicrosoftTpm&#8221;)</p>
<p>Set colItems = objWMIService.ExecQuery(&#8220;Select * from Win32_TPM&#8221;,,48)</p>
<p>For each objitem in colItems</p>
<p>strObjects(0) = objitem.IsActivated_InitialValue</p>
<p>strObjects(1) = objitem.IsEnabled_InitialValue</p>
<p>strObjects(2) = objitem.IsOwned_InitialValue</p>
<p>strObjects(3) = objitem.ManufacturerId</p>
<p>strObjects(4) = objitem.ManufacturerVersion</p>
<p>strObjects(5) = objitem.ManufacturerVersionInfo</p>
<p>strObjects(6) =objitem.PhysicalPresenceVersionInfo</p>
<p>strObjects(7) = objitem.SpecVersion</p>
<p>WScript.Echo &#8220;TPM enabled in BIOS&#8221;<br />
&#8216;Uncomment the following lines to for troubleshooting interactively<br />
WScript.Echo strObjects(0) &amp; &#8220;, &#8221; &amp;_<br />
              strObjects(1) &amp; &#8220;, &#8221; &amp;_<br />
              strObjects(2) &amp; &#8220;, &#8221; &amp;_<br />
              strObjects(3) &amp; &#8220;, &#8221; &amp;_<br />
              strObjects(4) &amp; &#8220;, &#8221; &amp;_<br />
              strObjects(5) &amp; &#8220;, &#8221; &amp;_<br />
              strObjects(6) &amp; &#8220;, &#8221; &amp;_<br />
              strObjects(7)</p>
<p>Next</p>
<p>IF (strObjects(1) = &#8220;&#8221;) Then</p>
<p>WScript.Echo &#8220;TPM disabled in BIOS&#8221;</p>
<p>End if</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on HOWTO: Bitlocker Status Reporting in SCCM 2007 by BPODFW</title>
		<link>http://www.buit.org/2010/08/18/howto-bitlocker-status-reporting-in-sccm-2007/comment-page-2/#comment-69470</link>
		<dc:creator>BPODFW</dc:creator>
		<pubDate>Wed, 25 Jan 2012 22:20:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.buit.org/?p=659#comment-69470</guid>
		<description>Set WshShell = CreateObject(&quot;Wscript.Shell&quot;)
&#039;----- this error resume stops issues with the class not existing and erroring script
on error resume next
dim strObjects(26,12) , Noenable

	Dim wbemCimtypeSint16
	Dim wbemCimtypeSint32
	Dim wbemCimtypeReal32
	Dim wbemCimtypeReal64
	Dim wbemCimtypeString
	Dim wbemCimtypeBoolean
	Dim wbemCimtypeObject
	Dim wbemCimtypeSint8
	Dim wbemCimtypeUint8
	Dim wbemCimtypeUint16
	Dim wbemCimtypeUint32
	Dim wbemCimtypeSint64
	Dim wbemCimtypeUint64
	Dim wbemCimtypeDateTime
	Dim wbemCimtypeReference
	Dim wbemCimtypeChar16

	wbemCimtypeSint16 = 2
	wbemCimtypeSint32 = 3
	wbemCimtypeReal32 = 4
	wbemCimtypeReal64 = 5
	wbemCimtypeString = 8
	wbemCimtypeBoolean = 11
	wbemCimtypeObject = 13
	wbemCimtypeSint8 = 16
	wbemCimtypeUint8 = 17
	wbemCimtypeUint16 = 18
	wbemCimtypeUint32 = 19
	wbemCimtypeSint64 = 20
	wbemCimtypeUint64 = 21
	wbemCimtypeDateTime = 101
	wbemCimtypeReference = 102
	wbemCimtypeChar16 = 103

&#039;--------------------------
&#039;Run the Manage-bde.wsf, and put all the information into oExec to pull out later
&#039;--------------------------
Set oExec = WshShell.Exec(&quot;cscript //Nologo c:\windows\system32\manage-bde.wsf -status&quot;)

drive = &quot;&quot;
drivename = &quot;&quot;
Bitlocker_Status = &quot;Disabled&quot;

i = 0
Do While Not oExec.StdOut.AtEndOfStream
&#039;-------------------
&#039;For each line returned from oExec, check what&#039;s in it, and add to an array
&#039;-------------------
	line = oExec.StdOut.Readline()
	if ucase(left(line,5)) = &quot;ERROR&quot; then
	Noenable = &quot;True&quot;

	Set oLocation = CreateObject(&quot;WbemScripting.SWbemLocator&quot;)

&#039;------Remove classes
Set oServices = oLocation.ConnectServer(, &quot;root\cimv2&quot;)

set oNewObject = oServices.Get(&quot;SCCM_BitLocker&quot;)
oNewObject.Delete_



Set oServices = oLocation.ConnectServer(, &quot;root\cimv2\SMS&quot;)
set oNewObject = oServices.Get(&quot;SCCM_BitLocker&quot;)
oNewObject.Delete_




&#039;-----Create data class structure
	Set oServices = oLocation.ConnectServer(, &quot;root\cimv2&quot;)
	Set oDataObject = oServices.Get
	oDataObject.Path_.Class = &quot;SCCM_BitLocker&quot;
	oDataObject.Properties_.add &quot;Drive&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;DriveLabel&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Size&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;BitLocker_Version&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Conversion_Status&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Percentage_Encrypted&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Encryption_Method&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Protection_Status&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Lock_Status&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Identification_Field&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Bitlocker_Status&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Key_Protectors&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;ScriptLastRun&quot;, wbemCimtypeString
	oDataObject.Properties_(&quot;Bitlocker_Status&quot;).Qualifiers_.add &quot;key&quot;, True
	oDataObject.Put_

	Set oServices = oLocation.ConnectServer(, &quot;root\cimv2&quot;)

	Set oNewObject = oServices.Get(&quot;SCCM_BitLocker&quot;).SpawnInstance_
        oNewObject.Drive = &quot;Disabled&quot;
        oNewObject.DriveLabel = &quot;Disabled&quot;
        oNewObject.Size = &quot;Disabled&quot;
        oNewObject.BitLocker_Version = &quot;Disabled&quot;
        oNewObject.Conversion_Status = &quot;Disabled&quot;
        oNewObject.Percentage_Encrypted = &quot;Disabled&quot;
        oNewObject.Encryption_Method = &quot;Disabled&quot;
        oNewObject.Protection_Status = &quot;Disabled&quot;
        oNewObject.Lock_Status = &quot;Disabled&quot;
        oNewObject.Identification_Field = &quot;Disabled&quot;
        oNewObject.Key_Protectors = &quot;Disabled&quot;
	oNewObject.Bitlocker_Status = &quot;Disabled&quot;
        oNewObject.ScriptLastRun = Now
        oNewObject.Put_

	Exit DO

	Else
	if ucase(left(line,6)) = &quot;VOLUME&quot; then
		if drive  &quot;&quot; then
			targetmif.writeline(&quot;	End Group&quot;)
		end if
		i = i + 1
		drive = mid(line,8,2)

		drivename = mid(line,12,len(line)-12)
		line = &quot;&quot;
                strObjects(i,0) = drive
		strObjects(i,1) = drivename
		strObjects(i,11) = Now
		if drive = &quot;C:&quot; Then
			Bitlocker_Status = &quot;Enabled&quot;
			strObjects(i,12) = &quot;Enabled&quot;
		Else
			strObjects(i,12) = &quot;Disabled&quot;
		end if
	end if
	End if

	if drive  &quot;&quot; and trim(line)  &quot;&quot; then
		parts = split(line,&quot;:&quot;)
                Select Case replace(trim(parts(0)),&quot; &quot;,&quot;_&quot;)
		   Case &quot;Size&quot;
			strobjects(i,2) = trim(parts(1))

		   Case &quot;BitLocker_Version&quot;
			strobjects(i,3) = trim(parts(1))
		   Case &quot;Conversion_Status&quot;
			strobjects(i,4) = trim(parts(1))
		   Case &quot;Percentage_Encrypted&quot;
			strObjects(i,5) = trim(parts(1))
		   Case &quot;Encryption_Method&quot;
			strObjects(i,6) = trim(parts(1))
		   Case &quot;Protection_Status&quot;
			strObjects(i,7) = trim(parts(1))
		   Case &quot;Lock_Status&quot;
			strObjects(i,8) = trim(parts(1))
		   Case &quot;Identification_Field&quot;
			strObjects(i,9) = trim(parts(1))
		   Case &quot;Key_Protectors&quot;


			If len(line) = 26 then
			line = oExec.StdOut.Readline()

			j=1
			Do While trim(line)  &quot;&quot;
			If j=1 then
			strObjects(i,10) = trim(line)
			j=j+1
			Else
			strObjects(i,10) = trim(line) + &quot;, &quot; + strObjects(i,10)
			end if
			line = oExec.StdOut.Readline() 

			loop
			else
			strObjects(i,10) = trim(parts(1))
			end if


		end select
	end if
loop

If Noenable  &quot;True&quot; Then

&#039;------------------
&#039;Create the WMI Namespace
&#039;------------------


Set oLocation = CreateObject(&quot;WbemScripting.SWbemLocator&quot;)

&#039;---Remove classes
Set oServices = oLocation.ConnectServer(, &quot;root\cimv2&quot;)
set oNewObject = oServices.Get(&quot;SCCM_BitLocker&quot;)
oNewObject.Delete_

Set oServices = oLocation.ConnectServer(, &quot;root\cimv2\SMS&quot;)
set oNewObject = oServices.Get(&quot;SCCM_BitLocker&quot;)
oNewObject.Delete_

&#039;---Create data class structure
Set oServices = oLocation.ConnectServer(, &quot;root\cimv2&quot;)
Set oDataObject = oServices.Get
oDataObject.Path_.Class = &quot;SCCM_BitLocker&quot;
oDataObject.Properties_.add &quot;Drive&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;DriveLabel&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Size&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;BitLocker_Version&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Conversion_Status&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Percentage_Encrypted&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Encryption_Method&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Protection_Status&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Lock_Status&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Identification_Field&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Bitlocker_Status&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Key_Protectors&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;ScriptLastRun&quot;, wbemCimtypeString
oDataObject.Properties_(&quot;Drive&quot;).Qualifiers_.add &quot;key&quot;, True
oDataObject.Put_


&#039;------------------------------
&#039;Add Instances to data class
Set oServices = oLocation.ConnectServer(, &quot;root\cimv2&quot;)

For j=1 To i
	Set oNewObject = oServices.Get(&quot;SCCM_BitLocker&quot;).SpawnInstance_
        oNewObject.Drive = strObjects(j,0)
        oNewObject.DriveLabel = strObjects(j,1)
        oNewObject.Size = strObjects(j,2)
        oNewObject.BitLocker_Version = strObjects(j,3)
        oNewObject.Conversion_Status = strObjects(j,4)
        oNewObject.Percentage_Encrypted = strObjects(j,5)
        oNewObject.Encryption_Method = strObjects(j,6)
        oNewObject.Protection_Status = strObjects(j,7)
        oNewObject.Lock_Status = strObjects(j,8)
        oNewObject.Identification_Field = strObjects(j,9)
	oNewObject.Key_Protectors = strObjects(j,10)
	oNewObject.Bitlocker_Status = strObjects(j,12)
        oNewObject.ScriptLastRun = strObjects(j,11)
        oNewObject.Put_
&#039;Uncomment the following lines to for troubleshooting interactively
&#039;WScript.Echo strObjects(j,0) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,1) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,2) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,3) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,4) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,5) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,6) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,7) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,8) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,9) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,10) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,11) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,12)
Next
Else
End If</description>
		<content:encoded><![CDATA[<p>Set WshShell = CreateObject(&#8220;Wscript.Shell&#8221;)<br />
&#8216;&#8212;&#8211; this error resume stops issues with the class not existing and erroring script<br />
on error resume next<br />
dim strObjects(26,12) , Noenable</p>
<p>	Dim wbemCimtypeSint16<br />
	Dim wbemCimtypeSint32<br />
	Dim wbemCimtypeReal32<br />
	Dim wbemCimtypeReal64<br />
	Dim wbemCimtypeString<br />
	Dim wbemCimtypeBoolean<br />
	Dim wbemCimtypeObject<br />
	Dim wbemCimtypeSint8<br />
	Dim wbemCimtypeUint8<br />
	Dim wbemCimtypeUint16<br />
	Dim wbemCimtypeUint32<br />
	Dim wbemCimtypeSint64<br />
	Dim wbemCimtypeUint64<br />
	Dim wbemCimtypeDateTime<br />
	Dim wbemCimtypeReference<br />
	Dim wbemCimtypeChar16</p>
<p>	wbemCimtypeSint16 = 2<br />
	wbemCimtypeSint32 = 3<br />
	wbemCimtypeReal32 = 4<br />
	wbemCimtypeReal64 = 5<br />
	wbemCimtypeString = 8<br />
	wbemCimtypeBoolean = 11<br />
	wbemCimtypeObject = 13<br />
	wbemCimtypeSint8 = 16<br />
	wbemCimtypeUint8 = 17<br />
	wbemCimtypeUint16 = 18<br />
	wbemCimtypeUint32 = 19<br />
	wbemCimtypeSint64 = 20<br />
	wbemCimtypeUint64 = 21<br />
	wbemCimtypeDateTime = 101<br />
	wbemCimtypeReference = 102<br />
	wbemCimtypeChar16 = 103</p>
<p>&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&#8216;Run the Manage-bde.wsf, and put all the information into oExec to pull out later<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Set oExec = WshShell.Exec(&#8220;cscript //Nologo c:\windows\system32\manage-bde.wsf -status&#8221;)</p>
<p>drive = &#8220;&#8221;<br />
drivename = &#8220;&#8221;<br />
Bitlocker_Status = &#8220;Disabled&#8221;</p>
<p>i = 0<br />
Do While Not oExec.StdOut.AtEndOfStream<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8216;For each line returned from oExec, check what&#8217;s in it, and add to an array<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
	line = oExec.StdOut.Readline()<br />
	if ucase(left(line,5)) = &#8220;ERROR&#8221; then<br />
	Noenable = &#8220;True&#8221;</p>
<p>	Set oLocation = CreateObject(&#8220;WbemScripting.SWbemLocator&#8221;)</p>
<p>&#8216;&#8212;&#8212;Remove classes<br />
Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2&#8243;)</p>
<p>set oNewObject = oServices.Get(&#8220;SCCM_BitLocker&#8221;)<br />
oNewObject.Delete_</p>
<p>Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2\SMS&#8221;)<br />
set oNewObject = oServices.Get(&#8220;SCCM_BitLocker&#8221;)<br />
oNewObject.Delete_</p>
<p>&#8216;&#8212;&#8211;Create data class structure<br />
	Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2&#8243;)<br />
	Set oDataObject = oServices.Get<br />
	oDataObject.Path_.Class = &#8220;SCCM_BitLocker&#8221;<br />
	oDataObject.Properties_.add &#8220;Drive&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;DriveLabel&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Size&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;BitLocker_Version&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Conversion_Status&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Percentage_Encrypted&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Encryption_Method&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Protection_Status&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Lock_Status&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Identification_Field&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Bitlocker_Status&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Key_Protectors&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;ScriptLastRun&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_(&#8220;Bitlocker_Status&#8221;).Qualifiers_.add &#8220;key&#8221;, True<br />
	oDataObject.Put_</p>
<p>	Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2&#8243;)</p>
<p>	Set oNewObject = oServices.Get(&#8220;SCCM_BitLocker&#8221;).SpawnInstance_<br />
        oNewObject.Drive = &#8220;Disabled&#8221;<br />
        oNewObject.DriveLabel = &#8220;Disabled&#8221;<br />
        oNewObject.Size = &#8220;Disabled&#8221;<br />
        oNewObject.BitLocker_Version = &#8220;Disabled&#8221;<br />
        oNewObject.Conversion_Status = &#8220;Disabled&#8221;<br />
        oNewObject.Percentage_Encrypted = &#8220;Disabled&#8221;<br />
        oNewObject.Encryption_Method = &#8220;Disabled&#8221;<br />
        oNewObject.Protection_Status = &#8220;Disabled&#8221;<br />
        oNewObject.Lock_Status = &#8220;Disabled&#8221;<br />
        oNewObject.Identification_Field = &#8220;Disabled&#8221;<br />
        oNewObject.Key_Protectors = &#8220;Disabled&#8221;<br />
	oNewObject.Bitlocker_Status = &#8220;Disabled&#8221;<br />
        oNewObject.ScriptLastRun = Now<br />
        oNewObject.Put_</p>
<p>	Exit DO</p>
<p>	Else<br />
	if ucase(left(line,6)) = &#8220;VOLUME&#8221; then<br />
		if drive  &#8220;&#8221; then<br />
			targetmif.writeline(&#8221;	End Group&#8221;)<br />
		end if<br />
		i = i + 1<br />
		drive = mid(line,8,2)</p>
<p>		drivename = mid(line,12,len(line)-12)<br />
		line = &#8220;&#8221;<br />
                strObjects(i,0) = drive<br />
		strObjects(i,1) = drivename<br />
		strObjects(i,11) = Now<br />
		if drive = &#8220;C:&#8221; Then<br />
			Bitlocker_Status = &#8220;Enabled&#8221;<br />
			strObjects(i,12) = &#8220;Enabled&#8221;<br />
		Else<br />
			strObjects(i,12) = &#8220;Disabled&#8221;<br />
		end if<br />
	end if<br />
	End if</p>
<p>	if drive  &#8220;&#8221; and trim(line)  &#8220;&#8221; then<br />
		parts = split(line,&#8221;:&#8221;)<br />
                Select Case replace(trim(parts(0)),&#8221; &#8220;,&#8221;_&#8221;)<br />
		   Case &#8220;Size&#8221;<br />
			strobjects(i,2) = trim(parts(1))</p>
<p>		   Case &#8220;BitLocker_Version&#8221;<br />
			strobjects(i,3) = trim(parts(1))<br />
		   Case &#8220;Conversion_Status&#8221;<br />
			strobjects(i,4) = trim(parts(1))<br />
		   Case &#8220;Percentage_Encrypted&#8221;<br />
			strObjects(i,5) = trim(parts(1))<br />
		   Case &#8220;Encryption_Method&#8221;<br />
			strObjects(i,6) = trim(parts(1))<br />
		   Case &#8220;Protection_Status&#8221;<br />
			strObjects(i,7) = trim(parts(1))<br />
		   Case &#8220;Lock_Status&#8221;<br />
			strObjects(i,8) = trim(parts(1))<br />
		   Case &#8220;Identification_Field&#8221;<br />
			strObjects(i,9) = trim(parts(1))<br />
		   Case &#8220;Key_Protectors&#8221;</p>
<p>			If len(line) = 26 then<br />
			line = oExec.StdOut.Readline()</p>
<p>			j=1<br />
			Do While trim(line)  &#8220;&#8221;<br />
			If j=1 then<br />
			strObjects(i,10) = trim(line)<br />
			j=j+1<br />
			Else<br />
			strObjects(i,10) = trim(line) + &#8220;, &#8221; + strObjects(i,10)<br />
			end if<br />
			line = oExec.StdOut.Readline() </p>
<p>			loop<br />
			else<br />
			strObjects(i,10) = trim(parts(1))<br />
			end if</p>
<p>		end select<br />
	end if<br />
loop</p>
<p>If Noenable  &#8220;True&#8221; Then</p>
<p>&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
&#8216;Create the WMI Namespace<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Set oLocation = CreateObject(&#8220;WbemScripting.SWbemLocator&#8221;)</p>
<p>&#8216;&#8212;Remove classes<br />
Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2&#8243;)<br />
set oNewObject = oServices.Get(&#8220;SCCM_BitLocker&#8221;)<br />
oNewObject.Delete_</p>
<p>Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2\SMS&#8221;)<br />
set oNewObject = oServices.Get(&#8220;SCCM_BitLocker&#8221;)<br />
oNewObject.Delete_</p>
<p>&#8216;&#8212;Create data class structure<br />
Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2&#8243;)<br />
Set oDataObject = oServices.Get<br />
oDataObject.Path_.Class = &#8220;SCCM_BitLocker&#8221;<br />
oDataObject.Properties_.add &#8220;Drive&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;DriveLabel&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Size&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;BitLocker_Version&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Conversion_Status&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Percentage_Encrypted&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Encryption_Method&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Protection_Status&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Lock_Status&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Identification_Field&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Bitlocker_Status&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Key_Protectors&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;ScriptLastRun&#8221;, wbemCimtypeString<br />
oDataObject.Properties_(&#8220;Drive&#8221;).Qualifiers_.add &#8220;key&#8221;, True<br />
oDataObject.Put_</p>
<p>&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
&#8216;Add Instances to data class<br />
Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2&#8243;)</p>
<p>For j=1 To i<br />
	Set oNewObject = oServices.Get(&#8220;SCCM_BitLocker&#8221;).SpawnInstance_<br />
        oNewObject.Drive = strObjects(j,0)<br />
        oNewObject.DriveLabel = strObjects(j,1)<br />
        oNewObject.Size = strObjects(j,2)<br />
        oNewObject.BitLocker_Version = strObjects(j,3)<br />
        oNewObject.Conversion_Status = strObjects(j,4)<br />
        oNewObject.Percentage_Encrypted = strObjects(j,5)<br />
        oNewObject.Encryption_Method = strObjects(j,6)<br />
        oNewObject.Protection_Status = strObjects(j,7)<br />
        oNewObject.Lock_Status = strObjects(j,8)<br />
        oNewObject.Identification_Field = strObjects(j,9)<br />
	oNewObject.Key_Protectors = strObjects(j,10)<br />
	oNewObject.Bitlocker_Status = strObjects(j,12)<br />
        oNewObject.ScriptLastRun = strObjects(j,11)<br />
        oNewObject.Put_<br />
&#8216;Uncomment the following lines to for troubleshooting interactively<br />
&#8216;WScript.Echo strObjects(j,0) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,1) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,2) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,3) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,4) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,5) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,6) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,7) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,8) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,9) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,10) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,11) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,12)<br />
Next<br />
Else<br />
End If</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on HOWTO: Bitlocker Status Reporting in SCCM 2007 by Kiwifulla</title>
		<link>http://www.buit.org/2010/08/18/howto-bitlocker-status-reporting-in-sccm-2007/comment-page-2/#comment-69469</link>
		<dc:creator>Kiwifulla</dc:creator>
		<pubDate>Wed, 25 Jan 2012 01:31:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.buit.org/?p=659#comment-69469</guid>
		<description>Sorry BPODFW, I realise now that your script IS the entire script, however the format on this web page converts characters incorrectly (e.g. ‘ instead of &#039;) and I can&#039;t run the script without errors (even when replacing the illegal characters).  It also appears to be missing characters  in some areas that the original script had?

Do you have a complete script that you can share rather than as text on this web page?

Thanks</description>
		<content:encoded><![CDATA[<p>Sorry BPODFW, I realise now that your script IS the entire script, however the format on this web page converts characters incorrectly (e.g. ‘ instead of &#8216;) and I can&#8217;t run the script without errors (even when replacing the illegal characters).  It also appears to be missing characters  in some areas that the original script had?</p>
<p>Do you have a complete script that you can share rather than as text on this web page?</p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on HOWTO: Bitlocker Status Reporting in SCCM 2007 by Kiwifulla</title>
		<link>http://www.buit.org/2010/08/18/howto-bitlocker-status-reporting-in-sccm-2007/comment-page-2/#comment-69468</link>
		<dc:creator>Kiwifulla</dc:creator>
		<pubDate>Tue, 24 Jan 2012 22:59:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.buit.org/?p=659#comment-69468</guid>
		<description>Hi BPODFW

Your changes are exactly what I have found too (and have been putting up with in regards to disabled TPM).

Do you have a complete copy of your updated script rather than just the changes?

What about in PowerShell - I don&#039;t suppose anyone has created a new master PS script with the changes that BPODFW has kindly done?

Regards</description>
		<content:encoded><![CDATA[<p>Hi BPODFW</p>
<p>Your changes are exactly what I have found too (and have been putting up with in regards to disabled TPM).</p>
<p>Do you have a complete copy of your updated script rather than just the changes?</p>
<p>What about in PowerShell &#8211; I don&#8217;t suppose anyone has created a new master PS script with the changes that BPODFW has kindly done?</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Outlook Anywhere is &#8216;broken&#8217; on IPv6 in Windows Server 2008 by Fix Error 0x80070438 With Our Easy Windows Tool</title>
		<link>http://www.buit.org/2008/01/04/outlook-anywhere-is-broken-on-ipv6-in-windows-server-2008/comment-page-1/#comment-69466</link>
		<dc:creator>Fix Error 0x80070438 With Our Easy Windows Tool</dc:creator>
		<pubDate>Sun, 22 Jan 2012 04:29:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.buit.org/2008/01/04/outlook-anywhere-is-broken-on-ipv6-in-windows-server-2008/#comment-69466</guid>
		<description>&lt;strong&gt;Fix Error 0x80070438 With Our Easy Windows Tool...&lt;/strong&gt;

[...]Innovative Technology Weblog » Outlook Anywhere is &#8216;broken&#8217; on IPv6 in Windows Server 2008[...]...</description>
		<content:encoded><![CDATA[<p><strong>Fix Error 0&#215;80070438 With Our Easy Windows Tool&#8230;</strong></p>
<p>[...]Innovative Technology Weblog » Outlook Anywhere is &#8216;broken&#8217; on IPv6 in Windows Server 2008[...]&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on HOWTO: Bitlocker Status Reporting in SCCM 2007 by BPODFW</title>
		<link>http://www.buit.org/2010/08/18/howto-bitlocker-status-reporting-in-sccm-2007/comment-page-2/#comment-69465</link>
		<dc:creator>BPODFW</dc:creator>
		<pubDate>Wed, 18 Jan 2012 19:08:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.buit.org/?p=659#comment-69465</guid>
		<description>The information here is very good but when I ran the two scripts I has issues with them. The VB script uses ScriptLastRan and the PS uses ScriptLastRun which is in the bitlocker.mof also. The inclusion of the Automatic_Unlock attribute in the VB script is not needed nor in the mof file either unless you want to find USB or non C: drives that are encrypted or encryptable. It is not in the PS script as an attribute as well. It really only shows for removable drives on your system. The issue will cause the script to run and populate the WMI class but the SCCM hardware inventory will fail if the Automatic_Unlock attribute is in the MOF or if the ScriptLastRan is not changed to ScriptLastRun. Once you get SCCM inventory to pull in a record it will create the tables using the MOF attributes. The VB script as downloaded does not pick up the Key_Protectors, could be SP1 issue on Win7. I enhanced the VB script to catch the attributes and to work with non TPM enabled systems, picks the error up and fills fields with &quot;Disabled&quot; except for time stamp.


Set WshShell = CreateObject(&quot;Wscript.Shell&quot;)
&#039; this error resume stops issues with the class not existing and erroring script
on error resume next
dim strObjects(26,12) , Noenable

	Dim wbemCimtypeSint16
	Dim wbemCimtypeSint32
	Dim wbemCimtypeReal32
	Dim wbemCimtypeReal64
	Dim wbemCimtypeString
	Dim wbemCimtypeBoolean
	Dim wbemCimtypeObject
	Dim wbemCimtypeSint8
	Dim wbemCimtypeUint8
	Dim wbemCimtypeUint16
	Dim wbemCimtypeUint32
	Dim wbemCimtypeSint64
	Dim wbemCimtypeUint64
	Dim wbemCimtypeDateTime
	Dim wbemCimtypeReference
	Dim wbemCimtypeChar16

	wbemCimtypeSint16 = 2
	wbemCimtypeSint32 = 3
	wbemCimtypeReal32 = 4
	wbemCimtypeReal64 = 5
	wbemCimtypeString = 8
	wbemCimtypeBoolean = 11
	wbemCimtypeObject = 13
	wbemCimtypeSint8 = 16
	wbemCimtypeUint8 = 17
	wbemCimtypeUint16 = 18
	wbemCimtypeUint32 = 19
	wbemCimtypeSint64 = 20
	wbemCimtypeUint64 = 21
	wbemCimtypeDateTime = 101
	wbemCimtypeReference = 102
	wbemCimtypeChar16 = 103

&#039;--------------------------
&#039;Run the Manage-bde.wsf, and put all the information into oExec to pull out later
&#039;--------------------------
Set oExec = WshShell.Exec(&quot;cscript //Nologo c:\windows\system32\manage-bde.wsf -status&quot;)

drive = &quot;&quot;
drivename = &quot;&quot;
Bitlocker_Status = &quot;Disabled&quot;

i = 0
Do While Not oExec.StdOut.AtEndOfStream
&#039;-------------------
&#039;For each line returned from oExec, check what&#039;s in it, and add to an array
&#039;-------------------
	line = oExec.StdOut.Readline()
	if ucase(left(line,5)) = &quot;ERROR&quot; then
	Noenable = &quot;True&quot;
&#039;			WScript.Echo ucase(left(line,5))
&#039;			WScript.Echo &quot;1&quot;
	Set oLocation = CreateObject(&quot;WbemScripting.SWbemLocator&quot;)
&#039;			WScript.Echo &quot;2&quot;
&#039;Remove classes
Set oServices = oLocation.ConnectServer(, &quot;root\cimv2&quot;)
&#039;WScript.Echo &quot;3.1&quot;
set oNewObject = oServices.Get(&quot;SCCM_BitLocker&quot;)
oNewObject.Delete_

&#039;WScript.Echo &quot;3&quot;

Set oServices = oLocation.ConnectServer(, &quot;root\cimv2\SMS&quot;)
set oNewObject = oServices.Get(&quot;SCCM_BitLocker&quot;)
oNewObject.Delete_


&#039;WScript.Echo &quot;4&quot;

&#039;Create data class structure
	Set oServices = oLocation.ConnectServer(, &quot;root\cimv2&quot;)
	Set oDataObject = oServices.Get
	oDataObject.Path_.Class = &quot;SCCM_BitLocker&quot;
	oDataObject.Properties_.add &quot;Drive&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;DriveLabel&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Size&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;BitLocker_Version&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Conversion_Status&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Percentage_Encrypted&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Encryption_Method&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Protection_Status&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Lock_Status&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Identification_Field&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Bitlocker_Status&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;Key_Protectors&quot;, wbemCimtypeString
	oDataObject.Properties_.add &quot;ScriptLastRun&quot;, wbemCimtypeString
	oDataObject.Properties_(&quot;Bitlocker_Status&quot;).Qualifiers_.add &quot;key&quot;, True
	oDataObject.Put_
&#039;			WScript.Echo &quot;5&quot;
	Set oServices = oLocation.ConnectServer(, &quot;root\cimv2&quot;)
&#039;			WScript.Echo &quot;6&quot;
	Set oNewObject = oServices.Get(&quot;SCCM_BitLocker&quot;).SpawnInstance_
        oNewObject.Drive = &quot;Disabled&quot;
        oNewObject.DriveLabel = &quot;Disabled&quot;
        oNewObject.Size = &quot;Disabled&quot;
        oNewObject.BitLocker_Version = &quot;Disabled&quot;
        oNewObject.Conversion_Status = &quot;Disabled&quot;
        oNewObject.Percentage_Encrypted = &quot;Disabled&quot;
        oNewObject.Encryption_Method = &quot;Disabled&quot;
        oNewObject.Protection_Status = &quot;Disabled&quot;
        oNewObject.Lock_Status = &quot;Disabled&quot;
        oNewObject.Identification_Field = &quot;Disabled&quot;
        oNewObject.Key_Protectors = &quot;Disabled&quot;
	oNewObject.Bitlocker_Status = &quot;Disabled&quot;
        oNewObject.ScriptLastRun = Now
        oNewObject.Put_
&#039;			WScript.Echo &quot;7&quot;
	Exit DO
&#039;			WScript.Echo &quot;8&quot;
	Else
	if ucase(left(line,6)) = &quot;VOLUME&quot; then
		if drive  &quot;&quot; then
			targetmif.writeline(&quot;	End Group&quot;)
		end if
		i = i + 1
		drive = mid(line,8,2)

&#039;		line = oExec.StdOut.Readline()
		drivename = mid(line,12,len(line)-12)
		line = &quot;&quot;
                strObjects(i,0) = drive
		strObjects(i,1) = drivename
		strObjects(i,11) = Now
		if drive = &quot;C:&quot; Then
			Bitlocker_Status = &quot;Enabled&quot;
			strObjects(i,12) = Bitlocker_Status
		Else
			strObjects(i,12) = Bitlocker_Status
		end if
	end if
	End if

	if drive  &quot;&quot; and trim(line)  &quot;&quot; then
		parts = split(line,&quot;:&quot;)
                Select Case replace(trim(parts(0)),&quot; &quot;,&quot;_&quot;)
		   Case &quot;Size&quot;
			strobjects(i,2) = trim(parts(1))
&#039;			WScript.Echo len(parts(1))
&#039;			WScript.Echo parts(1)
&#039;			WScript.Echo strobjects(i,2)
&#039;			WScript.Echo len(strobjects(i,2))
		   Case &quot;BitLocker_Version&quot;
			strobjects(i,3) = trim(parts(1))
		   Case &quot;Conversion_Status&quot;
			strobjects(i,4) = trim(parts(1))
		   Case &quot;Percentage_Encrypted&quot;
			strObjects(i,5) = trim(parts(1))
		   Case &quot;Encryption_Method&quot;
			strObjects(i,6) = trim(parts(1))
		   Case &quot;Protection_Status&quot;
			strObjects(i,7) = trim(parts(1))
		   Case &quot;Lock_Status&quot;
			strObjects(i,8) = trim(parts(1))
		   Case &quot;Identification_Field&quot;
			strObjects(i,9) = trim(parts(1))
		   Case &quot;Key_Protectors&quot;
&#039;			WScript.Echo line
&#039;			WScript.Echo parts(1)
&#039;			WScript.Echo len(line)
			If len(line) = 26 then
			line = oExec.StdOut.Readline()
&#039;			WScript.Echo line
			j=1
			Do While trim(line)  &quot;&quot;
			If j=1 then
			strObjects(i,10) = trim(line)
			j=j+1
			Else
			strObjects(i,10) = trim(line) + &quot;, &quot; + strObjects(i,10)
			end if
			line = oExec.StdOut.Readline() 
&#039;			WScript.Echo strObjects(i,10)
&#039;			WScript.Echo (i)
			loop
			else
			strObjects(i,10) = trim(parts(1))
			end if
&#039;		   Case &quot;Automatic_Unlock&quot;
&#039;			strObjects(i,11) = trim(parts(1))
		end select
	end if
loop

If Noenable  &quot;True&quot; Then

&#039;------------------
&#039;Create the WMI Namespace
&#039;------------------


Set oLocation = CreateObject(&quot;WbemScripting.SWbemLocator&quot;)

&#039;Remove classes
Set oServices = oLocation.ConnectServer(, &quot;root\cimv2&quot;)
set oNewObject = oServices.Get(&quot;SCCM_BitLocker&quot;)
oNewObject.Delete_

Set oServices = oLocation.ConnectServer(, &quot;root\cimv2\SMS&quot;)
set oNewObject = oServices.Get(&quot;SCCM_BitLocker&quot;)
oNewObject.Delete_

&#039;Create data class structure
Set oServices = oLocation.ConnectServer(, &quot;root\cimv2&quot;)
Set oDataObject = oServices.Get
oDataObject.Path_.Class = &quot;SCCM_BitLocker&quot;
oDataObject.Properties_.add &quot;Drive&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;DriveLabel&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Size&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;BitLocker_Version&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Conversion_Status&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Percentage_Encrypted&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Encryption_Method&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Protection_Status&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Lock_Status&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Identification_Field&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Bitlocker_Status&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;Key_Protectors&quot;, wbemCimtypeString
oDataObject.Properties_.add &quot;ScriptLastRun&quot;, wbemCimtypeString
oDataObject.Properties_(&quot;Drive&quot;).Qualifiers_.add &quot;key&quot;, True
oDataObject.Put_


&#039;------------------------------
&#039;Add Instances to data class
Set oServices = oLocation.ConnectServer(, &quot;root\cimv2&quot;)

For j=1 To i
	Set oNewObject = oServices.Get(&quot;SCCM_BitLocker&quot;).SpawnInstance_
        oNewObject.Drive = strObjects(j,0)
        oNewObject.DriveLabel = strObjects(j,1)
        oNewObject.Size = strObjects(j,2)
        oNewObject.BitLocker_Version = strObjects(j,3)
        oNewObject.Conversion_Status = strObjects(j,4)
        oNewObject.Percentage_Encrypted = strObjects(j,5)
        oNewObject.Encryption_Method = strObjects(j,6)
        oNewObject.Protection_Status = strObjects(j,7)
        oNewObject.Lock_Status = strObjects(j,8)
        oNewObject.Identification_Field = strObjects(j,9)
	oNewObject.Key_Protectors = strObjects(j,10)
	oNewObject.Bitlocker_Status = strObjects(j,12)
        oNewObject.ScriptLastRun = strObjects(j,11)
        oNewObject.Put_
&#039;Uncomment the following lines to for troubleshooting interactively
&#039;WScript.Echo strObjects(j,0) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,1) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,2) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,3) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,4) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,5) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,6) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,7) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,8) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,9) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,10) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,11) &amp; &quot;, &quot; &amp;_
&#039;              strObjects(j,12)
Next
Else
End If

Hope this helps. Check attribute names in scripts and number of attributes in mof and the issues will go away (no errors in WMI query in the hardware inventory). You can also use the \root\cimvs\security\microsofttpm wmi namespace with the win32_tpm class to get status and even turn on/off TPM in the bios.</description>
		<content:encoded><![CDATA[<p>The information here is very good but when I ran the two scripts I has issues with them. The VB script uses ScriptLastRan and the PS uses ScriptLastRun which is in the bitlocker.mof also. The inclusion of the Automatic_Unlock attribute in the VB script is not needed nor in the mof file either unless you want to find USB or non C: drives that are encrypted or encryptable. It is not in the PS script as an attribute as well. It really only shows for removable drives on your system. The issue will cause the script to run and populate the WMI class but the SCCM hardware inventory will fail if the Automatic_Unlock attribute is in the MOF or if the ScriptLastRan is not changed to ScriptLastRun. Once you get SCCM inventory to pull in a record it will create the tables using the MOF attributes. The VB script as downloaded does not pick up the Key_Protectors, could be SP1 issue on Win7. I enhanced the VB script to catch the attributes and to work with non TPM enabled systems, picks the error up and fills fields with &#8220;Disabled&#8221; except for time stamp.</p>
<p>Set WshShell = CreateObject(&#8220;Wscript.Shell&#8221;)<br />
&#8216; this error resume stops issues with the class not existing and erroring script<br />
on error resume next<br />
dim strObjects(26,12) , Noenable</p>
<p>	Dim wbemCimtypeSint16<br />
	Dim wbemCimtypeSint32<br />
	Dim wbemCimtypeReal32<br />
	Dim wbemCimtypeReal64<br />
	Dim wbemCimtypeString<br />
	Dim wbemCimtypeBoolean<br />
	Dim wbemCimtypeObject<br />
	Dim wbemCimtypeSint8<br />
	Dim wbemCimtypeUint8<br />
	Dim wbemCimtypeUint16<br />
	Dim wbemCimtypeUint32<br />
	Dim wbemCimtypeSint64<br />
	Dim wbemCimtypeUint64<br />
	Dim wbemCimtypeDateTime<br />
	Dim wbemCimtypeReference<br />
	Dim wbemCimtypeChar16</p>
<p>	wbemCimtypeSint16 = 2<br />
	wbemCimtypeSint32 = 3<br />
	wbemCimtypeReal32 = 4<br />
	wbemCimtypeReal64 = 5<br />
	wbemCimtypeString = 8<br />
	wbemCimtypeBoolean = 11<br />
	wbemCimtypeObject = 13<br />
	wbemCimtypeSint8 = 16<br />
	wbemCimtypeUint8 = 17<br />
	wbemCimtypeUint16 = 18<br />
	wbemCimtypeUint32 = 19<br />
	wbemCimtypeSint64 = 20<br />
	wbemCimtypeUint64 = 21<br />
	wbemCimtypeDateTime = 101<br />
	wbemCimtypeReference = 102<br />
	wbemCimtypeChar16 = 103</p>
<p>&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&#8216;Run the Manage-bde.wsf, and put all the information into oExec to pull out later<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Set oExec = WshShell.Exec(&#8220;cscript //Nologo c:\windows\system32\manage-bde.wsf -status&#8221;)</p>
<p>drive = &#8220;&#8221;<br />
drivename = &#8220;&#8221;<br />
Bitlocker_Status = &#8220;Disabled&#8221;</p>
<p>i = 0<br />
Do While Not oExec.StdOut.AtEndOfStream<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8216;For each line returned from oExec, check what&#8217;s in it, and add to an array<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
	line = oExec.StdOut.Readline()<br />
	if ucase(left(line,5)) = &#8220;ERROR&#8221; then<br />
	Noenable = &#8220;True&#8221;<br />
&#8216;			WScript.Echo ucase(left(line,5))<br />
&#8216;			WScript.Echo &#8220;1&#8243;<br />
	Set oLocation = CreateObject(&#8220;WbemScripting.SWbemLocator&#8221;)<br />
&#8216;			WScript.Echo &#8220;2&#8243;<br />
&#8216;Remove classes<br />
Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2&#8243;)<br />
&#8216;WScript.Echo &#8220;3.1&#8243;<br />
set oNewObject = oServices.Get(&#8220;SCCM_BitLocker&#8221;)<br />
oNewObject.Delete_</p>
<p>&#8216;WScript.Echo &#8220;3&#8243;</p>
<p>Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2\SMS&#8221;)<br />
set oNewObject = oServices.Get(&#8220;SCCM_BitLocker&#8221;)<br />
oNewObject.Delete_</p>
<p>&#8216;WScript.Echo &#8220;4&#8243;</p>
<p>&#8216;Create data class structure<br />
	Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2&#8243;)<br />
	Set oDataObject = oServices.Get<br />
	oDataObject.Path_.Class = &#8220;SCCM_BitLocker&#8221;<br />
	oDataObject.Properties_.add &#8220;Drive&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;DriveLabel&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Size&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;BitLocker_Version&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Conversion_Status&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Percentage_Encrypted&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Encryption_Method&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Protection_Status&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Lock_Status&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Identification_Field&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Bitlocker_Status&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;Key_Protectors&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_.add &#8220;ScriptLastRun&#8221;, wbemCimtypeString<br />
	oDataObject.Properties_(&#8220;Bitlocker_Status&#8221;).Qualifiers_.add &#8220;key&#8221;, True<br />
	oDataObject.Put_<br />
&#8216;			WScript.Echo &#8220;5&#8243;<br />
	Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2&#8243;)<br />
&#8216;			WScript.Echo &#8220;6&#8243;<br />
	Set oNewObject = oServices.Get(&#8220;SCCM_BitLocker&#8221;).SpawnInstance_<br />
        oNewObject.Drive = &#8220;Disabled&#8221;<br />
        oNewObject.DriveLabel = &#8220;Disabled&#8221;<br />
        oNewObject.Size = &#8220;Disabled&#8221;<br />
        oNewObject.BitLocker_Version = &#8220;Disabled&#8221;<br />
        oNewObject.Conversion_Status = &#8220;Disabled&#8221;<br />
        oNewObject.Percentage_Encrypted = &#8220;Disabled&#8221;<br />
        oNewObject.Encryption_Method = &#8220;Disabled&#8221;<br />
        oNewObject.Protection_Status = &#8220;Disabled&#8221;<br />
        oNewObject.Lock_Status = &#8220;Disabled&#8221;<br />
        oNewObject.Identification_Field = &#8220;Disabled&#8221;<br />
        oNewObject.Key_Protectors = &#8220;Disabled&#8221;<br />
	oNewObject.Bitlocker_Status = &#8220;Disabled&#8221;<br />
        oNewObject.ScriptLastRun = Now<br />
        oNewObject.Put_<br />
&#8216;			WScript.Echo &#8220;7&#8243;<br />
	Exit DO<br />
&#8216;			WScript.Echo &#8220;8&#8243;<br />
	Else<br />
	if ucase(left(line,6)) = &#8220;VOLUME&#8221; then<br />
		if drive  &#8220;&#8221; then<br />
			targetmif.writeline(&#8221;	End Group&#8221;)<br />
		end if<br />
		i = i + 1<br />
		drive = mid(line,8,2)</p>
<p>&#8216;		line = oExec.StdOut.Readline()<br />
		drivename = mid(line,12,len(line)-12)<br />
		line = &#8220;&#8221;<br />
                strObjects(i,0) = drive<br />
		strObjects(i,1) = drivename<br />
		strObjects(i,11) = Now<br />
		if drive = &#8220;C:&#8221; Then<br />
			Bitlocker_Status = &#8220;Enabled&#8221;<br />
			strObjects(i,12) = Bitlocker_Status<br />
		Else<br />
			strObjects(i,12) = Bitlocker_Status<br />
		end if<br />
	end if<br />
	End if</p>
<p>	if drive  &#8220;&#8221; and trim(line)  &#8220;&#8221; then<br />
		parts = split(line,&#8221;:&#8221;)<br />
                Select Case replace(trim(parts(0)),&#8221; &#8220;,&#8221;_&#8221;)<br />
		   Case &#8220;Size&#8221;<br />
			strobjects(i,2) = trim(parts(1))<br />
&#8216;			WScript.Echo len(parts(1))<br />
&#8216;			WScript.Echo parts(1)<br />
&#8216;			WScript.Echo strobjects(i,2)<br />
&#8216;			WScript.Echo len(strobjects(i,2))<br />
		   Case &#8220;BitLocker_Version&#8221;<br />
			strobjects(i,3) = trim(parts(1))<br />
		   Case &#8220;Conversion_Status&#8221;<br />
			strobjects(i,4) = trim(parts(1))<br />
		   Case &#8220;Percentage_Encrypted&#8221;<br />
			strObjects(i,5) = trim(parts(1))<br />
		   Case &#8220;Encryption_Method&#8221;<br />
			strObjects(i,6) = trim(parts(1))<br />
		   Case &#8220;Protection_Status&#8221;<br />
			strObjects(i,7) = trim(parts(1))<br />
		   Case &#8220;Lock_Status&#8221;<br />
			strObjects(i,8) = trim(parts(1))<br />
		   Case &#8220;Identification_Field&#8221;<br />
			strObjects(i,9) = trim(parts(1))<br />
		   Case &#8220;Key_Protectors&#8221;<br />
&#8216;			WScript.Echo line<br />
&#8216;			WScript.Echo parts(1)<br />
&#8216;			WScript.Echo len(line)<br />
			If len(line) = 26 then<br />
			line = oExec.StdOut.Readline()<br />
&#8216;			WScript.Echo line<br />
			j=1<br />
			Do While trim(line)  &#8220;&#8221;<br />
			If j=1 then<br />
			strObjects(i,10) = trim(line)<br />
			j=j+1<br />
			Else<br />
			strObjects(i,10) = trim(line) + &#8220;, &#8221; + strObjects(i,10)<br />
			end if<br />
			line = oExec.StdOut.Readline()<br />
&#8216;			WScript.Echo strObjects(i,10)<br />
&#8216;			WScript.Echo (i)<br />
			loop<br />
			else<br />
			strObjects(i,10) = trim(parts(1))<br />
			end if<br />
&#8216;		   Case &#8220;Automatic_Unlock&#8221;<br />
&#8216;			strObjects(i,11) = trim(parts(1))<br />
		end select<br />
	end if<br />
loop</p>
<p>If Noenable  &#8220;True&#8221; Then</p>
<p>&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
&#8216;Create the WMI Namespace<br />
&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Set oLocation = CreateObject(&#8220;WbemScripting.SWbemLocator&#8221;)</p>
<p>&#8216;Remove classes<br />
Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2&#8243;)<br />
set oNewObject = oServices.Get(&#8220;SCCM_BitLocker&#8221;)<br />
oNewObject.Delete_</p>
<p>Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2\SMS&#8221;)<br />
set oNewObject = oServices.Get(&#8220;SCCM_BitLocker&#8221;)<br />
oNewObject.Delete_</p>
<p>&#8216;Create data class structure<br />
Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2&#8243;)<br />
Set oDataObject = oServices.Get<br />
oDataObject.Path_.Class = &#8220;SCCM_BitLocker&#8221;<br />
oDataObject.Properties_.add &#8220;Drive&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;DriveLabel&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Size&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;BitLocker_Version&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Conversion_Status&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Percentage_Encrypted&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Encryption_Method&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Protection_Status&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Lock_Status&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Identification_Field&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Bitlocker_Status&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;Key_Protectors&#8221;, wbemCimtypeString<br />
oDataObject.Properties_.add &#8220;ScriptLastRun&#8221;, wbemCimtypeString<br />
oDataObject.Properties_(&#8220;Drive&#8221;).Qualifiers_.add &#8220;key&#8221;, True<br />
oDataObject.Put_</p>
<p>&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
&#8216;Add Instances to data class<br />
Set oServices = oLocation.ConnectServer(, &#8220;root\cimv2&#8243;)</p>
<p>For j=1 To i<br />
	Set oNewObject = oServices.Get(&#8220;SCCM_BitLocker&#8221;).SpawnInstance_<br />
        oNewObject.Drive = strObjects(j,0)<br />
        oNewObject.DriveLabel = strObjects(j,1)<br />
        oNewObject.Size = strObjects(j,2)<br />
        oNewObject.BitLocker_Version = strObjects(j,3)<br />
        oNewObject.Conversion_Status = strObjects(j,4)<br />
        oNewObject.Percentage_Encrypted = strObjects(j,5)<br />
        oNewObject.Encryption_Method = strObjects(j,6)<br />
        oNewObject.Protection_Status = strObjects(j,7)<br />
        oNewObject.Lock_Status = strObjects(j,8)<br />
        oNewObject.Identification_Field = strObjects(j,9)<br />
	oNewObject.Key_Protectors = strObjects(j,10)<br />
	oNewObject.Bitlocker_Status = strObjects(j,12)<br />
        oNewObject.ScriptLastRun = strObjects(j,11)<br />
        oNewObject.Put_<br />
&#8216;Uncomment the following lines to for troubleshooting interactively<br />
&#8216;WScript.Echo strObjects(j,0) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,1) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,2) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,3) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,4) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,5) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,6) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,7) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,8) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,9) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,10) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,11) &amp; &#8220;, &#8221; &amp;_<br />
&#8216;              strObjects(j,12)<br />
Next<br />
Else<br />
End If</p>
<p>Hope this helps. Check attribute names in scripts and number of attributes in mof and the issues will go away (no errors in WMI query in the hardware inventory). You can also use the \root\cimvs\security\microsofttpm wmi namespace with the win32_tpm class to get status and even turn on/off TPM in the bios.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Installing SCCM 2007 SP1/R2 in Native Mode on Windows Server 2008 by is 7 zip free</title>
		<link>http://www.buit.org/2008/05/18/installing-sccm-2007-sp1r2-in-native-mode-on-windows-server-2008/comment-page-1/#comment-69464</link>
		<dc:creator>is 7 zip free</dc:creator>
		<pubDate>Mon, 16 Jan 2012 21:22:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.buit.org/?p=368#comment-69464</guid>
		<description>&lt;strong&gt;is 7 zip free...&lt;/strong&gt;

[...]Innovative Technology Weblog » Installing SCCM 2007 SP1/R2 in Native Mode on Windows Server 2008[...]...</description>
		<content:encoded><![CDATA[<p><strong>is 7 zip free&#8230;</strong></p>
<p>[...]Innovative Technology Weblog » Installing SCCM 2007 SP1/R2 in Native Mode on Windows Server 2008[...]&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

