在创建时生成唯一 uidnumber / gidnumber 的 AD 插件或实用程序

jas*_*pvp 6 linux windows active-directory attributes

我正在寻找:

一个插件,它将在创建时为新用户自动生成唯一的 uidNumber 属性值,并为新组自动生成唯一的 gidNumber 属性值。

一个可配置的用户/组管理应用程序,可以生成上述唯一值并填充 Linux 集成所需的各种其他属性

我们目前正在使用自己开发的脚本和网页来完成所有这些工作,但我们正在寻找不需要维护和更加完善的东西。

任何人都知道适合该法案的好工具?

谢谢!

Nic*_*Nic 1

您可以从 PowerShell 脚本分配 gidNumber 属性。要使其自动执行,请将脚本作为计划任务调用。我编写了一个名为Initialize-GroupGids 的cmdlet ,它将唯一的 gid 分配给 AD 组,并且可以使用参数针对不同的环境进行自定义。

但基本上,您可以在 PowerShell 中执行类似的操作。

# Find the highest GID used on any group in the domain
$highGid = Get-ADGroup -LDAPFilter "(gidNumber=*)" -Properties gidNumber |
    Measure-Object -Property gidNumber -Maximum |
    Select-Object -ExpandProperty Maximum

# Avoid assigning GIDs below 1000
$highGid = [Math]::max( $highGid, 1000 )

# Find every security group without a gidNumber, and give it one.
Get-ADGroup -LDAPFilter "(!gidNumber=*)" |
    ? {$_.GroupCategory -eq "Security"} |
    $groups | Set-ADGroup -Add @{ gidNumber=++$highGid }
Run Code Online (Sandbox Code Playgroud)

这也可以很容易地用于与用户和 uidNumbers 一起工作。

如果您希望 uids/gids 的分配是即时的,微软有一个有趣的技术说明,关于通过 LDAP 监听来自 Active Directory 的更改通知。我认为这对于 PowerShell 来说有点太复杂了。