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 -Credential $myPSCredential



If you set-location to AMT:\Config\3PDStorage, 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:\Config\3PDStorage, 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:\Config\3PDStorage\Enterprises\Example


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

New-Item AMT:\Config\3PDStorage\Allocations\venExample\DemoText


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

New-Item AMT:\3PDStorage\DemoText -StoragePath \\Example\venExample\DemoText


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:\Config\3PDStorage\Allocations\venExample2\DemoFile -TotalAllocationSize 102400

New-Item AMT:\3PDStorage\DemoFile -StoragePath \\Example\venExample2\DemoFile

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

Set-Content -encoding byte $x -path AMT:\3PDStorage\DemoFile

Get-Content -enc byte amt:\3PDStorage\DemoFile | Set-Content c:\PS\MyPic-From3PDS.jpg -enc byte




Related Content:


--Matt Royer