Para fazer uma conexão ao Active Directory (AD), é necessário um usuário com permissão de acesso ao AD, não será explicado nesse post como é feita a criação desse usuário.
Você deve criar uma conexão OLE DB, para isso abra o editor de script e siga os passos.
Informe o endereço do AD, bem como o usuário e senha criados anteriormente. Clique em Testar conexão.
Após a criação conforme indicado acima, você verá a seguinte linha de conexão.
OLEDB CONNECT TO [Provider=ADsDSOObject;User ID=Dominio\Usuário;Encrypt Password=False;Data Source=LDAP://dominio.com.br;Mode=Read;Bind Flags=0;ADSI Flag=-2147483648] (XPassword is IGGRQZVMODaCWbB);
Depois você pode fazer a extração dos grupos e usuários dos grupos, nesse caso, os grupos são pré-determinados.
Veja exemplo.
//************* Grupos AD ****************//
FOR each arg in 'Grupo1','Grupo2','Grupo3'
Groups:
LOAD
distinguishedName as GroupKey,
cn as Grupo;
SQL select
distinguishedName,
cn
FROM 'LDAP://DC=dominio,DC=com, DC=br'
WHERE objectCategory='group' AND cn ='$(arg)';
//grava as informações do Grupo
Store Groups into Groups_$(arg).qvd;
//Alimenta a variável com o valor do campo GroupKey
LET vGK = peek('GroupKey');
//Exibe o nome do Grupo e Chave do Grupo
TRACE GRUPO - $(arg) - $(vGK);
//Busca os usuários do Grupo
Users:
LOAD
'$(vGK)' as GroupKey,
upper(sAMAccountName) as LanID,
cn as Name;
SQL SELECT
sAMAccountName,
cn
FROM 'LDAP://DC=dominio,DC=com, DC=br'
WHERE memberOf='$(vGK)';
//grava os usuários do Grupo
Store Users into \Users_$(arg).qvd;
//Elimina as tabelas do arquivo qvw
drop table Users;
drop table Groups;
NEXT arg
Nenhum comentário:
Postar um comentário