Ir para conteúdo
Fórum Script Brasil
  • 0

Adicionar Usuário Ao Grupo De Outro Dominio


André Cotta

Pergunta

Estou desevolvendo uma aplicação para adicionar um usuário a um grupo de um outro domínio, os domain controllers são 2000, sp4.

Só que no momento em que está sendo inserido acontece o seguinte erro:

There is a naming violation. (Exception from HRESULT: 0x80072037)

código:

DirectoryEntry oGroup = GetDirectoryObjectPorDominio(grupoPerfil, "group", dominioPerfil);

DirectoryEntry oUser = GetDirectoryObjectPorDominio(UserName, "user",dominioUsusario);

string SID = new SecurityIdentifier((byte[])oUser.Properties["objectSid"][0], 0).Value;

string UserPath = "LDAP://" + dominioUsusario + "/<SID=" + SID + ">";

oGroup.Invoke("Add", new Object[] { UserPath });

oGroup.CommitChanges();

oGroup.Close();

oUser.Close();

Grato,

André

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Consegui resolver esse problema da seguinte maneira

byte[] bytes = (byte[])oUser.Properties["objectSid"][0];

string UserPath = "LDAP://" + dominioUsusario + "/<SID= + BuildOctetString(bytes) + ">";

oGroup.Invoke("Add", new Object[] { UserPath });

oGroup.CommitChanges();

oGroup.Close();

oUser.Close();

-----------------------------------

private string BuildOctetString(byte[] bytes)

{

StringBuilder sb = new StringBuilder();

foreach (byte b in bytes)

{

sb.Append(b.ToString("X2"));

}

return sb.ToString();

}

Agora estou com problemas na hora de remover o usuário:

byte[] bytes = (byte[])oUser.Properties["objectSid][0];

string UserPath = "LDAP://" + dominioUsusario + "/<SID=" + BuildOctetString(bytes) + ">";

oGroup.Invoke("Remove", new Object[] { UserPath });

oGroup.CommitChanges();

oGroup.Close();

oUser.Close();

esta acontecendo o seguinte erro:

System.DirectoryServices.DirectoryServicesCOMException (0x80072035): The server is unwilling to process the request. (Exception from HRESULT: 0x80072035) --- End of inner exception stack trace --- at ManipulaAD.UsuarioAD.RemoveUserFromGroup(String UserName, String GroupName) in d:\Projetos\MBR\AdminSeg\Aplicacao\AdminSegSln\AdminSegWSPastas\App_Code\UsuarioAD.cs:line 237 at wsPastasCompartilhadas.RevogarAcesso(Int32 IdOperacao, String Sistema, String MatUsuario, String IdAcesso, String IdModExterno, String IdPerfilExterno, String IdVisibilidadeExterno) in d:\Projetos\MBR\AdminSeg\Aplicacao\AdminSegSln\AdminSegWSPastas\App_Code\wsPastasCompartilhadas.cs:line 87

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...