python: 如何列举本地Windows用户组成员资格
我需要测试一些指定账户的组成员资格。
比如说,账户'X',它是否是组'A'和'B'的成员。
这些账户是在2003服务器上的本地Windows账户,不是域控制器(DC),而且也不连接到域控制器。
这是我在得到正确指引后形成的答案。
import win32net
import platform
import getpass
#Get current hostname and username
sHostname = platform.uname()[1]
sUsername = getpass.getuser()
#Define account memberships to test as false
memberAdmin = False
memberORA_DBA = False
for groups in win32net.NetUserGetLocalGroups(sHostname,sUsername):
#If membership present, set to true
if groups == 'Administrators':
print "member of admin"
memberAdmin = True
if groups == 'ORA_DBA':
print "member of ORA_DBA"
memberORA_DBA = True
#if all true pass, else fail
if (memberAdmin == True) and (memberORA_DBA == True):
print "membership is good"
else:
print "current account does not have the proper group membership"