能否通过PowerShell命令修改Azure虚拟机的UEFI设置?
Azure Trusted Launch虚拟机:部署后修改SecureBoot/vTPM的可行性及操作
核心结论
可行,但**必须先将虚拟机停止(解除分配状态)**才能修改——这类UEFI级别的安全配置属于底层硬件参数,无法在VM运行时变更。另外,vTPM一旦启用后无法关闭,仅能在VM创建阶段决定是否开启。
PowerShell操作步骤
停止目标虚拟机
执行命令将VM置于停止(解除分配)状态:Stop-AzVM -ResourceGroupName "你的资源组名" -Name "你的VM名称" -Force修改安全配置
根据需求调整SecureBoot(vTPM仅支持创建时启用,部署后无法关闭):- 开启SecureBoot(若之前关闭):
Set-AzVM -ResourceGroupName "你的资源组名" -Name "你的VM名称" ` -SecurityProfile @{ UefiSettings = @{ SecureBootEnabled = $true VtpmEnabled = $true # 仅当创建时未启用时可设置,启用后无法再改为false } } - 关闭SecureBoot:
Set-AzVM -ResourceGroupName "你的资源组名" -Name "你的VM名称" ` -SecurityProfile @{ UefiSettings = @{ SecureBootEnabled = $false } }
- 开启SecureBoot(若之前关闭):
重启虚拟机
配置完成后启动VM:Start-AzVM -ResourceGroupName "你的资源组名" -Name "你的VM名称"
重要限制
- 仅Trusted Launch类型的VM支持修改SecureBoot,普通Azure VM无此配置项。
- vTPM启用后不可逆,部署完成后无法关闭,需在VM创建阶段确认是否需要启用。
- 修改操作会导致VM停机,需提前安排业务窗口。
内容的提问来源于stack exchange,提问作者Talang_madave
相关产品推荐
相关产品推荐

