Usuário com melhor resposta
Script para mover determinadas conta para OUs especificas.

Pergunta
-
Boa tarde a todos,
Pesquisei muito por aqui e não encontrei nada a respeito, alguém teria uma dica ai de script para mover algumas contas para suas respectivas OUs?
Exemplo:
O usuário Fulano de Tal, tem preenchido como "Fiscal" no atributo Departamento mais a conta do Fulano de Tal encontra-se na OU RH, precisaria de um script para mover todos os usuários que possuirem no atributo Departamento preenchido como "Fiscal" para a OU Fiscal, e se caso o mesmo já se encontre na OU correta, ignora-lo, é possível?
Obrigado a atenção!
Bruno.
Respostas
-
Tente uma destas duas alternativas
1) Usando DSMOVE USER (veja que acrescentei um parametro)
dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(department=Teste123))" | dsmove user -newparent "ou=DPTO,ou=Unidades Administrativas,ou=Geral,dc=meudominio,dc=local"
2) Jogando os usuário para dentro de um arquivo antes (coloque dentro de um .BAT)
dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(department=Teste123))" > usuarios.txt for /f "Tokens=*" %%u in (usuarios.txt) do dsmove %%u -newparent "ou=DPTO,ou=Unidades Administrativas,ou=Geral,dc=meudominio,dc=local"
Outra coisa: A sua OU de destino tem espaço no nome, coloque-a entre "aspas"
Não tive como testar estes comandos.
Fábio de Paula Junior- Marcado como Resposta Bruno Gomes dos Santos terça-feira, 4 de outubro de 2011 17:43
Todas as Respostas
-
Nunca utilizei, mas deve funcionar. Apenas altere o caminho da OU de destino pois não seu o caminho LDAP da sua OU.
dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(department=Fiscal))" | dsmove -newparent ou=Fiscal,dc=seudominio,dc=com
Fábio de Paula Junior -
-
Fabio,
Fiz dessa forma:
dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(department=Teste123))" | dsmove -newparent ou=DPTO,ou=Unidades Administrativas,ou=Geral,dc=meudominio,dc=local
Me retornou o seguinte erro:
dsmove failed:Value for 'Target object for this command' has incorrect format.
Tem alguma dica para ele mover as contas?
Obrigado!
Bruno.- Editado Bruno Gomes dos Santos segunda-feira, 3 de outubro de 2011 21:48
-
Tente uma destas duas alternativas
1) Usando DSMOVE USER (veja que acrescentei um parametro)
dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(department=Teste123))" | dsmove user -newparent "ou=DPTO,ou=Unidades Administrativas,ou=Geral,dc=meudominio,dc=local"
2) Jogando os usuário para dentro de um arquivo antes (coloque dentro de um .BAT)
dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(department=Teste123))" > usuarios.txt for /f "Tokens=*" %%u in (usuarios.txt) do dsmove %%u -newparent "ou=DPTO,ou=Unidades Administrativas,ou=Geral,dc=meudominio,dc=local"
Outra coisa: A sua OU de destino tem espaço no nome, coloque-a entre "aspas"
Não tive como testar estes comandos.
Fábio de Paula Junior- Marcado como Resposta Bruno Gomes dos Santos terça-feira, 4 de outubro de 2011 17:43
-
Mais uma vez obrigado pelo apoio Fábio, mais segue os resultados.
1) - dsmove failed:Value for 'Target object for this command' has incorrect format.
2) - %%u foi inesperado neste momento.
Estou vendo outras formas por aqui também, se tiver mais algumas dicas boas ai...valeu!
Bruno. -
-