Script Powershell para retornar todos os usuários conectados no domínio

1

Eu tenho um script powershell que retorna todos os usuários logados em todas as máquinas no domínio. Por alguma razão, funciona bem quando executado como uma linha individual

query session console /server:computer1

Mas, no meu código que faz o loop de todos os nomes de computador em um arquivo, continuo recebendo erros de parâmetros inválidos.

$cred = Get-Credential -Credential 'domain\administrator'
$CompName = Get-Content "C:\temp\comps.txt"

foreach($Comp in $CompName)
{
    query session console /server:$comp -Credential $cred 
}   

O C: \ temp \ comps.txt tem esta aparência:

Computer1
Computer2
Computer3   

Não consigo descobrir qual é o problema.

    
por Narzard 25.05.2016 / 21:19

1 resposta

1

O que aconteceu com seu script:

  • Acesso negado - Sua sessão de consulta (sob seu nome de usuário atual) não tem direitos de administrador sobre o "computador remoto".
  • erros de parâmetros inválidos - porque "sessão de consulta" não aceita -Credential como sua opção de comando.

Supondo que você tenha nome de usuário e credenciais (com direitos de administrador) que funcionem no outro computador - você precisa executar o seu powershell (e consultar a sessão) em conjunto com o runas.

Example: runas /user:user@domain "powershell.exe codeabove.ps1"

Isso permitirá que sua sessão do powershell seja executada como aquele user @ domain, que então executará o script powershell e executará a sessão de consulta como esse user @ domain. Assumindo que o domínio user @ tenha acesso ao computador remoto, ele retornará a saída de que você precisa.

    
por 26.05.2016 / 05:53