原文地址:http://include.wutils.com/wmi/ROOT%5Ccimv2/Win32_DiskQuota.html
Win32_DiskQuota - VB Script code samples
Get instance of WMI class using GetObject
Short VBS code - get a single specified instance of Win32_DiskQuota class or get a default unnamed instance (singleton) of the class, using one single command GetObject with exact path of the wmi object.
'http://wutils.com/wmi/ Dim wmiObject Set wmiObject = GetObject( _ "WINMGMTS:\\.\ROOT\cimv2:" + _ "Win32_DiskQuota.QuotaVolume=""Path to Win32_LogicalDisk"",User=""Path to Win32_Account""") Wscript.Echo wmiObject.DiskSpaceUsed 'or other property name, see table bellow
Alternative codes
SWbemServices.Get
Quickest and most efficient VB Script code to get a single instance by a key - SWbemServices.Get
'http://wutils.com/wmi/ Dim oWMI, Instance 'Get base WMI object, "." means computer name (local) Set oWMI = GetObject("WINMGMTS:\\.\ROOT\cimv2") Do 'Get the instance of Win32_DiskQuota Set Instance = oWMI.Get("Win32_DiskQuota.QuotaVolume=""Path to Win32_LogicalDisk"",User=""Path to Win32_Account""") 'Do something with the instance Wscript.Echo Instance.DiskSpaceUsed 'or other property name 'Wait for some time to get next value Wscript.Sleep 1000 Loop While True
WMI query - sample windows WQL
Get a specified instance of Win32_DiskQuota by key, get a default unnamed instance (singleton) of the class or list instances of the class by wmi query using this VB Script.
'http://wutils.com/wmi/ Dim oWMI, WQL, Instances, Instance 'Get base WMI object, "." means computer name (local) Set oWMI = GetObject("WINMGMTS:\\.\ROOT\cimv2") 'Create a WMI query text WQL = "Select * from Win32_DiskQuota" 'Get instances of Win32_DiskQuota Set Instances = oWMI.ExecQuery(WQL) 'Enumerate instances For Each Instance In Instances 'Do something with the instance Wscript.Echo Instance.DiskSpaceUsed 'or other property name Next 'Instance
InstancesOf
List of all instances, wmi class Win32_DiskQuota.
'http://wutils.com/wmi/ Dim oWMI, Instances, Instance 'Get base WMI object, "." means computer name (local) Set oWMI = GetObject("WINMGMTS:\\.\ROOT\cimv2") 'Get instances of Win32_DiskQuota Set Instances = oWMI.InstancesOf("Win32_DiskQuota") 'Enumerate instances For Each Instance In Instances 'Do something with the instance Wscript.Echo Instance.DiskSpaceUsed 'or other property name Next 'Instance
WMI remote scripting - Locator, Connect
Get WMI management object using SWbemLocator.ConnectServer method. You can connect to a remote computer and specify Username/Password for the WMI connection.
'http://wutils.com/wmi/ Dim Locator, oWMI, WQL, Instances, Instance 'Create Locator object Set Locator = CreateObject("WbemScripting.SWbemLocator") 'Get base WMI object Set oWMI = Locator.ConnectServer("MachineName", "ROOT\cimv2", "MachineName\administrator", "Password") '.... continue using oWMI object
Win32_DiskQuota properties
Name
CIMType
IsArray
IsLocal
Origin
read
Units
write
key
ValueMap
Qualifiers
DiskSpaceUsed
21,uint64
NO
YES
Win32_DiskQuota
True
"Bytes"
-
Limit
21,uint64
NO
YES
Win32_DiskQuota
True
"Bytes"
True
-
key
QuotaVolume
102,ref:Win32_LogicalDisk
NO
YES
Win32_DiskQuota
True
True
-
Status
19,uint32
NO
YES
Win32_DiskQuota
True
Array["0","1","2"]
-
key
User
102,ref:Win32_Account
NO
YES
Win32_DiskQuota
True
True
-
WarningLimit
21,uint64
NO
YES
Win32_DiskQuota
True
"Bytes"
True
-
Win32_DiskQuota derivation
Win32_DiskQuota is top level class. See other top classes or no derived classes.
Sample of Instances (Win 2003 Server)
Number of instances: 9999, Key Names:QuotaVolume,User
Win32_DiskQuota Qualifiers
Name
Value
ToInstance
ToSubclass
Overridable
Amended
Local
Association
True
YES
YES
NO
NO
YES
CreateBy
"PutInstance"
NO
NO
YES
NO
YES
DeleteBy
"DeleteInstance"
NO
NO
YES
NO
YES
dynamic
True
YES
NO
YES
NO
YES
Locale
&1033
YES
NO
YES
NO
YES
provider
"DskQuotaProvider"
YES
NO
YES
NO
YES
SupportsCreate
True
NO
NO
YES
NO
YES
SupportsDelete
True
NO
NO
YES
NO
YES
SupportsUpdate
True
NO
NO
YES
NO
YES
UUID
"B94560CA-41CC-4FB5-BD56-282329DA41DA"
YES
NO
YES
NO
YES
Win32_DiskQuota System properties
Name
Value
Origin
CimType
Local
Array
__PATH
"\\TRIPLE\ROOT\cimv2:Win32_DiskQuota"
___SYSTEM
8
False
False
__NAMESPACE
"ROOT\cimv2"
___SYSTEM
8
False
False
__SERVER
"TRIPLE"
___SYSTEM
8
False
False
__DERIVATION
Array[]
___SYSTEM
8
False
True
__PROPERTY_COUNT
&6
___SYSTEM
3
False
False
__RELPATH
"Win32_DiskQuota"
___SYSTEM
8
False
False
__DYNASTY
"Win32_DiskQuota"
___SYSTEM
8
False
False
__SUPERCLASS
___SYSTEM
8
False
False
__CLASS
"Win32_DiskQuota"
___SYSTEM
8
False
False
__GENUS
&1
___SYSTEM
3
False
False
http://include.wutils.com/wmi/ - WMI reference for windows server. Quick VBScript and c# code samples.
本文转自hcy's workbench博客园博客,原文链接:http://www.cnblogs.com/alterhu/archive/2012/04/09/2439064.html,如需转载请自行联系原作者。