找回密码
 加入
搜索
查看: 1559|回复: 4

[AU3基础] 利用wmi参照网上的代码怎么都不成功?【已解决】

[复制链接]
发表于 2017-7-10 14:35:28 | 显示全部楼层 |阅读模式
本帖最后由 synaspe 于 2017-7-11 12:19 编辑

$test=" "
$objWMI = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
$objItems = $objWMI.ExecQuery("Select * from Win32_volume where DeviceID = '\\?\Volume{d8e9e3c7-3606-11e7-9fb1-806e6f6e6963}\'")
For $objabc In $objItems
$test = $objabc.DriveLetter
Next
MsgBox("","",$test)
用drive letter 查 deviceid是正常的

但是用deviceid查drive letter怎么尝试都是输出空白?有大神帮忙看下嘛?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2017-7-10 17:08:22 | 显示全部楼层
回复 1# synaspe


    因为你电脑中的标识符不一定是 “d8e9e3c7-3606-11e7-9fb1-806e6f6e6963”
 楼主| 发表于 2017-7-10 17:16:40 | 显示全部楼层
回复 2# yamakawa
我自己先查过我电脑中的deviceid了  这个就是我d盘的deviceid 但是不知道为什么显示的是空白,
你可以先在cmd里中运行下面这条命令查看下你自己的ID、然后帮我测试下 我这个运行就是空白什么都不显示
wmic volume get id,"drive letter"
发表于 2017-7-11 11:55:37 | 显示全部楼层
回复 1# synaspe


    对wmi不熟,,我测试了也是空白。。。

  $objItems = $objWMI.ExecQuery("Select * from Win32_volume")
For $objabc In $objItems
IF $objabc.DeviceID = "xxxxxx" then $test = $objabc.DriveLetter
Next

这样可以。。
 楼主| 发表于 2017-7-11 12:17:57 | 显示全部楼层
回复 4# yamakawa

测试下了你的方法可以,多谢兄弟了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-24 10:41 , Processed in 0.070267 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表