如何使用WMI更改BcdStore的元素值?

时间:2018-07-31 06:45:02

标签: windows powershell wmi bcdedit bcdstore

这篇Msdn-BcdStore文章介绍了如何使用WMI API操作BCD存储。

使用此框架,我尝试更改Boot loader的Nx策略元素。 根据{{​​1}},Nx策略值的当前值为1(即OptOut)。

bcdedit-before script

下面的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

bcdedit-after script

我已通知BcdObject下的OptOut函数删除该元素。但是DeleteElement并未设置元素值。

bcdedit-after delete

我无法得到我在这里想念的东西。请帮我解决这个问题。

0 个答案:

没有答案