在不使用WMI的情况下查询分区的卷序列号的最佳方法是什么?

本文关键字:序列号 最佳 方法 是什么 分区 查询 WMI 情况下 | 更新日期: 2023-09-27 18:11:07

我们有一个服务(作为SYSTEM用户运行),它使用WMI来获取安装Windows的驱动器的卷序列号。但是,我们有一个客户端的WMI安全性限制太大,我们无法通过这种方式查询卷序列号。

与其学习WMI安全权限的来龙去脉,我想使用本地Win32函数GetVolumeInformation来获取此信息。但是,我不知道这个调用是否使用WMI从驱动器获取此信息,或者如果它只是使用在注册表(或其他易于访问的地方)中设置的东西,它可以由普通用户更改(我知道卷串行仍然可以更改,如果你真的知道如何)。

GetVolumeInformation是规避WMI的可行方法吗?如果没有,在c#中不使用WMI调用获取这些信息的最佳方法是什么?

在不使用WMI的情况下查询分区的卷序列号的最佳方法是什么?

我咬牙忍住,最后只是在Win32 API中调用GetVolumeInformation(在上面的问题中链接)。当您使用此函数检索卷串行时,如果您想要与命令提示符中"vol"命令显示的值相同,则必须记住将十进制数转换为十六进制数。