Public/Get-AMTDeviceBootOptions.ps1
function Get-AMTDeviceBootOptions { <# .SYNOPSIS List available bootoptions for a device. .DESCRIPTION List available bootoptions for a device. The bootoption IDs can be used with Invoke-AMTPowerAction. .PARAMETER GUID Specify a device GUID to display a device's available boot options. .INPUTS You can pipe one or more device GUIDs into Get-AMTDeviceBootOptions. .OUTPUTS System.Object .EXAMPLE PS> Get-AMTDeviceBootOptions -GUID 1ada9c84-780e-4ccc-831c-0edb26994b18 Power up : 2 Power cycle : 5 Power down : 8 Reset : 10 Soft-off : 12 Soft-reset : 14 Sleep : 4 Hibernate : 7 Power up to BIOS : 100 Reset to BIOS : 101 Reset to IDE-R Floppy : 200 Power on to IDE-R Floppy : 201 Reset to IDE-R CDROM : 202 Power on to IDE-R CDROM : 203 Reset to PXE : 400 Power on to PXE : 401 .EXAMPLE PS> Get-AMTDevice | Get-AMTDeviceBootOptions Power up : 2 Power cycle : 5 Power down : 8 Reset : 10 Soft-off : 12 Soft-reset : 14 Sleep : 4 Hibernate : 7 Power up to BIOS : 100 Reset to BIOS : 101 Reset to IDE-R Floppy : 200 Power on to IDE-R Floppy : 201 Reset to IDE-R CDROM : 202 Power on to IDE-R CDROM : 203 Reset to PXE : 400 Power on to PXE : 401 Power up : 2 Power cycle : 5 Power down : 8 Reset : 10 Soft-off : 12 Soft-reset : 14 Sleep : 4 Hibernate : 7 Power up to BIOS : 100 Reset to BIOS : 101 Reset to IDE-R Floppy : 200 Power on to IDE-R Floppy : 201 Reset to IDE-R CDROM : 202 Power on to IDE-R CDROM : 203 Reset to PXE : 400 Power on to PXE : 401 ... .EXAMPLE PS> "1ada9c84-780e-4ccc-831c-0edb26994b18" | Get-AMTDeviceBootOptions Power up : 2 Power cycle : 5 Power down : 8 Reset : 10 Soft-off : 12 Soft-reset : 14 Sleep : 4 Hibernate : 7 Power up to BIOS : 100 Reset to BIOS : 101 Reset to IDE-R Floppy : 200 Power on to IDE-R Floppy : 201 Reset to IDE-R CDROM : 202 Power on to IDE-R CDROM : 203 Reset to PXE : 400 Power on to PXE : 401 .LINK Online version: https://github.com/netricsag/PowerAMT/tree/main/Docs #> param ( [Parameter(Mandatory,ValueFromPipeline,ValueFromPipelineByPropertyName)][string]$GUID ) begin { if($null -eq $Global:AMTSession){ throw "No active AMT session. Create a session first with Connect-AMTManagement" } } process { $headers=@{} $headers.Add("Authorization", "Bearer $($Global:AMTSession.Token)") $uri = "https://" + $Global:AMTSession.Address + "/mps/api/v1/amt/power/capabilities/$GUID" if($null -ne $GUID -and $GUID -ne ""){ if ($PSVersionTable.PSVersion.Major -le 5) { $Response = Invoke-RestMethod -Uri $uri -Method GET -Headers $headers -TimeoutSec 5 } else { $Response = Invoke-RestMethod -Uri $uri -Method GET -Headers $headers -SkipCertificateCheck -TimeoutSec 5 } return $Response } } } |