Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

127 lines
2.7 KiB

On Error Resume Next
WScript.Echo ""
WScript.Echo "Create an Object Path"
WScript.Echo ""
Set d = CreateObject("WbemScripting.SWbemObjectPath")
d.Path = "\\erewhon\ROOT\DEFAULT:Foo.Bar=12,Wibble=""Hah"""
DumpPath(d)
d.RelPath = "Hmm.G=1,H=3"
WScript.Echo ""
DumpPath(d)
Set d = Nothing
if Err <> 0 then
WScript.Echo ""
WScript.Echo "!Error1:", Err.Number, Err.Description
End if
WScript.Echo ""
WScript.Echo "Extract an Object Path from a class"
WScript.Echo ""
Set c = GetObject("winmgmts:").Get
c.Path_.Class = "PATHTEST00"
Set p = c.Put_
DumpPath(p)
WScript.Echo ""
WScript.Echo "Extract an Object Path from a singleton"
WScript.Echo ""
Set i = GetObject("winmgmts:root/default:__cimomidentification=@")
Set p = i.Path_
DumpPath(p)
WScript.Echo ""
WScript.Echo "Extract an Object Path from a keyed instance"
WScript.Echo ""
Set i = GetObject("winmgmts:{impersonationLevel=Impersonate}!win32_logicaldisk=""C:""")
Set p = i.Path_
DumpPath(p)
if Err <> 0 then
WScript.Echo ""
WScript.Echo "!Error:", Err.Number, Err.Description
End if
'try to modify this path - should get an error
WScript.Echo ""
WScript.Echo "Attempt illegal modification of object path class"
WScript.Echo ""
p.Class = "WHoops"
if Err <> 0 then
WScript.Echo "Trapped error successfully:", Err.Number, Err.Source, Err.Description
Err.Clear
else
WScript.Echo "FAILED to trap error"
end if
WScript.Echo ""
WScript.Echo "Attempt illegal modification of object path keys"
WScript.Echo ""
p.Keys.Remove ("DeviceID")
if Err <> 0 then
WScript.Echo "Trapped error successfully:", Err.Number, Err.Source, Err.Description
Err.Clear
else
WScript.Echo "FAILED to trap error"
end if
WScript.Echo ""
WScript.Echo "Clone keys"
WScript.Echo ""
Set newKeys = p.Keys.Clone
DumpKeys (newKeys)
WScript.Echo ""
WScript.Echo "Change Cloned keys"
WScript.Echo ""
'Note that the cloned copy of Keys _should_ be mutable
newKeys.Add "fred", 23
newKeys.Remove "DeviceID"
DumpKeys (newKeys)
Sub DumpPath(p)
WScript.Echo "Path=", p.Path
WScript.Echo "RelPath=",p.RelPath
WScript.Echo "Class=", p.Class
WScript.Echo "Server=", p.Server
WScript.Echo "Namespace=", p.Namespace
WScript.Echo "DisplayName=", p.DisplayName
WScript.Echo "ParentNamespace=", p.ParentNamespace
WScript.Echo "IsClass=", p.IsClass
WScript.Echo "IsSingleton=", p.IsSingleton
DumpKeys (p.Keys)
end Sub
Sub DumpKeys (keys)
for each key in keys
WScript.Echo "KeyName:", key.Name, "KeyValue:", key.Value
next
end Sub
Sub DumpPrivileges (privileges)
WScript.Echo "Privileges:"
for each privilege in privileges
WScript.Echo " ", Privilege.Name, Privilege.IsEnabled
next
end sub