PSEXEC удалённо к Win 10 – На другом конце трубы нет процесса

Вопрос или проблема

Я попытался использовать PSEXEC с Windows 7 на Windows 10 PRO (не предварительная версия).

PsExec.exe -i 1 -u myuser -p mypass \\xxx.xxx.xxx.xxx cmd

Вывод

Ошибка связи с службой PsExec на xxx.xxx.xxx.xxx
Нет процесса на другом конце канала.

У меня есть только один администраторский пользователь (myuser) на удаленной машине.

Я вижу, что служба PSEXESVC.exe создается и работает. Я остановил её, попробовал снова, результат тот же.

*Я использую ту же команду и ту же конфигурацию (файрвол отключен, LocalAccountTokenFilterPolicy установлен на 1) на XP, Win7, Win8, Win10Preview без проблем.

Я почти сдался на Psexec из-за этого… но вы можете попробовать подключиться к идентификатору сеанса 0 вместо 1. Я заметил некоторые аномалии, если (когда…) Psexec когда-либо зависает и решает не удалять себя (вероятно, связано с версией…) Он “блокируется” на идентификаторе сессии 0 на удаленном ПК, и в моей версии 1.97 меня заставляют указывать идентификатор сессии 0, чтобы снова взаимодействовать с ним (иначе придется перезагрузить удаленный ПК). Если вы запускаете Psexec из сценария, вам, вероятно, следует указать идентификатор сессии 0, чтобы избежать этой ситуации. Удачи!

Ответ или решение

Проблема, с которой вы столкнулись, связана с тем, что PsExec не может установить соединение с удаленной машиной Windows 10 из-за ошибки "No process is on the other end of the pipe". Давайте рассмотрим несколько шагов для решения этой проблемы.

  1. Проверьте параметры разметки:

    • Убедитесь, что на целевой машине (Windows 10) включен удаленный доступ. Для этого:
      • Зайдите в "Панель управления" → "Система и безопасность" → "Система" → "Настройки удаленного доступа".
      • Убедитесь, что выбран пункт "Разрешить удалённые подключения к этому компьютеру".
  2. Проверьте настройки брандмауэра:

    • Если брандмауэр отключён, попробуйте его включить, но настройте исключения для PsExec.
    • Убедитесь, что разрешены входящие подключения к службе RPC (это может потребовать создания специфических правил в брандмауэре).
  3. Проверьте учетные записи и разрешения:

    • Убедитесь, что у пользователя myuser есть права администратора на удаленной машине.
    • Попробуйте временно отключить UAC (Контроль учетных записей) на Windows 10 для проверки, не создаёт ли он помех.
  4. Работа с идентификаторами сессий:

    • Попробуйте выполнить команду, используя -i 0 вместо -i 1. Иногда PsExec может зависать на определённой сессии, и использование сессии 0 позволяет избежать этого:
      PsExec.exe -i 0 -u myuser -p mypass \\xxx.xxx.xxx.xxx cmd
  5. Перезапуск службы PsExec:

    • Иногда служба PsExec может не правильно освободиться. Попробуйте вручную остановить службу PSEXESVC на удаленной машине и повторить попытку запуска.
  6. Добавьте политику LocalAccountTokenFilterPolicy:

    • Убедитесь, что политика LocalAccountTokenFilterPolicy выставлена в значение 1. Это делается через редактор локальной групповой политики или реестр:
      • Для редактирования реестра: откройте regedit и перейдите к пути:
        HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

        Создайте или измените значение LocalAccountTokenFilterPolicy на 1.

  7. Обновите PsExec:

    • Убедитесь, что у вас последняя версия PsExec. Некоторые проблемы могут быть устранены в более поздних версиях утилиты.

Попробуйте эти шаги, и, если проблема сохраняется, будет полезно посмотреть журналы событий на целевой машине для более детальной информации о причинах ошибки.

Оцените материал
Добавить комментарий

Капча загружается...