AP245 - Utilizando o CSVDE na administração do Exchange Server 2003
| Autor: |
Anderson Patricio |
| Publicação: |
12/Setembro/2006 |
Overview
Muitas vezes na
administração e/ou implementação de Exchange Server precisamos mexer com
uma grande quantidade de usuários e em muitos casos um relatório rápido
de determinados atributos todas estas necessidades podem ser
encaminhadas com o csvde que é um utilitário de linha de comando simples
e que pode ser no Windows Server 2003.

Solução
O CSVDE é
utilizado via linha de comando e devemos digitar csvde, o mesmo possui
uma série de parâmetros, que são explicados aqui:
|
Parâmetro |
Descrição |
| Gerais |
| -i |
O padrão é export mode, com este
padrão podemos alterar para Import. |
| -f <arquivo> |
Arquivo onde será o resultado dos comandos
executados. |
| -s <servidor> |
Podemos especificar o servidor |
| -v |
Modo detalhado |
| -c deDN paraDN |
Substitui ocorrências deDN paraDN |
| -j <caminho> |
Localização dos arquivos de log |
| -t <porta> |
Número da porta o padrão é 389. |
| -u |
Utiliza formato Unicode |
| Exportação |
| -d <RootDN> |
A raiz da consulta LDAP o padrão é Naming
Context |
| -r <Filter> |
Filtro para as consultas |
| -p <SearchScope> |
Escopo da pesquisa (Base, um nível, sub-árvore) |
| -l <lista> |
Lista dos atributos que serão utilizados do
resultado |
| -o <lista> |
Lista dos atributos que serão removidos do
resultado |
| -g |
Desabilita procura por pagina |
| -m |
Habilita a lógica da SAM na exportação |
| -n |
Não faz a exportação de valores binários |
| Importação |
| -k |
Irá ignorar erros do tipo "Constraint
Violation" e "object already Exists" |
Agora
que já conhecemos as opções disponíveis, vamos utilizar o csvde para
exemplos práticos que podemos utilizar diariamente:
Usando o CSVDE na prática...
Com o Exchange
Server 2007 isto será gerado muito mais fácil através do Windows
PowerShell, mas uma das formas de fazer isto pelo Exchange Server 2003 é
através do csvde, como segue:
csvde -f
lista-usuarios.txt -d "dc=andersonpatricio,dc=org" -r "(objectclass=user)"
Onde:
-
-d "dc=apatricio,dc=org": caminho onde
ele irá buscar as informações, devemos colocar dc=xx, para cada
parte do domínio fqdn
-
-r "(objectclass=user)": somente objetos
do tipo usuário
-
-f lista-usuarios.txt: onde será gerado o
arquivo do csvde
Com isto temos
uma lista de todos usuários do caminho especificado. Mas esta lista
gerada pode conter muitos atributos não necessários, podemos aprimorar o
resultado colocando no resultando somente o caminho do usuário no Active
Directory e os endereços SMTP da seguinte forma:
csvde -f
lista-usuarios.txt -d "dc=andersonpatricio,dc=org" -r "(objectclass=user)"
-o DN,ProxyAddresses
Observação: do exemplo anterior para este as modificações foram
colocadas em negrito.
Onde:
Bom
agora que já sabemos gerar somente os atributos necessários no resultado,
podemos refinar um pouco mais a consulta, digamos que nossa empresa
fictícia tenha muitos usuários e uma grande quantidade de domínios e nos
é solicitado uma listagem de todos os usuários que contêm o endereços @apatricio.local.
Podemos fazer isto com o CSVDE da seguinte forma:
csvde -f
lista-usuarios.txt -d "dc=andersonpatricio,dc=org" -r "(&(objectclass=user)(proxyaddresses=*apatricio.local))"
-o DN,ProxyAddresses
Observação: do exemplo anterior para este as modificações foram
colocadas em negrito.
Onde:
-
adicionamos mais uma cláusula na consulta (proxyaddresses=*apatricio.local)
e colocamos também o & no início para fazer um E lógico, ou seja,
o resultado será somente do tipo usuário e que tenham no
proxyaddresses *apatricio.local.
Conclusão
Com este
tutorial mostramos como utilizar o CSVDE que é um poderoso utilitário
para consultas e geração de arquivos baseados em complexas pesquisas, outra
utilidade dele é gerar lista de usuários personalizadas para serem utilizadas
posteriormente por scripts. Muitas vezes ocorre o caso de termos que criar um
script que troque todos os atributos do usuarios do domínio (@xx.com.br) no
campo Cidade para Porto Alegre, o que poderíamos fazer para diminuir tempo de
desenvolvimento é gerar a lista e o script somente alterar diretamente sem
precisar ficar validando esta pesquisa em tempo de execução.
|