{"id":3510,"date":"2015-04-17T19:26:46","date_gmt":"2015-04-17T19:26:46","guid":{"rendered":"http:\/\/www.deuzebranaweb.com.br\/?p=3510"},"modified":"2015-04-17T19:26:46","modified_gmt":"2015-04-17T19:26:46","slug":"mais-uma-maneira-de-importar-dados-em-massa-para-o-active-directory","status":"publish","type":"post","link":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/2015\/04\/17\/mais-uma-maneira-de-importar-dados-em-massa-para-o-active-directory\/","title":{"rendered":"Mais uma maneira de importar dados em massa para o Active Directory"},"content":{"rendered":"<p align=\"justify\">Muitas vezes existe a necessidade de cadastrar diversas informa\u00e7\u00f5es em objetos de usu\u00e1rio no Active Directory, como por exemplo,\u00a0todos os ramais de cada usu\u00e1rio do dom\u00ednio.<\/p>\n<h2 align=\"justify\">Importando os dados<\/h2>\n<p align=\"justify\">Existe\u00a0 uma maneira muito pr\u00e1tica de fazer isso.\u00a0Solicite ao RH que envie o nome do usu\u00e1rio e o ramal, formate a lista de acordo com o seguinte exemplo:<\/p>\n<p align=\"justify\">\u201cUsuario 1\u201d;\u201d55 11 9999 9001\u201d<br \/>\n\u201cUsuario 2\u201d;\u201d55 11 9999 9002\u201d<br \/>\n\u201dUsuario 3\u201d;\u201d55 11 9999 9003\u201d<\/p>\n<p align=\"justify\">Salve a lista no arquivo usuarios.txt. Depois crie o arquivo usuarios.bat com a seguinte linha:<\/p>\n<blockquote>\n<p align=\"justify\">for \/F \u201ctokens=1,2 delims=;\u201d %%A IN (usuarios.txt) DO dsquery user \u2013name %%A | dsmod user \u2013tel %%B<\/p>\n<\/blockquote>\n<p align=\"justify\">Note que voc\u00ea far\u00e1 um for, pegando os tokens 1 e 2 (primeira e segunda coluna), o que determina a divis\u00e3o das colunas \u00e9 ; (delims:;). Em cada linha, ele executar\u00e1 (DO) o dsquery para procurar o usu\u00e1rio no AD (-name %%A), note que a vari\u00e1vel %%G \u00e9 tudo que estiver na 1\u00b0 coluna do .txt, depois usamos o pipe para pegar a sa\u00edda do dsquery, e alterar o telefone com a vari\u00e1vel da segunda coluna\/token (-tel %%B).<\/p>\n<p align=\"justify\">Vamos para outro exemplo. Voc\u00ea precisa indicar al\u00e9m do ramal, o cargo:<\/p>\n<p align=\"justify\">usuarios.txt:<\/p>\n<p align=\"justify\">\u201cUsuario 1\u201d;\u201d55 11 9999 9001\u201d;\u201dAnalista de recursos humanos\u201d<br \/>\n\u201cUsuario 2\u201d;\u201d55 11 9999 9002\u201d;\u201dT\u00e9cnico em contabilidade\u201d<br \/>\n\u201dUsuario 3\u201d;\u201d55 11 9999 9003\u201d;\u201dAnalista de compras\u201d<\/p>\n<p align=\"justify\">usuarios.bat:<\/p>\n<blockquote>\n<p align=\"justify\">for \/F \u201ctokens=1,2,3 delims=;\u201d %%A IN (usuarios.txt) DO dsquery user \u2013name %%A | dsmod user \u2013tel %%B \u2013title %%C<\/p>\n<\/blockquote>\n<p align=\"justify\">Note que criamos mais um token (tokens=1,2,3), e no final do comando, inserimos o par\u00e2metro \u2013title (cargo) usando o pr\u00f3ximo token (-title %%C). Note tamb\u00e9m que os tokens seguem ordem alfab\u00e9tica, voc\u00ea pode utilizar at\u00e9 26.<\/p>\n<p align=\"justify\">Um detalhe, poderiamos utilizar o \u201cdsmod user\u201d para alterar os usu\u00e1rios diretamente sem pesquisar com o \u201cdsquery user\u201d, por\u00e9m perderiamos um pouco o din\u00e2mismo, j\u00e1 que para indicar qual usu\u00e1rio alterar diretamente no dsmod, teriamos que indicar atrav\u00e9s da conven\u00e7\u00e3o LDAP:<\/p>\n<p align=\"justify\">dsmod user \u201ccn=Usuario 1,ou=notebooks,ou=usuarios,dc=dominio,dc=corp\u201d \u2013tel \u201c55 11 9999 9001\u201d \u2013title \u201cAnalista de recursos humanos\u201d<\/p>\n<p align=\"justify\">Perceba que seria um problema utilizar somente uma linha de .bat para alterar usu\u00e1rios em diferentes OUs. Por exemplo, voc\u00ea armazena usu\u00e1rios de notebooks em uma OU diferente dos usu\u00e1rios de desktops. Usando o dsquery para indicar o usu\u00e1rio, voc\u00ea simplesmente aponta o displayName, que normalmente \u00e9 \u00fanico no dom\u00ednio, e poder\u00e1 efetuar altera\u00e7\u00f5es utilizando apenas uma linha de .bat para todo o dom\u00ednio, e se quiser, ainda pode utilizar o \u2013filter no dsquery para alterar em todos os dom\u00ednio de toda uma floresta, apenas com uma linha de .bat.<\/p>\n<h2 align=\"justify\">Conclus\u00e3o<\/h2>\n<p align=\"justify\">Foi poss\u00edvel, com este procedimento, efetuar a inclus\u00e3o de dados em massa para diversos usu\u00e1rio, e o esfor\u00e7o maior provavelmente \u00e9 a obten\u00e7\u00e3o das listas com os dados desejados. Importante destacar a necessidade de ter a lista com pelo menos uma infoma\u00e7\u00e3o \u00fanica para usar como identificador de cada usu\u00e1rio. Lembrando que outra alternativa para este procedimento \u00e9 o csvde. Acredito que n\u00e3o haja dificuldades maiores entre um e outro, s\u00e3o apenas procedimentos diferentes para um mesmo objetivo.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>http:\/\/www.msitpro.com.br\/?p=409<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Muitas vezes existe a necessidade de cadastrar diversas informa\u00e7\u00f5es em objetos de usu\u00e1rio no Active Directory, como por exemplo,\u00a0todos os ramais de cada usu\u00e1rio do dom\u00ednio. Importando os dados Existe\u00a0 uma maneira muito pr\u00e1tica de fazer isso.\u00a0Solicite ao RH que envie o nome do usu\u00e1rio&#8230;<\/p>\n","protected":false},"author":2,"featured_media":3546,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_angie_page":false,"page_builder":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-3510","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts\/3510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=3510"}],"version-history":[{"count":0,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts\/3510\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/media\/3546"}],"wp:attachment":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=3510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=3510"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=3510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}