我正在开发一个VB.NET应用程序来从本地系统获取Bitelocker信息。以下是我的代码。当我使用管理员权限运行时,此代码可以正常运行并返回结果。但是在没有管理员权限的情况下运行时会出错。
Dim arEncryptionMethod = {"None", "AES 128 With Diffuser", "AES 256 With Diffuser", _
"AES 128", "AES 256"}
Dim arProtectionStatus = {"Protection Off", "Protection On", "Protection Unknown"}
Dim strComputer = "."
Dim colItems As New ManagementObjectSearcher("\\" & strComputer & _
"\root\CIMV2\Security\MicrosoftVolumeEncryption",
"Select * from Win32_EncryptableVolume " & "Where DriveLetter='C:'")
For Each objItem As ManagementObject In colItems.Get()
ListBox1.Items.Add("Volume:" & objItem("DriveLetter"))
ListBox1.Items.Add(" EncryptionMethod: " & arEncryptionMethod(objItem.InvokeMethod _
("GetEncryptionMethod", Nothing, Nothing)("EncryptionMethod")))
ListBox1.Items.Add(" ProtectionStatus: " & arProtectionStatus(objItem.InvokeMethod _
("GetProtectionStatus", Nothing, Nothing)("ProtectionStatus")))
Next
答案 0 :(得分:0)
通过编辑应用程序下的Administrator
来授予您的程序RequestedExecutionLevel
权限。您需要在解决方案下显示所有文件,查找app.manifest
。
更改默认值:<requestedExecutionLevel level="asInvoker" uiAccess="false" />
以强>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
另外在另一方面,当你打开这个文件时,它应该在那里有说明,解释你可以改变它的类型。