如何获取特定驱动器wscript的信息 [英] how to get information for specific drive wscript

查看:98
本文介绍了如何获取特定驱动器wscript的信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我发现下面的代码几乎完全符合我的要求,但对于我系统中的每个驱动器。我只想为一个特定的驱动器获取它。有没有办法修改以下



 strComputer =。 
设置objWMIService = GetObject(winmgmts:_
&{impersonationLevel = impersonate}!\\& strComputer&\\\\\\\\\\\\\\\\\\\\设置colDiskPartitions = objWMIService.ExecQuery _
(从Win32_DiskPartition中选择*)
对于colDiskPartitions中的每个objPartition
Wscript.EchoBlock Size:& vbTab& objPartition.BlockSize
Wscript.EchoBootable:& vbTab& objPartition.Bootable
Wscript.EchoBoot Partition:& vbTab& objPartition.BootPartition
Wscript.EchoDescription:& vbTab& objPartition.Description
Wscript.EchoDevice ID:& vbTab& objPartition.DeviceID
Wscript.EchoDisk Index:& vbTab& objPartition.DiskIndex
Wscript.EchoIndex:& vbTab& objPartition.Index
Wscript.EchoName:& vbTab& objPartition.Name
Wscript.Echo块数:& vbTab& _
objPartition.NumberOfBlocks
Wscript.EchoPrimary Partition:& vbTab& _
objPartition.PrimaryPartition
Wscript.EchoSize:& vbTab& objPartition.Size
Wscript.EchoStarting Offset:& vbTab& _
objPartition.StartingOffset
Wscript.EchoType:& vbTab& objPartition.Type
下一步

解决方案

Win32_DiskPartition通过磁盘从零开始识别分区,然后在磁盘上从0开始分区号。



要获取分区到驱动器的映射,请使用Win32_LogicalDiskTopartition,参数Dependent将包含驱动器号,前面的内容将包含该驱动器号的磁盘和分区号。 br />


从Antecedant中提取Disk #x,Partition #x。



如果我想要驱动器C的信息:当Dependent包含C:然后Antecedent包含磁盘和分区,例如



先行词:\\mypcname \root \ cimv2:Win32_DiskPartition。 DeviceID =Disk#0,Partition#1

Dependent:\\mypcname\root\cimv2:Win32_LogicalDisk.DeviceID =C:



现在您可以使用磁盘#0,分区#1并在Win32_DiskPartitions查询中使用它。



SELECT * FROM Win32_DiskPartition WHERE Name ='Disk#0,Partition#1'



这将是驱动器C的信息:



我建议您使用Microsoft的WMICodeCreator工具快速测试WMI命令,它还为您编写代码,以便您可以剪切和糊。

Hi,
I found the below code to do almost exactly what I want but for every drive in my system. I only want to get it for one specific drive. Is there any way to modify the following

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDiskPartitions = objWMIService.ExecQuery _
    ("Select * from Win32_DiskPartition where ")
For each objPartition in colDiskPartitions
    Wscript.Echo "Block Size: " & vbTab &  objPartition.BlockSize     
    Wscript.Echo "Bootable: " & vbTab &  objPartition.Bootable 
    Wscript.Echo "Boot Partition: " & vbTab &  objPartition.BootPartition
    Wscript.Echo "Description: " & vbTab &  objPartition.Description
    Wscript.Echo "Device ID: " & vbTab &  objPartition.DeviceID       
    Wscript.Echo "Disk Index: " & vbTab &  objPartition.DiskIndex     
    Wscript.Echo "Index: " & vbTab &  objPartition.Index       
    Wscript.Echo "Name: " & vbTab &  objPartition.Name 
    Wscript.Echo "Number Of Blocks: " & vbTab &  _
        objPartition.NumberOfBlocks     
    Wscript.Echo "Primary Partition: " & vbTab &  _
        objPartition.PrimaryPartition   
    Wscript.Echo "Size: " & vbTab &  objPartition.Size 
    Wscript.Echo "Starting Offset: " & vbTab &  _
        objPartition.StartingOffset     
    Wscript.Echo "Type: " & vbTab &  objPartition.Type 
Next

解决方案

Win32_DiskPartition identifies partitions by Disk starting at zero followed by partition number on the Disk starting at 0.

To get the map of partitions to drives use the Win32_LogicalDiskTopartition, parameter Dependant will contain the drives letter Antecedent will contain the Disk and Partition numbers for that drive letter.

Extract the "Disk #x, Partition #x" from the Antecedant.

So if I want info for drive C: when Dependent contains C: then Antecedent contains the disk and partition e.g.

Antecedent: \\mypcname\root\cimv2:Win32_DiskPartition.DeviceID="Disk #0, Partition #1"
Dependent: \\mypcname\root\cimv2:Win32_LogicalDisk.DeviceID="C:"

Now you can take the "Disk #0, Partition #1" and use it in your Win32_DiskPartitions query.

"SELECT * FROM Win32_DiskPartition WHERE Name='Disk #0, Partition #1'"

And that will be the information for drive C:

I recommend you use the WMICodeCreator tool from Microsoft to quickly test out WMI commands, it also writes the code for you so you can cut and paste.


这篇关于如何获取特定驱动器wscript的信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆