Como encontrar todos os computadores em que um usuário está conectado

Estou a tentar executar um script PowerShell para encontrar todos os computadores em que um utilizador Está ligado ao meu domínio. Não consegui pôr nada a funcionar. Eu encontrei o seguinte script que será executado sem erros, mas nunca produz saída. Alguma ideia ou sugestão?

Add-PSSnapin Quest.ActiveRoles.ADManagement -ErrorAction SilentlyContinue
$ErrorActionPreference = "SilentlyContinue"

# Retrieve Username to search for, error checks to make sure the username
# is not blank and that it exists in Active Directory

Function Get-Username {
    $Global:Username = Read-Host "Enter username you want to search for"
    if ($Username -eq $null) {
        Write-Host "Username cannot be blank, please re-enter username!"
        Get-Username
    }
    $UserCheck = Get-QADUser -SamAccountName $Username
    if ($UserCheck -eq $null) {
        Write-Host "Invalid username, please verify this is the logon id for the account"
        Get-Username
    }
}

get-username

$computers = Get-QADComputer | where {$_.accountisdisabled -eq $false} -searchroot '\\MyDomainName\computers'
foreach ($comp in $computers) {
    $Computer = $comp.Name
    $ping = new-object System.Net.NetworkInformation.Ping
    $Reply = $null
    $Reply = $ping.send($Computer)
    if($Reply.status -like 'Success') {
        #Get explorer.exe processes
        $proc = gwmi win32_process -computer $Computer -Filter "Name = 'explorer.exe'"
        #Search collection of processes for username
            ForEach ($p in $proc) {
                $temp = ($p.GetOwner()).User
                if ($temp -eq $Username) {
                write-host "$Username is logged on $Computer"
                }       
            }
        }
    }
Author: Brian Weaver, 2016-02-07

1 answers

Temos de nos autenticar no servidor de anúncios e consultar o ID de Evento 4624, procurar no histórico do utilizador registado a partir de toda a lista de eventos. Ele exibe apenas o endereço IP do computador de origem. Lá podemos usar o comando nslookup para descobrir o nome da máquina. Para fazer este processo, foi necessário um arquivo bem escrito em lote ou script power shell para encontrar rapidamente o nome da máquina.

 0
Author: Manas Dash, 2018-01-31 12:26:25