PowerShell Module for Intel vPro Technology: PowerShell Drives Beta – Part 3

Note: The contents in this post are on topics that are not fully released or implemented.  Content is subject to change at any time.

With this part of 3 of the PowerShell Drives Beta that came with version 2 of the PowerShell Module for Intel vPro Technology, we are going focus on working with the AMT 3rd Party Data Store (3PDS) through the AMT PowerShell Drive.

For those familiar with PowerShell Module for Intel vPro Technology, you already know that there are some built in CMDLets and Functions that allow you to work with the AMT 3PDS (Get-AMT3PDS, Set-AMT3PDS, Clear-AMT3PDS).  Although these still remain a viable way to work with the AMT 3PDS, we have also extended the PowerShell Module to allow the AMT 3PDS to be accessible via the PowerShell AMT Drive.

Before you begin, you need to import the module and mount the AMT PowerShell drive.

Import-Module IntelvPro

$myPSCredential = Get-Credential admin

New-PSDrive -Name AMT -PSProvider amtsystem -root "/" -computername vproclient.vprodemo.com -Credential $myPSCredential

If you set-location to AMT:Config3PDStorage, you will see 3 key folders:

Enterprises: Designated for top level 3PDS ACL

Allocations: Location of Physical storage location

Registers: Correlations between the Enterprises and Allocation


If you do a Get-ItemProperty AMT:Config3PDStorage, you can see the associated properties including the max and current allocated storage of the 3PDS.


So to create a 3PDS location, the first thing you need to do is create a new Enterprise that the 3PDS ACLs are associated to (however, i could use an existing one if I so choose).

New-Item AMT:Config3PDStorageEnterprisesExample

Then you create a new Allocation where the data will be stored.

New-Item AMT:Config3PDStorageAllocationsvenExampleDemoText

Then, similar to mounting a device in Linux / Unix, you mount the storage location to a virtual location

New-Item AMT:3PDStorageDemoText -StoragePath \ExamplevenExampleDemoText

If you do a set-location to AMT:3PDStorage and perform a get-childitem, you will see there is a newly mounted item.

At this point, you can do a normal Set-Content and then Get-Content on the data location

Set-Content .DemoText -Value "Hello World"

Get-Content .DemoText


This is not just limited to ASCII text, you can use the same process for writing binary data to the storage location and then read it back out into a file (the example below is just using a jpg file, but it can be any file that does not exceed the storage location size.)

New-Item AMT:Config3PDStorageAllocationsvenExample2DemoFile -TotalAllocationSize 102400

New-Item AMT:3PDStorageDemoFile -StoragePath \ExamplevenExample2DemoFile

[byte[]] $x = Get-Content -encoding byte -path C:PS\MyPic.jpg

Set-Content -encoding byte $x -path AMT:3PDStorageDemoFile

Get-Content -enc byte amt:3PDStorageDemoFile | Set-Content c:PSMyPic-From3PDS.jpg -enc byte


Related Content:

--Matt Royer