pokud jste sysadmin pracující v prostředí, které má spoustu počítačů připojených k doméně, vědět, kdo používá který počítač, může jít dlouhou cestu, která vám pomůže dělat svou práci lépe.
existuje příkazový řádek, který funguje perfektně, pokud chcete čas od času zkontrolovat hrst počítačů.
quser /server:computername
můžete dokonce zařadit více do jednoho příkazu a dotazovat informace z více počítačů, jako je tento.
quser /server:computer1 & quser /server:computer2 & quser /server:computer3
i když je příkaz velmi užitečný, moc nepomůže, pokud chcete použít PowerShell.
Chcete-li zkontrolovat, zda někdo používá počítač v síti v PowerShell,
Get-CimInstance Win32_ComputerSystem -ComputerName $computername | Select -ExpandProperty username
ale nevýhodou je, že nevrátí nic, pokud se někdo přihlásí do tohoto počítače přes RDP. Pokud vás to neobtěžuje, můžete jej integrovat do skriptu, který můžete spustit a vytáhnout informace z více počítačů.
můžete například vytáhnout seznam počítačů z konkrétního OU v reklamě a zkontrolovat, zda některý z nich byl používán, než vytlačíte jakékoli aktualizace,které by mohly přerušit práci ostatních.
$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; } }}
skript vytáhne seznam počítače z OU a pro každý počítač v seznamu zkontroluje, zda je nejprve online. Pokud ano, pokračuje v kontrole, zda někdo používá tento počítač. Poté můžete provádět další úkoly na základě vaší potřeby.