我正在使用 Server 2008R2 Forest 来使用 NISMap 和 NisObject 类对象将 AutoFS 映射存储在现有架构中。我可以使用 ADSIedit 手动创建它们(并且可行)。我之前曾编写过创建用户的脚本(在 AutoIT 中),但这不是用户对象,并且具有不同的默认属性。我知道如何编辑任意属性,但不知道如何创建任意对象类。
我在谷歌上搜索到的所有文档都显示了通过 LDAP 或 AD 库创建用户的功能,但没有任何东西可以让我像在 ADSI gui 中那样指定(公认模糊的)对象类。
我对任何脚本语言都持开放态度,但最有可能的是使用 Windows 上的 AutoIT(可以使用 powershell)或 RHEL 上的 Bash 或 Python。
答案1
根据 Andy(他没有提供我可以标记为正确的答案)的建议,我最终使用 Powershell 来执行此操作:
powershell
Import-Module ActiveDirectory
New-ADObject -Name auto.folder2 -Path 'CN=autofs,DC=example' -Type nisMap -OtherAttributes @{'nisMapName'='auto.folder2'}
New-ADObject -Name /testldap/folder2 -Path 'CN=auto.master,CN=autofs,DC=example' -Type nisObject -OtherAttributes @{'nisMapName'='auto.master' ; 'nisMapEntry'='auto.folder2'}
这将创建 Map,然后在 auto.master 中创建 Mount 条目(假设之前已创建,可以像第一个命令那样完成)。
New-ADObject -Name test2 -Path 'CN=auto.testldap,CN=autofs,DC=example' -Type nisObject -OtherAttributes @{'nisMapName'='auto.testldap'; 'nisMapEntry'='lnx:/mnt/test'}
然后,这将在现有的地图条目内创建一个实际的挂载映射。