BitLocker 值
BitLocker Values
我正在尝试从远程主机获取 BitLocker 信息。我曾经使用 PowerShell (Get-BitLockerVolume) 执行此操作,它会提供很多有用的信息。当我尝试使用 C# 时,我没有得到那么多的信息。正在查看 Microsoft's website and from further research,我找不到任何可以帮助我的东西。
有谁知道如何在 C# 中获得与 Get-BitLockerVolume 相同的输出?
顺便说一句,这是我在 C# 中测试的内容:
CimSession session = CimSession.Create(computerHostName);
IEnumerable<CimInstance> GI1 = session.QueryInstances(@"root\cimv2\Security\MicrosoftVolumeEncryption", "WQL", "SELECT * FROM Win32_EncryptableVolume");
foreach(CimInstance i in GI1)
{
Console.WriteLine("MountPoint: {0}, Protection: {1}",
i.CimInstanceProperties["DriveLetter"].Value,
i.CimInstanceProperties["ProtectionStatus"].Value);
}
正如 Jeroen 回忆的那样,您将能够获取有关 WMI 实例调用方法的信息。至于文档,Win32_EncryptableVolume
仅公开以下属性:
class Win32_EncryptableVolume
{
string DeviceID;
string PersistentVolumeID;
string DriveLetter;
uint32 ProtectionStatus;
};
要使用 WMI 和方法访问轻松获取您需要的信息,您可以使用 ORMi 库:
您可以这样定义您的 class:
public class Win32_EncryptableVolume : WMIInstance
{
public string DeviceID {get; set;}
public string PersistentVolumeID {get; set;}
public string DriveLetter {get; set;}
public int ProtectionStatus {get; set;}
[WMIIgnore]
public int Version {get; set;}
public int GetVersion()
{
return WMIMethod.ExecuteMethod<int>(this)
}
}
然后你可以这样做:
WmiHelper _helper = new WmiHelper("root\Cimv2"); //Define the correct scope
List<Win32_EncryptableVolume> volumes = _helper.Query<Win32_EncryptableVolume>().ToList();
foreach(Win32_EncryptableVolume v in volumes)
{
v.Version = v.GetVersion();
}
我正在尝试从远程主机获取 BitLocker 信息。我曾经使用 PowerShell (Get-BitLockerVolume) 执行此操作,它会提供很多有用的信息。当我尝试使用 C# 时,我没有得到那么多的信息。正在查看 Microsoft's website and from further research,我找不到任何可以帮助我的东西。
有谁知道如何在 C# 中获得与 Get-BitLockerVolume 相同的输出?
顺便说一句,这是我在 C# 中测试的内容:
CimSession session = CimSession.Create(computerHostName);
IEnumerable<CimInstance> GI1 = session.QueryInstances(@"root\cimv2\Security\MicrosoftVolumeEncryption", "WQL", "SELECT * FROM Win32_EncryptableVolume");
foreach(CimInstance i in GI1)
{
Console.WriteLine("MountPoint: {0}, Protection: {1}",
i.CimInstanceProperties["DriveLetter"].Value,
i.CimInstanceProperties["ProtectionStatus"].Value);
}
正如 Jeroen 回忆的那样,您将能够获取有关 WMI 实例调用方法的信息。至于文档,Win32_EncryptableVolume
仅公开以下属性:
class Win32_EncryptableVolume
{
string DeviceID;
string PersistentVolumeID;
string DriveLetter;
uint32 ProtectionStatus;
};
要使用 WMI 和方法访问轻松获取您需要的信息,您可以使用 ORMi 库:
您可以这样定义您的 class:
public class Win32_EncryptableVolume : WMIInstance
{
public string DeviceID {get; set;}
public string PersistentVolumeID {get; set;}
public string DriveLetter {get; set;}
public int ProtectionStatus {get; set;}
[WMIIgnore]
public int Version {get; set;}
public int GetVersion()
{
return WMIMethod.ExecuteMethod<int>(this)
}
}
然后你可以这样做:
WmiHelper _helper = new WmiHelper("root\Cimv2"); //Define the correct scope
List<Win32_EncryptableVolume> volumes = _helper.Query<Win32_EncryptableVolume>().ToList();
foreach(Win32_EncryptableVolume v in volumes)
{
v.Version = v.GetVersion();
}