Hi, I have a difficult WMI/VBScript question.
My goal is to list the membership of the local Administrators group on a series of servers. Normally this would be easy and I could use the code:
Set objGroup = GetObject("WinNT://" & ComputerName & "/Administrators,group")
For Each objUser in objGroup.Members
Wscript.Echo objUser.Name
Next
under normal circumstances... my problem is that my id doesn't have permission and I need to authenticate the call, that is I have a list of servers and domain id's that have permissions to make the call.
For all other WMI calls (like win32_Disk), I would use an authenticated call:
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set WmiObjSet = objSWbemLocator.ConnectServer(strComputer, _
"root\CIMV2", _
strCredentials, _
strPassword)
But the "WinNT:" GetObject call does not seem to support a set of credentials. So I am looking for a way to solve this. I think I am looking at two possibilities:
1 - find a syntax that permits the "WinNT://" GetObject call to use credentials
2 - use similar WIN32 WMI calls to achieve the same thing. I know that WMI_UserAccount, WMI_Group, WMI_GroupUser, WMI_GroupInDomain exist and I can see a list of id's and a list of groups using them but I can't make out how to connect the two.
Can anyone help me?
Mark
Bookmarks