Эта команда вернет имя учетной записи текущего пользователя. Но как мне узнать не свою уч. запись, а других пользователей? Как мне послать эту команду на их ПК?
еще вариант - это системная утилита QUSER
она умеет обращаться к другим компьютерам через параметр /server
вывод команды обычно парсят под свои нужды - например, имя активного пользователя начинается с ">"
и смотрел при необходимости, или можно обойти компьютеры по списку при помощи утилиты psloggedon и списка компьютеров домена. В AD этой информации точно нет.
В AD не хранится информация о сопоставлении компьютера и работающего на нем пользователя.
Вариантов 2.
1. Обходить скриптом все онлайн машины через WinRM и дергать пользователей, формировать список.
2. Добавить через GPO на все нужные машины startup скрипт, который при логоне на них пользователей будет писать нужные вам данные в AD - в любой из пустых Extanded Attributes, а затем просто через get-aduser или get-adcomputer доставать эти данные.
По идее так может сработать.
$pclist = Get-Content "путь до файла с именами устройств"
Invoke-Command -ComputerName $pclist {$env:USERNAME}
Это опросит все указанные в файле ПК на предмет текущего пользователя
Кстати возможно, тогда может в system 32 что-то поискать, и оттуда вытащить активную сессию. Собственно идея была в том чтобы опросить машины на тему активного юзера. Исполнение подвело =D