relacionamento entre usuário e computador

3

Eu tenho usado Get-ADUser e Get-ADComputer algumas vezes para ajudar a solucionar problemas no sistema.

Eu vi algumas maneiras de identificar qual usuário está conectado em uma máquina específica por meio de um dos registros, PsLoggedon.exe e outros scripts , mas como não sou realmente um administrador de rede, muitas vezes recebo acesso negado. O que é bom porque eu não sou muito interessante em cavar tão fundo.

Tudo que preciso é de alguma forma identificar quais usuários têm uma conta (perfil) em uma máquina (ou quais máquinas possuem uma conta de usuário) para que eu possa contatá-los e ajudá-los sempre que uma exceção estiver vindo de seu endereço IP.

Não há absolutamente nenhuma relação entre esses dois objetos prontos para uso?

    
por Tiago Duarte 15.10.2014 / 11:46

2 respostas

6

Não há absolutamente nenhuma relação entre esses objetos "fora da caixa". O Windows 8 / Windows Server 2012 introduziu um conceito de "computador principal" Atributo de esquema do Active Directory, mas duvido que você ache isso sendo usado.

Colocar o usuário conectado em uma máquina remota é uma daquelas coisas que soa como se fosse realmente fácil, mas, na prática, não é.

Acho que você terá que obter alguma cooperação da sua equipe de administração de rede para obter o que procura com segurança. Consultar remotamente as informações do usuário conectado por meio de "meios normais" ( psloggedon , consultas WMI, acesso ao registro remoto) exigirá que você tenha direitos de Administrador local na máquina remota ou que sejam feitas alterações nos padrões para conceder à sua contexto não-administrador, certo.

Para falar sobre "hacks": Eu poderia imaginar um cenário em que o manipulador de exceção tenta redirecionar o navegador do usuário para uma página que requer autenticação NTLM e, se os clientes estiverem configurados para tentar automaticamente a autenticação com o logon credencial do usuário, você poderia "colher" a credencial dessa maneira. Eu também podia ver como isso poderia ser mal interpretado pela equipe de administração da rede como sendo um ataque aos usuários, então eu recomendaria strongmente contra isso.

Presumivelmente você está administrando uma aplicação web, mas não parte da equipe de administração de rede. Se você pudesse obter a administração da rede para entrar no servidor da Web para o domínio, você poderia habilitar a autenticação. Nesse ponto, você saberia o nome de usuário do usuário remoto e não precisaria se preocupar com nada desse endereço IP. Se seus clientes estão configurados corretamente, a autenticação também pode ocorrer de maneira transparente.

    
por 15.10.2014 / 16:07
5

Os perfis existentes em um computador Windows estão listados na seguinte chave do Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Ele contém uma subchave por perfil de usuário e o nome de cada subchave identifica o usuário correspondente por um Identificador de segurança.

Você pode "descobrir" perfis de usuário enumerando as subchaves e convertendo todos os SIDs de usuários para seus objetos de conta correspondentes:

$profileList = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"
# Retrieve subkeys that represent user profiles
$UserProfiles = Get-ChildItem $profileList |? {$_.Name -like "*S-1-5-21-*"}

foreach($Profile in $UserProfiles)
{
    $ntAccType = [System.Security.Principal.NTAccount] -as [Type]
    $userSid = ($Profile.Name-split"\")[-1]
    try{
        # Attempt to translate the SID to an NTAccount object
        (New-Object System.Security.Principal.SecurityIdentifier $userSid).Translate($ntAccType)
    } catch {"Translating SID $userSid to Account failed"}
}
    
por 15.10.2014 / 13:04