<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Intel vPro Expert Center Blog</title>
    <link>http://communities.intel.com/community/openportit/vproexpert/blog</link>
    <description>Intel vPro Expert Center Blog</description>
    <pubDate>Wed, 25 Feb 2009 04:01:52 GMT</pubDate>
    <generator>Clearspace 2.5.9 (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2009-02-25T04:01:52Z</dc:date>
    <item>
      <title>Powershell: Exploring the Management Engine</title>
      <link>http://communities.intel.com/community/openportit/vproexpert/blog/2009/02/24/powershell-exploring-the-management-engine</link>
      <description>&lt;!-- [DocumentBodyStart:30a17f94-28ba-4f3a-af21-578a592d55da] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;Hello vPro Experts! &lt;img height="16px" src="http://communities.intel.com/images/emoticons/happy.gif" width="16px"/&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I would like to take some time to touch on exploration of the management engine via the local interface (specifically the HECI driver). In order to follow the exercise here, you'll need to have &lt;a class="jive-link-external-small" href="http://en.wikipedia.org/wiki/Windows_PowerShell"&gt;Windows Powershell&lt;/a&gt; installed, have the &lt;a class="jive-link-external-small" href="http://www.intel.com/software/amt-dtk/"&gt;Intel AMT Developer Toolkit&lt;/a&gt; downloaded and installed, and have an AMT client (&lt;em&gt;does not need to be provisioned&lt;/em&gt;) with the HECI driver installed. The HECI driver should be downloadable from your OEM.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;To give you a high-level idea of the program flow we'll use to access the AMT device, consider the following:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Load the "&lt;span style="color: #666699;"&gt;Manageability Stack.dll&lt;/span&gt;" .NET library&lt;/li&gt;&lt;li&gt;Create an instance of the &lt;span style="color: #666699;"&gt;ManageabilityStack.HeciWrapper&lt;/span&gt; object&lt;/li&gt;&lt;li&gt;Reference the properties and methods of the &lt;span style="color: #666699;"&gt;HeciWrapper&lt;/span&gt; object, and the &lt;span style="color: #666699;"&gt;HeciMeInfo&lt;/span&gt; object (provided by the &lt;span style="color: #666699;"&gt;HeciWrapper.MeInfo&lt;/span&gt; property)&lt;/li&gt;&lt;/ol&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Here is the Powershell code that correlates to the above process:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Loading the .NET Library&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #339966;"&gt;# Load the Manageability Stack .NET library&lt;/span&gt;&lt;/p&gt;&lt;p&gt;$AmtLib = "C:\Program Files\Intel\Manageability Developer Tool Kit\Manageability Stack.dll"&lt;br/&gt;[System.Reflection.Assembly]::LoadFile($AmtLib)&lt;br/&gt;&lt;span style="color: #339966;"&gt;# Create a HeciWrapper object&lt;/span&gt;&lt;/p&gt;&lt;p&gt;$Heci = New-Object ManageabilityStack.HeciWrapper&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #339966;"&gt;# Pipe the $Heci variable into the Get-Member cmdlet to determine what properties&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #339966;"&gt;# and methods are available to us.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;$Heci | Get-Member&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Obtaining a list of embedded certificate hashes&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #339966;"&gt;# List embedded certificate hashes&lt;/span&gt;&lt;br/&gt;$Heci.MeInfo.EnumerateHashHandles()&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Getting the BIOS and AMT Versions&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #339966;"&gt;# Retrieve the AMT version&lt;/span&gt;&lt;br/&gt;Write-Host "AMT version: $($Heci.Versions.Versions["AMT"])"&lt;br/&gt;&lt;span style="color: #339966;"&gt;# Retrieve the BIOS version&lt;/span&gt;&lt;br/&gt;Write-Host "BIOS version: $($Heci.Versions.BiosVersion)"&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Retrieving Provisioning Information&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #339966;"&gt;# Retrieve the provisioning server name&lt;/span&gt;&lt;br/&gt;Write-Host "Provisioning server: $($Heci.MeInfo.GetAuditRecord().ProvServerFQDN)"&lt;br/&gt;&lt;span style="color: #339966;"&gt;# Determine provisioning date&lt;br/&gt;# This will return "01/01/0001 00:00:00" if not provisioned&lt;/span&gt;&lt;br/&gt;Write-Host "Provision date: $($Heci.MeInfo.GetAuditRecord().TlsStartTime)"&lt;br/&gt;&lt;span style="color: #339966;"&gt;# Get provisioning mode (Enterprise, SMB, etc.)&lt;/span&gt;&lt;br/&gt;Write-Host "Provision mode: $($Heci.MeInfo.GetProvisioningMode().ProvisioningMode)"&lt;br/&gt;&lt;span style="color: #339966;"&gt;# Get provisioning state&lt;/span&gt;&lt;br/&gt;Write-Host "Provision state: $($Heci.MeInfo.GetProvisioningState())"&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-----------------------------------&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I hope these code samples are able to help you out in your administration / engineering endeavors! Please let me know if you have any questions, and don't forget that in Powershell .... when in doubt .... use &lt;span style="color: #808080;"&gt;Get-Member&lt;/span&gt; to discover what information is available to you!&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Trevor Sullivan&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Systems Engineer&lt;/em&gt;&lt;/p&gt;&lt;p&gt;OfficeMax Corporation&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:30a17f94-28ba-4f3a-af21-578a592d55da] --&gt;</description>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">vpro</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">engineer</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">troubleshoot</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">automate</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">deploy</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">microsoft</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">amt</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">administration</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">sullivan</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">tools</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">powershell</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">script</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">intel</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">automation</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">trevor</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">manage</category>
      <pubDate>Wed, 25 Feb 2009 04:26:00 GMT</pubDate>
      <author>pcgeek86@gmail.com</author>
      <guid>http://communities.intel.com/community/openportit/vproexpert/blog/2009/02/24/powershell-exploring-the-management-engine</guid>
      <dc:date>2009-02-25T04:26:00Z</dc:date>
      <clearspace:dateToText>9 months, 6 days ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
      <wfw:comment>http://communities.intel.com/community/openportit/vproexpert/blog/comment/powershell-exploring-the-management-engine</wfw:comment>
      <wfw:commentRss>http://communities.intel.com/community/openportit/vproexpert/blog/feeds/comments?blogPost=11923</wfw:commentRss>
    </item>
    <item>
      <title>Intel AMT, Windows Powershell, and You</title>
      <link>http://communities.intel.com/community/openportit/vproexpert/blog/2008/12/02/intel-amt-windows-powershell-and-you</link>
      <description>&lt;!-- [DocumentBodyStart:929be5cd-d8d7-46d5-a392-17bcefbe3a48] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;Hello everyone!&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I have been working on understanding the Intel AMT Developer's Toolkit (DTK) so that I can begin developing some custom tools around Intel vPro. One of the tools that I am planning on working with is Microsoft's Windows Powershell. Windows Powershell is a very powerful, object-oriented command-line replacement for Windows XP, Vista, 2003, and 2008. It's an administrative scripting language that is significantly more powerful than VBscript, and has the entire power of the Microsoft .NET Platform behind it.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Just today, I've had my first success in using the Intel DTK with Windows Powershell, in my quest to automate Intel vPro related tasks using Powershell!&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This is some &lt;strong&gt;really&lt;/strong&gt; cool stuff, and I just had to get it out there to share with the community. I can't wait to see what else people build off of this!&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Here is the first sample code that I've gotten to function correctly. I'm using it against a Dell Optiplex 755 running AMT firmware version 3.2.1, which was provisioned through ConfigMgr SP1.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-------------&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;$amtusername = "vprodemo\DomainUser"&lt;br/&gt;$amtpassword = "P@SSW0Rd"&lt;br/&gt;$amthostname = "vproclient.vprodemo.local"&lt;br/&gt;$amtport = 16993&lt;br/&gt;$amtrecallpassword = $false&lt;br/&gt;$amtwebservicesonly = $false&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;$manageabilitystack = "C:\Program Files\Intel\Manageability Developer Tool Kit\Manageability Stack.dll"&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;[System.Reflection.Assembly]::LoadFile("$ManageabilityStack") | Out-Null&lt;br/&gt;Write-Host "Connecting to $amthostname on port $amtport"&lt;br/&gt;$amtdevice = New-Object ManageabilityStack.AmtSystem $amthostname,$amtport,$amtusername,$amtpassword,$amtrecallpassword,$amtwebservicesonly&lt;br/&gt;$amtdevice.UseTls = $true&lt;br/&gt;$amtdevice.WsManSupport = $true&lt;br/&gt;Write-Host "TLS: $($amtdevice.UseTls), WsMan Support: $($amtdevice.WsManSupport)"&lt;br/&gt;$amtdevice.Connect()&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;while ($amtdevice.State -eq "Connecting")&lt;br/&gt;{&lt;br/&gt;    Start-Sleep 1&lt;br/&gt;}&lt;br/&gt;Write-Host "AMT device is in state $($amtdevice.State.ToString())"&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-------------&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Unfortunately that's all I can post for now, but I definitely plan on continuing work on this development!&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Trevor Sullivan&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Systems Engineer&lt;/em&gt;&lt;/p&gt;&lt;p&gt;OfficeMax Corporation&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:929be5cd-d8d7-46d5-a392-17bcefbe3a48] --&gt;</description>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">administrator</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">trevor</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">sullivan</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">microsoft</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">windows</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">powershell</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">scripting</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">development</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">automation</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">vpro</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">amt</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">intel</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">configmgr</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">deploy</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">engineer</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">automate</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">manage</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">administrate</category>
      <pubDate>Wed, 03 Dec 2008 03:36:40 GMT</pubDate>
      <author>pcgeek86@gmail.com</author>
      <guid>http://communities.intel.com/community/openportit/vproexpert/blog/2008/12/02/intel-amt-windows-powershell-and-you</guid>
      <dc:date>2008-12-03T03:36:40Z</dc:date>
      <clearspace:dateToText>12 months, 12 hours ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
      <wfw:comment>http://communities.intel.com/community/openportit/vproexpert/blog/comment/intel-amt-windows-powershell-and-you</wfw:comment>
      <wfw:commentRss>http://communities.intel.com/community/openportit/vproexpert/blog/feeds/comments?blogPost=11738</wfw:commentRss>
    </item>
  </channel>
</rss>

