python:如何枚举本地windows组成员身份

2024-10-02 20:43:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要测试指定帐户的组成员身份。在

给定帐户“X”,它是组“a”和“B”的成员吗

这些是2003服务器上的本地windows帐户,不是DC,并且它不连接到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"

Tags: importtrueif帐户currentdcdbamembership