私はWMI経由でリモートマシン上のローカル管理者のリストを取得する方法を知っている:WMIクエリのローカル管理者
wmic /Node:"ComputerName" path win32_groupuser where (groupcomponent="win32_group.name=\"administrators\",domain=\"Computername\"")
これは、ユーザーとグループを返します。
GroupComponent PartComponent win32_group.domain="Computername",name="administrators" \\Computername\root\cimv2:Win32_UserAccount.Domain="Computername",Name="Administrator" win32_group.domain="Computername",name="administrators" \\Computername\root\cimv2:Win32_Group.Domain="MYDOMAIN",Name="Domain Admins" win32_group.domain="Computername",name="administrators" \\Computername\root\cimv2:Win32_Group.Domain="MYDOMAIN",Name="SomeOtherGroup" win32_group.domain="Computername",name="administrators" \\Computername\root\cimv2:Win32_UserAccount.Domain="MYDOMAIN",Name="MyUser"
ただし、ユーザーが上記のSomeOtherGroup
のメンバーである場合、彼がメンバーであること、つまりローカル管理者であることを知る必要があります。ですから、私はすべてのグループメンバーを(再帰的に)展開する必要があります。
ローカル管理者であるすべてのグループのすべてのユーザー名を展開して、win32_group
に自己結合できるWMIクエリはありますか?