Jak v PowerShellu zjistit kdo je přihlášen na počítač?


Možností jak zjistit, kdo je přihlášen na počítači je vícero. Třeba příkaz query user vrací docela použitelné údaje, nicméně následující kód je asi nejlepší.

Zdroje pro následující kód jsou:

  • https://powershell.org/2015/08/list-users-logged-on-to-your-machines/
  • https://itknowledgeexchange.techtarget.com/powershell/cim-session-oddity/
$ComputerName = 'localhost'
#následující dva řádky jsou tu protože na ostatních kompech běží PowerShell verze 2
$opt = New-CimSessionOption -Protocol Dcom
$c8D = New-CimSession -ComputerName $ComputerName -SessionOption $opt
$ActiveUsers = (Get-CimInstance -CimSession $c8D -ClassName Win32_LoggedOnUser).Antecedent.name | Select-Object -Unique