Bem, vou começar a responder minha própria pergunta.
Para obter uma listagem de quais nós gerenciaram preferências em um Open Directory Master remoto, você pode fazer algo assim:
dscl -u DIRADMINUSER -p -url HOST \
list /LDAPv3/127.0.0.1/TYPE MCXSettings \
| cut -d " " -f 1
Substitua os valores corretos por palavras em maiúsculas. HOST é um nome IP ou DNS ou seu Open Directory Master. A configuração -url exporta os valores na codificação de URL, o que significa que todos permanecem em uma linha e podemos aplicar o comando cut. Observe que, se você quiser especificar a senha na linha de comando, em vez de solicitá-la com segurança, substitua -p
por -P 'PASSWORD'
.
Para o TYPE, você provavelmente deseja usar:
- Grupos (para um grupo de trabalho / grupo de usuários)
- Grupo de computadores
- Computadores
- Usuários
Digamos que temos um grupo de usuários (TYPE = Group) chamado Grade5 (ITEMNAME = Grade5). Para copiar os dados remotamente, poderíamos substituir este comando:
dscl -u DIRADMINUSER -p HOST \
mcxexport /LDAPv3/127.0.0.1/TYPE/ITEMNAME \
-format plist \
-o EXPORTFILE.plist
Agora, você não pode (facilmente) importar o arquivo remotamente devido ao Radar 4122565. Portanto, copie o EXPORTFILE.plist para o Open Directory Master no qual deseja duplicar as configurações e, nessa caixa, importe-o da seguinte forma:
dscl -u DIRADMINUSER -p \
/LDAPv3/127.0.0.1 mcximport /TYPE/NEWITEMNAME \
EXPORTFILE.plist
Observe que vários "domínios de aplicativo" (arquivos de preferências do think) podem ser gerenciados. Para ver quais são, use:
dscl -u DIRADMINUSER -p HOST \
mcxread /LDAPv3/127.0.0.1/TYPE/ITEMNAME \
-format text \
| grep "App domain" | uniq | cut -d " " -f3-
Você pode exportar apenas um domínio de aplicativo ou até mesmo um domínio de aplicativo e uma chave específica.
dscl -u DIRADMINUSER -p HOST \
mcxexport /LDAPv3/127.0.0.1/TYPE/ITEMNAME \
-format plist \
-o EXPORTFILE.plist APP_DOMAIN KEYNAME
Eu poderia usar "com.apple.dock" para o APP_DOMAIN e omitir o KEYNAME se eu quisesse todas as configurações do dock, e eu poderia usar um APP_DOMAIN de com.apple.mcxprinting com um KEYNAME do PrintFooter se eu quisesse apenas a configuração do rodapé de impressão para impressão.
Após exportar a configuração, você pode importá-la como de costume. (Eu não testei ainda para ver se substitui as coisas ou não.)
Por fim, observe que é possível usar mcxread e mcxset em vez de mcxexport e mcximport.