Inquiridor
Exportar Usuários de Grupos no AD (Com Relação de Confiança)

Pergunta
-
Pessoal, olha que situação atípica.
Tenho dois domínio configurados com Relação de Confiança em ambos, tudo ok. Autenticação funciona, atribuição em grupos Domain Local, etc...
Tenho um grupo de Escopo Domain Local no domínio "A", e como membros deste grupo usuários do domínio "B". Preciso exportas estes usuários para depois importá-los em um grupo de Escopo Domain Local no domínio "B". Aí que está o problema, tenho o script abaixo que funciona perfeitamente, mas só me traz os usuários do domínio "A", como posso contornar essa situação?
On Error Resume Next Diretorio= "C:\Temp\Groups" grupo= InputBox("Digite o nome do grupo ") file= grupo & ".txt" Set oFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objFolder = oFSO.CreateFolder(Diretorio) Set Dir=oFSO.GetFolder(Diretorio) Set arqtxt = Dir.CreateTextFile(file, True) Set rootDSE = GetObject("LDAP://RootDSE") domainContainer = rootDSE.Get("defaultNamingContext") Set conn = CreateObject("ADODB.Connection") conn.Provider = "ADSDSOObject" conn.Open "ADs Provider" LDAPStr = "<LDAP://" & DomainContainer & ">;(&(objectclass=group)(objectCategory=group)(samaccountname=" & grupo & "));adspath;subtree" Set rs = conn.Execute(LDAPStr) If rs.RecordCount = 1 Then Set oGroup = GetObject(rs.Fields(0).Value) End If for each strMember in oGroup.member Spmember = Split(strMember, ",") member= Spmember(0) arqtxt.WriteLine Mid (member,4) Next iGroupCount = 0 For each strMember in oGroup.member If Len(strMember) = 0 Then wscript.echo "Grupo sem nenhum membro ou não existente!." Else iGroupCount = iGroupCount + 1 End If Next arqtxt.WriteLine("Número total de usuarios neste grupo = ") & iGroupCount arqtxt.Close WScript.echo "Pronto!!!" wscript.quit
- Editado Fábio JrModerator quarta-feira, 9 de outubro de 2013 16:24 Formatação do código
Todas as Respostas
-
Marco,
O seu script está configurado para pegar o dominio da estação onde você está executando o script:
Set rootDSE = GetObject("LDAP://RootDSE") domainContainer = rootDSE.Get("defaultNamingContext")
Vc tem duas opções:
1) Executar o script no dominio B
2) Alterar a linha abaixo:
Set rootDSE = GetObject("LDAP://RootDSE")
para uma que faça referência ao dominio B, exemplo:
Set rootDSE = GetObject("LDAP://dc=dominio,dc=B,dc=com,dc=br")
Fábio de Paula Junior
-
-
-
-
-
-
-
-
-
Tente mais uma coisa,
Faça a consulta de dois grupos, um tem que ser do tipo Dominio Local e o outro tem que ser do tipo Global. Se puder também tente com um Universal, mas acho que os dois primeiros devem ser suficientes.
Fábio de Paula Junior
-
Fábio, bom dia. Somente grupos Domain Local permitem adicionar membros de outro domínio com Relação de Confiança.
Fiz mais um teste, usei o ADMT e também exportou os usuários com o SID... Caraca, que droga! Rs... To vendo que vou ter que cadastrar os usuários nos novos grupos tudo na mão.
-