这篇Msdn-BcdStore文章介绍了如何使用WMI API操作BCD存储。
使用此框架,我尝试更改Boot loader的Nx策略元素。 根据{{1}},Nx策略值的当前值为1(即OptOut)。
下面的Powershell脚本试图将系统BcdStore中的引导加载程序的nx策略设置为AlwaysOff。
bcdedit /enum
以上脚本成功运行,没有任何错误。这意味着它应该将Nx策略的值更改为2(即AlwaysOff)。但是我的$store = (Invoke-WmiMethod -Path BcdStore -Namespace root\wmi -name openstore -argumentlist '').Store
$loaders = (Invoke-WmiMethod -Path $store.__RELPATH -Namespace root\wmi -name EnumerateObjects -argumentlist 270532611).Objects
#Picking up the default OS loader
$osloader = $loaders[1]
Invoke-WmiMethod -Path $osloader.__RELPATH -Namespace root\wmi -name SetIntegerElement -argumentlist 620757024,2
仍然显示Nx策略为bcdedit /enum
。
我已通知BcdObject下的OptOut
函数删除该元素。但是DeleteElement
并未设置元素值。
我无法得到我在这里想念的东西。请帮我解决这个问题。