<?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, 11 Nov 2009 21:03:38 GMT</pubDate>
    <generator>Clearspace 2.5.9 (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2009-11-11T21:03:38Z</dc:date>
    <item>
      <title>Finding AMT Objects in Active Directory</title>
      <link>http://communities.intel.com/community/openportit/vproexpert/blog/2009/11/11/finding-amt-objects-in-active-directory</link>
      <description>&lt;!-- [DocumentBodyStart:8c098a4e-651c-47cc-a2cf-5d2f0219f9ef] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;&lt;span style="background-color: #f9fcf6;"&gt;If you are using Out Of Band (OOB) Management in Microsoft System Center Configuration Manager (SCCM) 2007 SP1 (or greater) to manage your Intel vPro clients, you may have noticed that computer objects are created in your Active Directory domain during provisioning of the Intel vPro firmware. These computer objects are created by the &lt;em&gt;amtproxymgr&lt;/em&gt; component of an OOB Service Point, and allow Intel vPro to communicate directory with Active Directory, regardless of the operating system state.&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="background-color: #f9fcf6;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #f9fcf6;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #f9fcf6;"&gt;Since these vPro computer objects appear very similar to standard computer objects that are created when joining a Windows OS to an AD domain, it may be hard to distinguish which ones are vPro accounts, and which ones aren't. This situation can be worsened if you somehow have Windows computer accounts mixed into the same OU that contains your AMT objects.&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="background-color: #f9fcf6;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #f9fcf6;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #f9fcf6;"&gt;As you'll see below, it's very easy to locate these computers using some simple PowerShell code:&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="font-family: courier new,courier; color: #0000ff; font-size: 10pt;"&gt;$vprosearcher = [adsisearcher]"(&amp;amp;(objectclass=computer)(serviceprincipalname=*:16993*)(samaccounttype=805306368))"&lt;br/&gt;$vproaccounts = $vprosearcher.FindAll()&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #f9fcf6;"&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;These two lines of code simply create a &lt;em&gt;System.DirectoryServices.DirectorySearcher&lt;/em&gt; instance, with some LDAP search criteria to identify the accounts, and then assigns the results of this search to a PowerShell variable called &lt;span style="color: #800080; font-size: 10pt;"&gt;$vproaccounts&lt;/span&gt;. The default search root is the top-level of your Active Directory domain, and the default search scope is already set to SubTree, so you don't have to specifically configure these settings on the &lt;em&gt;DirectorySearcher&lt;/em&gt;. Once you're at this point, you can simply enumerate the accounts, or pipe the results into a PowerShell &lt;em&gt;ForEach&lt;/em&gt; loop, and perform some operation against them (for example, givem them a &lt;em&gt;Description&lt;/em&gt; attribute value).&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Because this code sample uses the "adsisearcher" &lt;a class="jive-link-external-small" href="http://blogs.msdn.com/powershell/archive/2006/07/12/type-shortcuts.aspx"&gt;type accelerator&lt;/a&gt; (aka. type shortcut), it will only work with &lt;a class="jive-link-external-small" href="http://blogs.msdn.com/powershell/archive/2009/10/27/windows-management-framework-is-here.aspx"&gt;PowerShell v2.0&lt;/a&gt; (included as part of the &lt;em&gt;Windows Management Framework&lt;/em&gt;), unless you modify PowerShell v1.0 to include it. There's almost no reason not to be using PowerShell 2.0, now that it has been officially released, however. &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 recommend using the free &lt;a class="jive-link-external-small" href="http://www.powergui.org"&gt;Quest PowerGUI&lt;/a&gt; tool to develop and debug PowerShell scripts.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Cheers,&lt;/p&gt;&lt;p&gt;Trevor Sullivan&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:8c098a4e-651c-47cc-a2cf-5d2f0219f9ef] --&gt;</description>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">intel</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">management</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">sccm</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">system</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">center</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">configuration</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">manager</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">2007</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">powershell</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">scripting</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">active</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">technology</category>
      <pubDate>Wed, 11 Nov 2009 21:03:38 GMT</pubDate>
      <author>pcgeek86@gmail.com</author>
      <guid>http://communities.intel.com/community/openportit/vproexpert/blog/2009/11/11/finding-amt-objects-in-active-directory</guid>
      <dc:date>2009-11-11T21:03:38Z</dc:date>
      <clearspace:dateToText>2 weeks, 3 days ago</clearspace:dateToText>
      <wfw:comment>http://communities.intel.com/community/openportit/vproexpert/blog/comment/finding-amt-objects-in-active-directory</wfw:comment>
      <wfw:commentRss>http://communities.intel.com/community/openportit/vproexpert/blog/feeds/comments?blogPost=12825</wfw:commentRss>
    </item>
    <item>
      <title>Can I script Intel AMT commands?</title>
      <link>http://communities.intel.com/community/openportit/vproexpert/blog/2008/12/10/can-i-script-intel-amt-commands</link>
      <description>&lt;!-- [DocumentBodyStart:6ba61e1f-b9ec-40b4-bfc4-2414b7c496cc] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;I hear the following scenario and question a lot - "All I want to do is remotely power-on a provisioned Intel AMT system.  My target client management environment does not have Intel AMT functionality.  If I could just script a remote power-on command, that would be very helpful.  Is there a way to script the command?"&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The short answer is yes - Take a look at &lt;a class="jive-link-external-small" href="http://www.symantec.com/community/article/6546/scripting-intel-amt-remote-power"&gt;http://www.symantec.com/community/article/6546/scripting-intel-amt-remote-power&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Enjoy&lt;img height="16px" src="http://communities.intel.com/images/emoticons/wink.gif" width="16px"/&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:6ba61e1f-b9ec-40b4-bfc4-2414b7c496cc] --&gt;</description>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">amt</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">scripting</category>
      <pubDate>Wed, 10 Dec 2008 23:42:41 GMT</pubDate>
      <author>terry.c.cutler@intel.com</author>
      <guid>http://communities.intel.com/community/openportit/vproexpert/blog/2008/12/10/can-i-script-intel-amt-commands</guid>
      <dc:date>2008-12-10T23:42:41Z</dc:date>
      <clearspace:dateToText>11 months, 3 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <wfw:comment>http://communities.intel.com/community/openportit/vproexpert/blog/comment/can-i-script-intel-amt-commands</wfw:comment>
      <wfw:commentRss>http://communities.intel.com/community/openportit/vproexpert/blog/feeds/comments?blogPost=11756</wfw:commentRss>
    </item>
    <item>
      <title>Setting Power Policies in Windows Powershell</title>
      <link>http://communities.intel.com/community/openportit/vproexpert/blog/2008/12/08/setting-power-policies-in-windows-powershell</link>
      <description>&lt;!-- [DocumentBodyStart:4d1502bf-8ddd-4581-affa-9be7cf3609d0] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;Hello Intel vPro Community!&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I'm going to talk to you today a little bit about how to use Windows Powershell to set Intel vPro power profiles. I'll provide a quick bit of background first on what power profiles are, and &lt;strong&gt;why&lt;/strong&gt; you'd want to be able to set them with Powershell.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Intel vPro power profiles are nothing more than a setting in the Management Engine that tells the AMT chip when to be powered up, and when not to be powered up. In some cases, you may want vPro to be inactive during sleep states, or after the computer has lost power (eg. UPS failure).&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;In my case however, I want vPro to be always active. This is problematic, because Microsoft Configuration Manager's implementation of a provisioning server doesn't give you the option of setting the active power profile. Instead, during provisioning, ConfigMgr sets the active profile to whatever index "5" is. You'll actually see this in the &lt;em&gt;amtopmgr.log&lt;/em&gt; file on your OOB (Out-Of-Band) service point during the provisioning process.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Because ConfigMgr decides the default power profile during provisioning, I've decided that I wanted to change it. Because Windows Powershell is an &lt;em&gt;awesome&lt;/em&gt; automation tool, and because Intel's AMT Developer Toolkit (DTK) offers a .NET library that I can use in Powershell, I figured that I would figure out how to do it!&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;You might remember my last post on how to use Powershell to connect to an AMT device. The process basically involves loading the aforementioned .NET DLL from the DTK, and then establishing a connection to the device. I didn't really get the opportunity to show you how to do a whole lot with it after making the connection though, so that's the purpose of this post! Let's go ahead and take a look at a few lines of Powershell code, so you can understand the retrieval, and setting of power profiles.&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;# In my last Powershell script, I used the $amtdevice variable&lt;/p&gt;&lt;p&gt;# to reference the &lt;em&gt;AmtSystem&lt;/em&gt; .NET object. We'll assume at this point&lt;/p&gt;&lt;p&gt;# that you have already connected to the AMT device based&lt;/p&gt;&lt;p&gt;# on my last article.&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008080;"&gt;$amtdevice&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;# By using the .NET Reflector tool, we can see that the &lt;em&gt;AmtSystem&lt;/em&gt;&lt;/p&gt;&lt;p&gt;# object has a property called &lt;em&gt;SecurityAdmin&lt;/em&gt;, which returns an &lt;em&gt;AmtSecurityAdmin&lt;/em&gt;&lt;/p&gt;&lt;p&gt;# object.&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008080;"&gt;$AmtSecAdmin = $AmtDevice.SecurityAdmin&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;# The &lt;em&gt;AmtSecurityAdmin&lt;/em&gt; object has a method called &lt;em&gt;GetPowerPackages&lt;/em&gt;().&lt;/p&gt;&lt;p&gt;# After examining this data type in .NET Reflector, we can filter for only the two&lt;/p&gt;&lt;p&gt;# properties we want to see, the profile &lt;em&gt;ID&lt;/em&gt;, and its &lt;em&gt;Name&lt;/em&gt;. We'll use the Powershell&lt;/p&gt;&lt;p&gt;# &lt;em&gt;Select-Object&lt;/em&gt; cmdlet to filter this data.&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008080;"&gt;$AmtSecAdmin.GetPowerPackages() | Select-Object -Property ID,Name&lt;/span&gt;&lt;/p&gt;&lt;p&gt;# You should get some output looking something like this:&lt;/p&gt;&lt;p&gt;# 12834f94-10fb-dc4f-968e-1e232b0c9065         Desktop: ON in S0&lt;br/&gt;# ab0086a1-7f9a-424c-a6e6-bb243a295d9e         Desktop: ON in S0, S3&lt;br/&gt;# acab8672-b496-e248-9b9e-9b7df91c7fd4         Desktop: ON in S0, S3, S4-5&lt;br/&gt;# 4dcd327b-be6b-8943-a62a-4d7bd8dbd026         Desktop: ON in S0, ME Wake in S3&lt;br/&gt;# 46732273-dc23-2f43-a98a-13d37982d855         Desktop: ON in S0, ME Wake in S3, S4-5&lt;br/&gt;# baa419c5-6f6e-4d8d-b227-517f7e4595db         Desktop: ON in S0, S3, S4-5, OFF After Power Loss&lt;br/&gt;# ede30bd6-c504-462c-b772-d18018ee2fc4         Desktop: ON in S0, ME Wake in S3, S4-5, Off After Power Loss&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;# Once we have a listing of the power profiles available on the AMT device&lt;/p&gt;&lt;p&gt;# we can get the one that we want, and then set it. Since I always want my&lt;/p&gt;&lt;p&gt;# AMT device active, no matter the system's power state, I'm going to choose&lt;/p&gt;&lt;p&gt;# "&lt;em&gt;Desktop: ON in S0, S3, S4-5&lt;/em&gt;" which is index 2 (in a zero-based collection).&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008080;"&gt;$TargetPowerProfile = ($AmtSecAdmin.GetPowerPackages())[2]&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;# Now that I have a variable referencing the target power profile, I will set the&lt;/p&gt;&lt;p&gt;# profile on the AMT device. The AmtSecurityAdmin object has a method called&lt;/p&gt;&lt;p&gt;# &lt;em&gt;SetActivePowerPackage&lt;/em&gt;() that takes one parameter: the power profile we have&lt;/p&gt;&lt;p&gt;# a reference to.&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008080;"&gt;$AmtResult = $AmtSecAdmin.SetActivePowerPackage($TargetPowerProfile)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008080;"&gt;"Setting power profile to $($TargetPowerProfile.Name) resulted in $AmtResult!"&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;##### End Setting Power Profile #####&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;# Let's also take a quick look at how to get some basic information about&lt;/p&gt;&lt;p&gt;# the AMT device's provisioning data. We can figure out if IDE-R, SoL, and the&lt;/p&gt;&lt;p&gt;# WebUI are enabled. We'll use the &lt;em&gt;AmtGeneralInfo&lt;/em&gt; object for this.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;# Get a reference to the &lt;em&gt;AmtGeneralInfo&lt;/em&gt; object&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008080;"&gt;$AmtInfo = $amtdevice.Info&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;# Write out the current configuration settings&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008080;"&gt;"SOL Enabled: $AmtInfo.SerialOverLanEnabled"&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008080;"&gt;"IDE-R Enabled: $AmtInfo.IdeRedirectEnabled"&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #008080;"&gt;"WebUI Enabled: $AmtInfo.WebUiEnabled"&lt;/span&gt;&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 this helps get you on your way to doing some cool Powershell / vPro automation! Let me know whether or not this helps you in your endeavors &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;&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:4d1502bf-8ddd-4581-affa-9be7cf3609d0] --&gt;</description>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">configmgr</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">system</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">center</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">saver</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">configuration</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">standardize</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">manager</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">2007</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">amt</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">administrate</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">sccm</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">sccm_sp1</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">administer</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">windows</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">scripting</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">time</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">tools</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">dtk</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">intel</category>
      <pubDate>Tue, 09 Dec 2008 02:03:20 GMT</pubDate>
      <author>pcgeek86@gmail.com</author>
      <guid>http://communities.intel.com/community/openportit/vproexpert/blog/2008/12/08/setting-power-policies-in-windows-powershell</guid>
      <dc:date>2008-12-09T02:03:20Z</dc:date>
      <clearspace:dateToText>11 months, 3 weeks ago</clearspace:dateToText>
      <wfw:comment>http://communities.intel.com/community/openportit/vproexpert/blog/comment/setting-power-policies-in-windows-powershell</wfw:comment>
      <wfw:commentRss>http://communities.intel.com/community/openportit/vproexpert/blog/feeds/comments?blogPost=11748</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:c8826c5b-947a-4b11-a639-73bd4be4f305] --&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:c8826c5b-947a-4b11-a639-73bd4be4f305] --&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, 18 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>
    <item>
      <title>Real world experiences with provisioning using a hybrid Activator Utility and Scripts approach</title>
      <link>http://communities.intel.com/community/openportit/vproexpert/blog/2008/09/03/real-world-experiences-with-provisioning-using-a-hybrid-activator-utility-and-scripts-approach</link>
      <description>&lt;!-- [DocumentBodyStart:815ef1c3-11f3-4501-b638-85432ad072c2] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;As many of you might know or have experienced, relying fully on the default provisioning window where the Management Engine sends 'Hello Packets' to the SCS server is problematic. Problems start arising in the following instances:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ol&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;The network has multiple domain suffices being allocated as connection specific DNS suffices depending on location and this could potentially lead to a mismatch between the SCS domain suffix and the client domain suffix.&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;DHCP option 15 upon which the default process relies on might need be in use for one reason or another&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;The provisioning window (24 hours for RCFG and 6 hours for PID/PPS by default) has closed before the infrastructure has been put in place to do something useful with these hello messages.&lt;/p&gt;&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;In the past there was a solution based on sample vbscripts provided by Intel- either Server side only or a combination of client and server side scripts that would be used in conjunction with SCS. This has now evolved to the Activator Utility which is considered the best known method, however there are some subtleties where using the Activator isn't as straight forward, such as:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ol&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;The Activator utility will typically run under the context of the Local System Account - to allow each Local System Account to write information to the SCS DB requires delegating control all the Computer Objects. This is seen as a significant security risk by some organisations.&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;The syntax for running the Activator utility necessitates the specification of a profile ID. The number of the profile ID can't be pre-determined with absolute certainty and the SCS API only accept the profile ID and not the profile name. A situation can ensue that the wrong profile ID has been hardcoded on the clients.&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;Some operations like /a cannot work under the Local System Account context to begin with&lt;/p&gt;&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;Together with the hetrogeneous states of vPro machines (some provisioned, some not, some needing to be re-provisioned) some further logic needs to be put in place to provide a robust end to end solution. This has lead to the implementation (in a nutshell) of the following solution at a large scale enterprise customer (it assumes knowledge of the activator utility and it's switches):&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ol&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;A scriptable interface needs to be able to determine whether a system is provisioned or not - this is achieved by running MEInfo and parsing the contents of the output and writing some information into registry keys.&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;A script always checks the registry keys to know whether to run the Activator utility&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;The script is run at every boot-up of the system to make sure any previous failed attempts or if the system has been unprovisioned since the last boot is covered&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;Once a script (which runs under the context of the Local System Account) determines it needs to execute - i.e. the machine is unprovisioned but has PID/PPS loaded it runs the Activator Utility with the //s h /d PID but not /o and /p&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;&lt;strong&gt;At this point you might ask yourself, if I am using the client side vbscript, why should I use the Activator tool as well? The answer is that the Activator tool provides you the ability to send an in-band 'hello message' to kick-off the provisioning process. That is why we make use of the /h and /d PID parameters&lt;/strong&gt;. If you wouldn't use the Activator tool, the out of band 'hello messages' would have easily timed-out a long time ago and you wouldn't be able to commence their resending unless you pulled the power cable out and back in - i.e. restart the Management Engine.&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;The PID is predetermined per machine type and can be inserted into XML file that sits in client - if the PID was unique per each machine this would have broken the whole solution - hence a clear recommendation to have the same PID/PPS across all machines or at least across all machines of the same model&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;At this point the information is written into an Interim DB using SQL account permissions&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;Note that no permissions need to have been delegated for all Local System Accounts&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;On the server side the script uses the same or different SQL account permissions to access to the interim DB&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;On the server side the script contains the /p and /o parameters - this is crucial as this is a single point where the /p and /o parameters can be changed thus providing flexibility&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;In addition since the customer has opted to not use certificates and because there is a difference between the connection specific and Active Directory domain suffices, provisioning is take place with hostname only - typically this would have involved using the /a switch, however there is a known issue that won't work under the context of the Local System Account. Therefore the FQDN is stripped of it's domain the server script and the hostname is derived.&lt;/p&gt;&lt;/li&gt;&lt;li level="1" type="ol"&gt;&lt;p&gt;The server script creates an XML file with the appropriate content to plug into the Configuration Parameters table in the main SCS DB, as the SCS service can parse the contents of this XML file and check that it is valid content.&lt;/p&gt;&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;The overall benefit of this solution is you avoid the security risk of delegating access rights for all Local System accounts, cover the different scenarios when the Activator Utility should be run, avoid the problems of mismatching domain suffices and maintain the flexibility of a single point of changing parameters for the variable Activator Utility syntax.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The same logic will apply if you are using RCFG - simply ignore point #6 above regarding PID. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Hope some of you find this useful.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks, Tal&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:815ef1c3-11f3-4501-b638-85432ad072c2] --&gt;</description>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">provision</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">provisioning</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">pid</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">pps</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">activation</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">activator_utility</category>
      <pubDate>Wed, 03 Sep 2008 12:45:47 GMT</pubDate>
      <author>tal.elgar@intel.com</author>
      <guid>http://communities.intel.com/community/openportit/vproexpert/blog/2008/09/03/real-world-experiences-with-provisioning-using-a-hybrid-activator-utility-and-scripts-approach</guid>
      <dc:date>2008-09-03T12:45:47Z</dc:date>
      <clearspace:dateToText>1 year, 2 months ago</clearspace:dateToText>
      <wfw:comment>http://communities.intel.com/community/openportit/vproexpert/blog/comment/real-world-experiences-with-provisioning-using-a-hybrid-activator-utility-and-scripts-approach</wfw:comment>
      <wfw:commentRss>http://communities.intel.com/community/openportit/vproexpert/blog/feeds/comments?blogPost=11484</wfw:commentRss>
    </item>
    <item>
      <title>Intel AMT Commander’s Serial-over-LAN scripting</title>
      <link>http://communities.intel.com/community/openportit/vproexpert/blog/2008/02/04/intel-amt-commander-s-serialoverlan-scripting</link>
      <description>&lt;!-- [DocumentBodyStart:aa19a6c1-6cdc-4ed9-b088-84331731d0d2] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;Serial-over-LAN is quite useful for taking control of a computer, making changes to the BIOS and when Intel AMT Outpost or Guardpost is running, getting a management command prompt even when the OS network driver is disabled. What if you have to repeat the BIOS change on 100’s of computers? Say you want to change a BIOS boot option on 100 computers? Or want to test the reliability of a new computer platform? The Intel AMT Serial-over-LAN scripting can help.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Connect using &lt;a class="jive-link-external-small" href="http://www.intel.com/software/amt-dtk"&gt;Intel AMT Commander&lt;/a&gt; to the Intel AMT computer and select “Take Control” to enter the VT100 terminal. Make sure everything works well and you can connect and perform Serial-over-LAN correctly. Go in the “Terminal” menu and select “Script editor…” and write a script like this one, using the user interface to guide you:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;LABEL “start” &lt;br/&gt; RESET bios &lt;br/&gt; WAIT 40 seconds. &lt;br/&gt; RESET powerdown &lt;br/&gt; WAIT 15 seconds &lt;br/&gt; JUMP “start”&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;You can save the script, and run it. You can also write more complicated scripts to change BIOS options and do more interesting things. There is a command:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;WAITFOR “abcd”&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;This command will wait until the string “abcd” is anywhere on the VT100 screen. This is very useful to wait for the computer to finish booting and to do something after. You can also send string to SOL:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;SEND “dir\r”&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;To send the “dir” command. Terminal scripting is very powerful. It’s also a great way to impress your friends and customers. In a few minutes, you can write a script that will power on a computer; navigate throughout the BIOS screens and shutdown the computer when done. Once you run it, it’s like a ghost is taking control of your computer and going into the BIOS, very cool.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ylian (&lt;a class="jive-link-external-small" href="http://www.intel.com/software/ylian"&gt;Intel AMT Blog&lt;/a&gt;)&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:aa19a6c1-6cdc-4ed9-b088-84331731d0d2] --&gt;</description>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">intel</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">dtk</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">commander</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">sol</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">serial-over-lan</category>
      <category domain="http://communities.intel.com/community/openportit/vproexpert/blog/tags">scripting</category>
      <pubDate>Tue, 05 Feb 2008 06:31:34 GMT</pubDate>
      <author>ylian.saint-hilaire@intel.com</author>
      <guid>http://communities.intel.com/community/openportit/vproexpert/blog/2008/02/04/intel-amt-commander-s-serialoverlan-scripting</guid>
      <dc:date>2008-02-05T06:31:34Z</dc:date>
      <clearspace:dateToText>1 year, 9 months ago</clearspace:dateToText>
      <wfw:comment>http://communities.intel.com/community/openportit/vproexpert/blog/comment/intel-amt-commander-s-serialoverlan-scripting</wfw:comment>
      <wfw:commentRss>http://communities.intel.com/community/openportit/vproexpert/blog/feeds/comments?blogPost=10880</wfw:commentRss>
    </item>
  </channel>
</rss>

