Over the past few days, I have been busy trying to figure out what WMI is and how we could possibly implement it in Samba.
WMI is Microsofts’ implementation of the WBEM standard; unlike most other vendors, it however does not use the CIM-XML but DCOM.
I did a quick capture of the network traffic when running the following script:
1 2 3 4 5 6 7 8 9 | For Each Host In WScript.Arguments Set WMIservice = GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\" & host & "\root\cimv2") Set colsettings = WMIservice.ExecQuery("SELECT * FROM Win32_Processor") For Each proc In colsettings Wscript.Echo(host & ": " & proc.description) Next Next |
It appears WMI uses just the very simple set of DCOM interfaces (IOXIDResolver, IRemUnknown2, IRemUnknown, ISystemActivator) combined with a small number of WMI-specific interfaces.
This means that implementing the client-side of WMI will be relatively easy - once I get DCOM working fully again, it should just be a matter of adding the ODL for the required interfaces.
Go Top