Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
executable file 66 lines (60 sloc) 2.06 KB
Function Get-SecureBoot {
<#
.SYNOPSIS Query Seure Boot setting for a VM in vSphere 6.5
.NOTES Author: William Lam
.NOTES Site: www.virtuallyghetto.com
.PARAMETER Vm
VM to query Secure Boot setting
.EXAMPLE
Get-VM -Name Windows10 | Get-SecureBoot
#>
param(
[Parameter(
Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true)
]
[VMware.VimAutomation.ViCore.Impl.V1.Inventory.InventoryItemImpl]$Vm
)
$secureBootSetting = if ($vm.ExtensionData.Config.BootOptions.EfiSecureBootEnabled) { "enabled" } else { "disabled" }
Write-Host "Secure Boot is" $secureBootSetting
}
Function Set-SecureBoot {
<#
.SYNOPSIS Enable/Disable Seure Boot setting for a VM in vSphere 6.5
.NOTES Author: William Lam
.NOTES Site: www.virtuallyghetto.com
.PARAMETER Vm
VM to enable/disable Secure Boot
.EXAMPLE
Get-VM -Name Windows10 | Set-SecureBoot -Enabled
.EXAMPLE
Get-VM -Name Windows10 | Set-SecureBoot -Disabled
#>
param(
[Parameter(
Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true)
]
[VMware.VimAutomation.ViCore.Impl.V1.Inventory.InventoryItemImpl]$Vm,
[Switch]$Enabled,
[Switch]$Disabled
)
if($Enabled) {
$secureBootSetting = $true
$reconfigMessage = "Enabling Secure Boot for $Vm"
}
if($Disabled) {
$secureBootSetting = $false
$reconfigMessage = "Disabling Secure Boot for $Vm"
}
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$bootOptions = New-Object VMware.Vim.VirtualMachineBootOptions
$bootOptions.EfiSecureBootEnabled = $secureBootSetting
$spec.BootOptions = $bootOptions
Write-Host "`n$reconfigMessage ..."
$task = $vm.ExtensionData.ReconfigVM_Task($spec)
$task1 = Get-Task -Id ("Task-$($task.value)")
$task1 | Wait-Task | Out-Null
}
You can’t perform that action at this time.