如何将 Powershell 转换为 Python 以创建 AD 组

How to convert Powershell to Python for AD group creation

我有一个 Powershell 命令

New-ADGroup -Name "Group_Name" -SamAccountName Group_Name -GroupCategory Security -GroupScope Global -DisplayName "Group_Name" -Path "CN=Users,DC=domain,DC=local"

我正在尝试将其转换成此 python 代码(使用 ldap)

...
attrs = dict(sAMAccountName=group_name)
attrs.update(GroupCategory=1)
attrs.update(GroupScope='Global')
attrs.update(DisplayName=group_name)
attrs.update(Path='CN=Users,DC=devfactory,DC=local')
connection = self.create_ad_connection(ad_server)
entry = connection.add(distinguished_name, object_class='group', attributes=attrs)
...

我收到这个错误:

Exception has occurred: LDAPAttributeError
invalid attribute type GroupCategory

如何在 python 上设置 GroupCategory 和其他属性?感谢任何帮助。

GroupCategory(也称为“组类型”)和 GroupScope 都在 groupType 文档的 the groupType attribute, which is a bitmask (or bitflag): a binary value where each bit is an on/off flag with a different meaning. The Remarks section 中设置,告诉我们 2 nd 位使其成为全局组,而第 32nd 位(十进制值为 2,147,483,648)使其成为安全组。

如果要设置为全局安全组,可以设置groupType属性为两个小数之和:2 + 2147483648 = 2147483650

attrs.update(groupType=2147483650)

二进制值如下所示:

10000000000000000000000000000010

这两个 1 使它成为一个全局安全组。