Jump to content

Information about the domain could not be retrieved (1355)


Recommended Posts

Posted

Boas

Estou a acabar o meu programa para a PAP e descobri que não consigo obter os grupos a partir de um computador fora do domínio (dentro do domínio funciona tudo bem)...

Esta é a função:

        public bool[] IsUserGroupMember(string sUserName, string sGroupName, string sGroupName2)
        {
            UserPrincipal oUserPrincipal = GetUser(sUserName);
            GroupPrincipal oGroupPrincipal = GetGroup(sGroupName);
            GroupPrincipal oGroupSecundary = GetGroup(sGroupName2);
          
            if (oUserPrincipal != null && oGroupPrincipal != null && oGroupSecundary != null)
            {
                return new bool[] {oUserPrincipal.IsMemberOf(oGroupPrincipal), oUserPrincipal.IsMemberOf(oGroupSecundary)};
            }

            return new bool[] {false};
        }

Estas são as funções chamadas:

        public PrincipalContext GetPrincipalContext()
        {
            PrincipalContext oPrincipalContext = new PrincipalContext(ContextType.Domain, Dominio, stringAD, @Adminlogin, @Adminpass);
            return oPrincipalContext;
        }

        public UserPrincipal GetUser(string sUserName)
        {
            PrincipalContext oPrincipalContext = GetPrincipalContext();

            UserPrincipal oUserPrincipal =
                UserPrincipal.FindByIdentity(oPrincipalContext, sUserName);
            return oUserPrincipal;
        }

        public GroupPrincipal GetGroup(string sGroupName)
        {
            PrincipalContext oPrincipalContext = GetPrincipalContext();

            GroupPrincipal oGroupPrincipal =
                GroupPrincipal.FindByIdentity(oPrincipalContext, sGroupName);
            return oGroupPrincipal;
        }

Um print do código:

T4Up24Q6ScKMGyGZz1-qjg.png

 

Como já disse em cima, isto funciona se for num computador do domínio.

Consigo fazer ping ao domínio, e também o tenho a apontar para o IP da máquina no ficheiro hosts.

O firewall da máquina está desativado e corre no VMware com Windows Server 2012 R2.

Alguém tem alguma ideia?

Obrigado

Posted

Quando estás no domínio as credenciais de login no Windows são usadas no teu pedido, se não estás autenticado no domínio não há permissões para ler!

O truque que podes usar é executar o teu programa com o comando runas e passar como parâmetro o domínio\utilizador e password.

Posted
1 hora atrás, antoniocampos disse:

Quando estás no domínio as credenciais de login no Windows são usadas no teu pedido, se não estás autenticado no domínio não há permissões para ler!

O truque que podes usar é executar o teu programa com o comando runas e passar como parâmetro o domínio\utilizador e password.

Mas há algo interessante...

Consigo criar utilizadores normalmente dentro do active directory, editar utilizadores, fazer login...

Apenas dá erro ao verificar se o utilizador não estiver dentro do grupo, o mesmo comando com o utilizador dentro do grupo não dá erro nenhum...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.