0

簡単なタスクで問題が発生しました...ローカル管理者グループに属していないユーザーを見つけて削除します...

import win32net


def BAD_DomainUsers(computer):
    x = win32net.NetLocalGroupGetMembers(computer,"Administrators", 2)
    for i in x[0]:
        if i["domainandname"] == r"DOMAIN\Domain Users":
            return True
    return False

def Remove_BadUsers(computer):
    win32net.NetLocalGroupDelMembers(computer, "Administrators", r"DOMAIN\Domain Users")

computer = "P04213"

if BAD_DomainUsers(computer):  Remove_BadUsers(computer)

これはエラーを返します:

    win32net.NetLocalGroupDelMembers(computer, "Administrators", r"DOMAIN\Domain Users")
pywintypes.error: (1387, 'NetLocalGroupDelMembers', 'A member could not be added to or removed from the local group because the member does not exist.')

しかし、Administrators グループを列挙すると、十分な DOMAIN\Domain Users がメンバーであることを確認してください... そうしないと、Remove_BadUsers 関数が呼び出されません。私が見逃している何かがあるに違いありませんが、それを理解することはできません。

4

2 に答える 2

0

Ok...

これは見過ごされてきました。答えは、サブプロセスまたは何らかのメソッドを使用してコマンドラインステートメントを呼び出すことです。コマンドラインステートメントは...

net localgroup administrators "DOMAIN\Domain Users" /delete

cmdプロンプトでコマンドを実行したところ、正常に実行されました。クラシック。

于 2012-02-02T12:46:00.127 に答える