PsExec.exe + PsLoggedOn.exe + командный файл.
Шаг 1. Загрузите PsExec.exe и поместите его в папку.
Шаг 2. Поместите PsExec.exer и PsLoggedOn.exe в папке вместе.
Шаг 3. Определите общий сетевой ресурс.
Шаг 4. Создайте текстовый файл с именем pc_list.txt, в который вставлены результаты NET VIEW (минус "\ "- должно быть одно имя компьютера на строку).В основном это должен быть текст со следующим текстом:
computer1
computer2
computer3
computer4
10.1.1.1
10.2.1.3
10.3.1.4
и т. Д.
Вы можете использовать IP-адреса или имена компьютеров.
Шаг 5. Создайте пакетный файл с именем PsExec.bat со следующим кодом:
"location_of_PsExec.exe"\PsExec.exe @"location_of_text_file"\pc_list.txt -u domain\Admin_username -p password -n 60 -c -f "location_of_runPsLoggedOn.bat"\runPsLoggedOn.bat
Шаг 6. Создайте еще один пакетный файл с именем runPsLoggedOn.bat со следующим кодом:
@echo off
echo.%computername%>>"location_of_network_share"\userlist.txt
PsLoggedOn.exe -x>>"location_of_network_share"\userlist.txt
echo.>>"location_of_network_share"\userlist.txt
Шаг 7. Запустите PsExec.bat
Это действительно, вероятно, не будет ТОЧНЫЙ ответ, который вы ищете, но это должно, по крайней мере, указать вам правильное направление ... Я не проверял это, но я использую что-то похожее наполучить другие вещи, используя PsExec.exe.Вы можете просто написать код, чтобы вывести только домен \ имя пользователя в файл на общем сетевом ресурсе (из PsLoggedOn.exe -x >> "location_of_network_share" \ userlist.txt), потому что вывод такой: пользователи вошли в системулокально: домен \ пользователь
Никто не вошел в систему через общие ресурсы ресурса.
Вы также можете найти способ вывода этого имени пользователя в переменную так, чтобы его можно было форматировать.что вы можете сделать следующее:
echo.%computername% %variable_username_from_PsLoggedOn%>>"location_of_network_share"\userlist.txt
Во всяком случае, это должно помочь вам начать работу над решением этой проблемы ...