2

我正在尝试使用 DRA 证书编写解锁 bitlocker 驱动器的脚本。我正在尝试使用 WMI 方法 UnlockWithCertificateFile ,但我一生都无法弄清楚我做错了什么,甚至找不到一个例子。

我知道证书和密码有效,因为我可以使用 manage-bde -unlock 手动解锁驱动器......

当我运行我的脚本时,我得到一个返回值 -2146885623,我查到是 -2146885623,“找不到请求的对象”。

我不确定它在说什么对象。

这是我正在使用的代码(减去别针)

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2\Security\MicrosoftVolumeEncryption") 
' Obtain an instance of the the class 
' using a key property value.
Set objShare = objWMIService.Get("Win32_EncryptableVolume.DeviceID='\\?\Volume{a2965903-4af0-11e2-be65-806e6f6e6963}\'")

' Obtain an InParameters object specific
' to the method.
Set objInParam = objShare.Methods_("UnlockWithCertificateFile"). _
    inParameters.SpawnInstance_()


' Add the input parameters.
objInParam.Properties_.Item("PathWithFileName") =  "D:\BitLocker.pfx"
objInParam.Properties_.Item("Pin") =  "PinCode

' Execute the method and obtain the return status.
' The OutParameters object in objOutParams
' is created by the provider.
Set objOutParams = objWMIService.ExecMethod("Win32_EncryptableVolume.DeviceID='\\?\Volume{a2965903-4af0-11e2-be65-806e6f6e6963}\'", "UnlockWithCertificateFile", objInParam)

' List OutParams
Wscript.Echo "Out Parameters: "
Wscript.echo "ReturnValue: " & objOutParams.ReturnValue

有没有人使用过这种方法,或者任何人都可以看到我可能做错了什么?我也正在使用 Windows 8 命令行恢复选项,我不确定这是否会有所不同,因为我已经测试过调用其他方法并且 wmi 和脚本似乎已完全实现。

4

0 回答 0