用Python列出"Administrators"组成员

-1 投票
1 回答
1879 浏览
提问于 2025-04-18 08:44

我需要一些帮助,想在Windows Server 2008的计算机管理窗口中获取管理员组的管理员列表。

这段代码做的事情和我想要的有点像,它从计算机管理窗口中提取本地用户:

import win32net

def GetUsers(IP):
    print IP
    print win32net.NetGroupGetUsers(IP,'none',0),
    return

servers ={'server1', 'server2' }

for CurrentIP in servers:
    print GetUsers(CurrentIP)

这段代码生成了以下内容:

server1
([{'name': u'$admin'}, {'name': u'zzGuest'}, {'name': u'BladeLogicRSCD'}], 3, 0) None
server2
([{'name': u'$admin'}, {'name': u'zzGuest'}, {'name': u'BladeLogicRSCD'}, {'name': u'ArcGISWebServices'}], 5, 0) None

我相信使用这个win32net模块是可以获取管理员组的信息的……非常感谢这里的任何帮助。谢谢!

1 个回答

0

这是我想到的一个方法,它可以列出管理员组的成员,并且以一种清晰的方式打印出来:

import win32net

def GetUsers(IP):
    print IP
    accounts = []
    #print win32net.NetGroupGetUsers(IP,'None',0)
    a =  win32net.NetLocalGroupGetMembers(IP,'Administrators',3)
    for rows in a[0]:
        accounts.append(str(rows).split(":")[1][3:-2])
        print str(rows).split(":")[1][3:-2]
    #print accounts

servers = {'server1', 'server2'}

for CurrentIP in servers:
    GetUsers(CurrentIP)

撰写回答