ฉันรู้วิธีดึงรายชื่อผู้ดูแลระบบท้องถิ่นบนเครื่องระยะไกลผ่าน 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
ข้างต้นฉันจำเป็นต้องรู้ว่าเขาเป็นสมาชิก - และดังนั้นจึงเป็นผู้ดูแลท้องถิ่น ดังนั้นฉันต้องขยายสมาชิกกลุ่มทั้งหมด
มีแบบสอบถาม WMI ที่สามารถเข้าร่วมด้วยตัวเองwin32_group
ขยายชื่อผู้ใช้ทั้งหมดของกลุ่มทั้งหมดที่เป็นผู้ดูแลท้องถิ่นหรือไม่
ฉันไม่เชื่อว่ามีดังนั้นคุณอาจต้องระบุสมาชิกของกลุ่มที่พบในการค้นหาครั้งแรกแล้วเข้าร่วมผลลัพธ์ด้วยตัวคุณเอง แต่คนอื่นอาจมีความคิดที่แตกต่าง
—
Ƭᴇcʜιᴇ007
ใช่ฉันพูดในแง่ร้ายตัวเอง สิ่งที่ฉันต้องการจริงๆคือ
—
Mark Richman
bool IsUserLocalAdmin(string username)
LOL