1

Я сейчас на "древней" машине под управлением Windows 2000.

Я пытаюсь получить список запущенных процессов на удаленном компьютере под управлением Windows 7 x64 с помощью Sysinternals pslist:

pslist \\192.168.199.2 -u admin -p password

где admin и password соответствуют учетной записи с правами администратора на этом компьютере. Но нельзя сказать, что у клиента нет необходимых прав.

В то же время я могу открыть скрытые административные ресурсы на этом компьютере, например,

\\192.168.199.2\c$

в Windows Explorer и имеют полный доступ к файловой системе от имени admin .

Я также могу успешно выполнить следующее, получив полный список каталогов:

net use \\192.168.199.2\Admin$ /user:admin
dir \\192.168.199.2\Admin$
net use \\192.168.199.2\Admin$ /delete

На этой странице сказано, что если эти команды работают, то можно также запустить команду PSTools для \\192.168.199.2 .

Конечно, если я запускаю pslist на той машине, которая напрямую зарегистрирована под учетной записью admin , она работает отлично.

Почему pslist не может получить список запущенных процессов удаленно? Что я могу сделать как администратор, чтобы разрешить манипулирование удаленными процессами с помощью Sysinternals psTools?

1 ответ1

1

Я смог решить проблему следующим образом:

1) Необходимо было запустить службу Remote Registry на целевом компьютере под управлением Windows 7. Эта статья описывает шаги:

  1. Нажмите Пуск, щелкните в поле Начать поиск, введите services.msc и нажмите клавишу ВВОД. Консоль управления Microsoft запустится с открытой оснасткой «Службы».

  2. На панели консоли щелкните правой кнопкой мыши Remote Registry и выберите Пуск.

Используя эту консоль, я настроил службу Remote Registry для автоматического запуска.

2) На клиентской машине я запускаю другую копию cmd.exe используя имя учетной записи и пароль целевой машины (обратите внимание на обратную косую черту, разделяющую IP и имя пользователя!):

runas /netonly /user:192.168.199.2\admin cmd

После выполнения вышеуказанной команды будет запрошен пароль. После ввода пароля и нажатия клавиши Enter откроется новое окно с заголовком "cmd ( run as 192.168.199.2\admin )" .

3) В новом окне я выполняю:

pslist \\192.168.199.2

Это работает как ожидалось. Обратите внимание, что нет необходимости указывать имя пользователя и пароль.

Я также могу убить любой процесс на удаленной машине, например, убить удаленный процесс cmd.exe :

pskill \\192.168.199.2 cmd

... или запустите cmd.exe на удаленном компьютере и взаимодействуйте с ним удобным способом (как если бы я был подключен к удаленному компьютеру напрямую):

psexec \\192.168.199.2 cmd

После выполнения последней команды заголовок окна изменится на \\192.168.199.2: cmd . В этом окне я могу запустить psTools, доступный на удаленной машине, больше не нужно указывать целевой хост. Очень кстати!

Выполнение exit позволяет завершить удаленный процесс cmd.exe и изменить заголовок окна обратно на "cmd ( run as 192.168.199.2\admin )" .

Добавление start в начале запускает удаленный процесс cmd.exe в отдельном окне:

start psexec \\192.168.199.2 cmd

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .