se você é um administrador de sistemas trabalhando em um ambiente que tem toneladas de computadores com domínio, sabendo quem está usando Qual computador pode ajudar muito você a fazer seu trabalho melhor.
há uma linha de comando que funciona perfeitamente se você quiser apenas verificar um punhado de computadores de vez em quando.
quser /server:computername
Você pode, até mesmo, a fila de vários arquivos em um comando de consulta a informações a partir de vários computadores, como este.
quser /server:computer1 & quser /server:computer2 & quser /server:computer3
embora o comando seja extremamente útil, não ajuda muito se você quiser usar o PowerShell.
para verificar se alguém está usando um computador na rede no PowerShell,
Get-CimInstance Win32_ComputerSystem -ComputerName $computername | Select -ExpandProperty username
mas a desvantagem é que ele não retorna nada se alguém fizer login nesse computador via RDP. Se isso não o incomodar, você pode integrá-lo em um script que pode ser executado para extrair as informações de vários computadores.
por exemplo, você pode puxar uma lista de computadores de uma OU específica em seu anúncio e verificar se algum deles está em uso antes de enviar quaisquer atualizações que possam interromper o trabalho de outras pessoas.
$computers = Get-ADComputer -Filter * -SearchBase "OU=Desktops, OU=Computers, DC=domain_name, DC=local" | Sort-Object NameForEach ($computer in $computers) { if (Test-Connection $computer.name -Count 2 -Quiet) { $user = Get-CimInstance Win32_ComputerSystem -ComputerName $computername | Select -ExpandProperty username if ($user) { //do something usefule; } }}
o script puxa uma lista de computador de uma UO e para cada computador na lista, ele verifica se está online primeiro. Nesse caso, ele verifica se alguém está usando esse computador. Você pode então executar outras tarefas com base em sua necessidade.