在多个开放目录主人pipe理相同的MCX设置

在我为之工作的学校部门,我们在十几所学校中都有一个开放式目录硕士。 我想在多个工作或计算机组的多个目录中pipe理设置。

大脑死亡的方法是依次调用每个目录(使用Workgroup Manager),select所有我想要pipe理的组,并调整所有的偏好,然后重复每个服务器,希望我做对了,得到相同的结果。

有没有更好的办法?

我认为有某种方法可以从工作组pipe理器复制和粘贴设置。 我知道有一些命令可以发出来导出和导入设置。 这真的好像应该有一个工具,这样做。 (当然,如果我们使用的是单个主副本和多个副本,Workgroup Manager会更好地工作,但是我们不会在短期内再次尝试。)

那么,我会开始回答我自己的问题。

要获得远程Open Directory Master上哪些节点具有托pipe偏好的列表,可以执行如下操作:

dscl -u DIRADMINUSER -p -url HOST \ list /LDAPv3/127.0.0.1/TYPE MCXSettings \ | cut -d " " -f 1 

用正确的值代替所有大写字母。 主机是一个IP或DNS名称或您的开放目录主。 -url设置导出URL编码中的值,这足以说明它们都保留在一行上,我们可以应用cut命令。 请注意,如果要在命令行上指定密码而不是安全提示,请用-P 'PASSWORD'replace-p

对于TYPE,你很可能想要使用:

  • 组(对于工作组/用户组)
  • ComputerGroups
  • 电脑
  • 用户

假设我们有一个名为Grade5(ITEMNAME = Grade5)的用户组(TYPE = Group)。 要远程复制数据,我们可以replace这个命令:

 dscl -u DIRADMINUSER -p HOST \ mcxexport /LDAPv3/127.0.0.1/TYPE/ITEMNAME \ -format plist \ -o EXPORTFILE.plist 

现在,由于雷达4122565,您无法(轻易地)远程导入文件。因此,将EXPORTFILE.plist复制到要复制设置的Open Directory Master中,然后在该框中按以下方式导入它:

 dscl -u DIRADMINUSER -p \ /LDAPv3/127.0.0.1 mcximport /TYPE/NEWITEMNAME \ EXPORTFILE.plist 

请注意,可以pipe理几个“应用程序域”(思考首选项文件)。 要看哪些是,使用:

 dscl -u DIRADMINUSER -p HOST \ mcxread /LDAPv3/127.0.0.1/TYPE/ITEMNAME \ -format text \ | grep "App domain" | uniq | cut -d " " -f3- 

然后您可以只导出一个应用程序域,甚至导出一个应用程序域和一个特定的键。

 dscl -u DIRADMINUSER -p HOST \ mcxexport /LDAPv3/127.0.0.1/TYPE/ITEMNAME \ -format plist \ -o EXPORTFILE.plist APP_DOMAIN KEYNAME 

我可以使用“com.apple.dock”作为APP_DOMAIN,如果我想要所有dock的设置,可以忽略KEYNAME,如果我想打印的话,我可能会使用com.apple.mcxprinting的APP_DOMAIN和PrintFooter的KEYNAME页脚设置打印。

导出设置后,您可以照常导入。 (我还没有testing过,看它是否覆盖事物。)

最后,请注意可以使用mcxread和mcxset来代替mcxexport和mcximport。

您可以通过菜单栏 – >服务器 – >导出(或导入)来导出和导入JUST工作组(根据您的目的)。 在后续的文章中,我绝对鞠躬致敬,但是这可能比你使用的更高端。

此外,您可以让远程构build服务器只是“连接到”一个开放目录主,而不是使他们的副本。 你获得大部分相同的优势。 我已经亲自运行了连接和副本服务器多年。 我甚至都做了这两个高度利用的T – 1连接。 (事实上​​,只有两个理由使用副本,而不是连接设置,一个是在远程,延迟时间较长的站点上执行性能;另一个是冗余 – 主站可以closures,用户仍然可以login。 )

也许这会给你理想的解决scheme? 你有什么样的问题与副本? 如果你有兴趣,也许我可以帮忙。