none
Script para trazer usuários logados em um domínio e seus respectivos servidores RRS feed

  • Pergunta

  • Olá pessoal, boa tarde!

    Tenho uma farm com algumas máquina virtuais, e estou precisando criar um script (pode ser .vbs ou .bat) para que o mesmo retorne os usuários que estão conectados às máquinas que tenho nesse domínio, bem como, listar as mesmas.

    Encontrei vários diferentes, porém, nenhum atende a demanda para fazer as duas coisas. Como sou leigo nessa parte, gostaria de contar com a colaboração de alguém, nesse sentindo.

    Desde já agradeço.

    segunda-feira, 29 de setembro de 2014 20:09

Respostas

Todas as Respostas

  • João,

    Não entendi bem sua pergunta.

    Eu tenho um script que verifica quem está logado em todas as máquinas do dominio, se precisar ser menos que isso basta alterar uma linha ($Computers = Get-ADComputer -filter * ).

    Se não for isso por favor tente explicar novamente.


    Verificar qual usuário está logado em cada estação do dominio

    http://gallery.technet.microsoft.com/Verificar-qual-usurio-est-392b2be9


    Fábio de Paula Junior

    terça-feira, 30 de setembro de 2014 14:30
    Moderador
  • Então Fábio, boa tarde!

    Eu preciso de algum script que não retornasse apenas um usuário, e sim, todos os logados nas máquinas do domínio.

    Exemplo:

    Máquina User

    SVR001 Fulano

    Espero que tenha entendido. Esse seu acima é muito bom também, mas não se aplica a esse necessidade.

    terça-feira, 30 de setembro de 2014 17:06
  • João,

    O script que te passei então faz o que você precisa.

    Digamos que vc tem 3 máquinas no seu dominio, ele vai gerar uma lista assim:

    maquina1,usuario1
    maquina2,usuario3
    maquina3,usuario2

    Isto é, ele vai visitar cada máquina e verificar quem está logado.

    Você testou o script?



    Fábio de Paula Junior

    terça-feira, 30 de setembro de 2014 19:39
    Moderador
  • Olá Fábio,

    Quando tento executar via Powershell, o mesmo retorna que:

    Não é possível processar a instrução #requires porque ela não está em formato correto.

    A instrução #requires deve estar em um dos seguintes formatos:

    ...

    Devido a esse problema, não obtive evolução. Se puder dar uma olhada, ficaria extremamente agradecido. :-)

    terça-feira, 30 de setembro de 2014 20:42
  • Essa primeira linha deveria testar a versão do seu PowerShell e não permitir a execução caso ele não for pelo menos a versão 2.0.

    Digite Host na console do powershell e veja qual a versão do seu PowerShell, se for a versão 1 então instale ao menos a versão 2.0.

    Se já for pelo menos a 2.0 então apague esta primeira linha, nunca vi esse erro.


    Fábio de Paula Junior


    terça-feira, 30 de setembro de 2014 23:51
    Moderador
  • Ola Fabio,

    Cara, agora eu estou tendo problemas para executar. Abaixo o erro apresentado

    PS C:\temp> .\whologged.ps1
    Get-ADComputer : The type initializer for 'Microsoft.ActiveDirectory.Management.ADObject' threw an exception.
    At C:\temp\whologged.ps1:9 char:28
    + $Computers = Get-ADComputer <<<<  -filter *
        + CategoryInfo          : NotSpecified: (:) [Get-ADComputer], TypeInitializationException
        + FullyQualifiedErrorId : The type initializer for 'Microsoft.ActiveDirectory.Management.ADObject' threw an except
       ion.,Microsoft.ActiveDirectory.Management.Commands.GetADComputer

    Estou procurando e ate o momento nao consegui nenhuma solucao.

    Se puder me ajudar...

    quinta-feira, 2 de outubro de 2014 21:00
  • João,

    O erro está acontecendo em uma linha muito simples, nem tenho ideia do que pode estar ocasionando esse erro.

    Tente executar a linha abaixo em um prompt do powershell e veja se vai retornar algum resultado.

    Get-ADComputer -filter * 

    Talvez seja necessário executar este comando antes:

    Import-Module ActiveDirectory 


    Fábio de Paula Junior

    sexta-feira, 3 de outubro de 2014 13:28
    Moderador
  • Olá Fábio, boa tarde!

    O problema está no comando Get-ADComputer -filter * mesmo. Pois retorna o mesmo erro que lhe passei.

    Quando eu entro com o comando Import-Module ActiveDirectory ele funciona.

    Estranho, porém, estou dando uma procurada também.



    sexta-feira, 3 de outubro de 2014 16:57
  • Estranho não é, o comando Get-AdComputer só existe após a importação do módulo, veja que no script o import-module é a segunda linha.

    Fábio de Paula Junior

    sexta-feira, 3 de outubro de 2014 18:46
    Moderador
  • Olá Fábio, você está correto, o problema é que todos os KB's necessários para que o script executasse, foram instalados.

    Lí bastante sobre Powershell, realmente o Get-AdComputer só funciona a partir do import do módulo do AD, porém, ainda persistem erros.

    segunda-feira, 6 de outubro de 2014 14:59
  • Qual o erro que está aparecendo agora?

    Fábio de Paula Junior

    terça-feira, 7 de outubro de 2014 18:22
    Moderador
  • Olá Fábio, desculpe a demora para responder.

    Então cara, eu instalei tudo quanto é hot fix e KB para funcionar o ADWS no meu servidor do AD, o serviço até está startado e automático, porém, quando tento importar os módulos para rodar o script, o powershell me retorna o seguinte erro:

    AVISO: Error initializing a unidade padrão: 'Não é possível localizar um servidor padrão com os Serviços Web do Active Directory em execução.'.

    Sendo que, se tento rodar o script mesmo assim, ele ainda retorna o seguinte erro:

    Get-ADComputer : Não é possível localizar um servidor padrão com os Serviços Web do Active Directory em execução.
    Em C:\temp\whologged.ps1:9 caractere:28
    + $Computers = Get-ADComputer <<<<  -filter *
        + CategoryInfo          : ResourceUnavailable: (:) [Get-ADComputer], ADServerDownException
        + FullyQualifiedErrorId : Não é possível localizar um servidor padrão com os Serviços Web do Active Directory em e
       xecução.,Microsoft.ActiveDirectory.Management.Commands.GetADComputer

    Verificando
    Test-Connection : Não é possível validar o argumento no parâmetro 'ComputerName'. O argumento é nulo ou vazio. Forneça
    um argumento que não seja nulo ou vazio e tente o comando novamente.
    Em C:\temp\whologged.ps1:14 caractere:21
    +     if (test-connection <<<<  $Computer.name -count 1 -quiet){
        + CategoryInfo          : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

    Teria alguma idéia o que pode ser?

    quinta-feira, 16 de outubro de 2014 14:54
  • Se não me engano esse erro é devido você não ter um controlador de dominio 2008.  Se você tiver tente executar o script de dentro dele.

    Fábio de Paula Junior

    domingo, 19 de outubro de 2014 14:44
    Moderador
  • ## Windows Server 2008 R2 in PowerShell 2.0, 3.0 and 4.0
    ## Error : PS C:\Users\Administrador> import-module activedirectory
    ## AVISO: Error initializing a unidade padrão: 'Não é possível localizar um servidor padrão com os Serviços Web do Active Directory em execução.'.
    ## WARNING: Error initializing the standard unit: 'Can not find a standard server with Active Directory Web Services running.'.
    ## Run in CMD is administrator the command:
    lodctr /r
    net start ADWS
    ## Run in powershell:
    Import-Module ServerManager
    Add-WindowsFeature RSAT-AD-PowerShell
    import-module ActiveDirectory
    get-addomain
    ## Reference: https://technet.microsoft.com/en-us/library/f71453e7-a46f-4b7d-b227-fa702688d14d.aspx

    Léo

    quarta-feira, 27 de julho de 2016 14:12