Подтвердить что ты не робот

PSEXEC, отказ в доступе

Пока я использую PSEXEC.exe, получая ошибку "Доступ запрещен" для удаленных систем.

Любая идея о том, как решить эту проблему?

4b9b3361

Ответ 1

Привет, я размещаю здесь резюме из многих источников в Интернете для различных решений "доступ запрещен": большая часть информации может быть найдена здесь (включая необходимые требования) - sysinternal help

  1. как кто-то упомянул, добавьте этот ключ reg, а затем перезагрузите компьютер:

    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system/v LocalAccountTokenFilterPolicy/t REG_DWORD/d 1/f

    Прочитайте эту статью базы знаний, чтобы узнать, что это делает и зачем это нужно

  2. Отключить брандмауэр (обратите внимание - это не даст вам никакой защиты от брандмауэра)

    netsh advfirewall выключил все профили

  3. если у целевого пользователя есть пустой PW, и вы не хотите добавлять его, запустите на target:

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa] "LimitBlankPasswordUse" = dword: 00000000

  4. Это не сработало для меня, но я читал, что это было сделано для других в нескольких местах, на целевой выполнить:

    Пуск → Выполнить → secpol.msc → Локальные политики → Параметры безопасности → Доступ к сети: Общий доступ> и модель безопасности для локальных учетных записей> Классический - локальные пользователи аутентифицируются как они сами

    если уже в "Классике":

    перейти к "Только для гостей -.." запустить из командной строки с повышенными правами gpupdate\force вернуться к "Классический -.." снова запустить из командной строки с повышенными привилегиями gpupdate\force

  5. Этот решил мою проблему:

    запустите на цели из командной строки с повышенными привилегиями "net use", посмотрите на диаграмму выходных данных и для ресурсов, перечисленных в удаленном столбце (я только удалил отключенные - вы можете попробовать их все), запустите "net use [удаленный путь из списка перед]/delete "затем запустите" net use\target\Admin $/user: [имя пользователя] ", введите запрос пароля (если пустой PW просто нажмите enter), альт должен работать.

удачи, надеюсь, это сэкономит кому-то время.

Ответ 3

PsExec имеет все права доступа, которые есть у его программы запуска. Он работает под обычным контролем доступа Windows. Это означает, что тот, кто запустил PsExec (будь то вы, планировщик, служба и т.д.), Не имеет достаточных прав на целевом компьютере, или целевой компьютер не настроен правильно. Первые вещи, которые нужно сделать:

  1. Убедитесь, что программа запуска PsExec знакома целевой машине, либо через домен, либо с помощью того же пользователя и пароля, определенных локально на обеих машинах.
  2. Используйте аргументы командной строки, чтобы указать пользователя, который известен целевому компьютеру (пароль -u user -p)

Если это не решило вашу проблему, убедитесь, что целевой компьютер соответствует минимальным требованиям, указанным здесь.

Ответ 4

Это помогло в моем случае:

cmdkey.exe /add:<targetname> /user:<username> /pass:<password>
psexec.exe \\<targetname> <remote_command>

Ответ 5

Вы можете попробовать выполнить команду

net use \\computername\ipc$ /user:adminname password

чтобы получить права администратора на удаленном ПК перед использованием psexec.

Ответ 7

Я просто добавил параметр "-с". Это делает Psexec копию исполняемого файла на удаленную машину. Таким образом, он работает без ошибок доступа.

Ответ 8

У меня была та же проблема. И после тяжелой работы я нашел легкое и полное решение:

  • Я использую runas для запуска script в учетной записи администратора
  • Я использую параметр -s в psExec для запуска в системной учетной записи
  • Внутри PsExec я снова с учетной записью администратора
  • Вы можете использовать & для запуска кратных команд
  • Не забудьте заменить [USERNAME], [PASSWORD], [COMPUTERNAME], [COMMAND1] и [COMMAND2] с реальными значениями

Код выглядит следующим образом:

runas /user:[USERNAME] "psexec -e -h -s -u [USERNAME] -p [PASSWORD] \\[COMPUTERNAME] cmd /C [COMMAND1] & [COMMAND2]"


Если вы хотите отладить ваш script на другом компьютере, запустите следующий шаблон:

runas /user:[USERNAME] "psexec -i -e -h -s -u [USERNAME] -p [PASSWORD] \\[COMPUTERNAME] cmd /C [COMMAND1] & [COMMAND2] & pause"

Ответ 9

Я обнаружил, что Sophos продолжал размещать psexec.exe в разделе "Карантин". Как только я разрешил его, он прошел нормально.

Ответ 10

У меня был случай, когда AV был помещен в карантин Psexec - пришлось отключить сканирование при доступе

Ответ 11

Я нашел еще одну причину: PSEXEC (и другие инструменты PS) потерпят неудачу - если что-то (скажем, вирус или троянец) скрывает папку Windows и/или ее файлы, тогда PSEXEC будет терпеть неудачу с "Доступ запрещен", ошибка, PSLIST выдаст ошибку "Объект производительности процессора не найден", и вы останетесь в темноте по причине.

Вы можете использовать RDP; Вы можете получить доступ к ресурсу admin $; Вы можете просматривать содержимое диска удаленно и т.д. И т.д., Но нет никаких указаний на то, что скрытые файлы или папки скрыты.

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

Ответ 12

Для всех, кто может наткнуться на это. Недавнее (декабрь 2013 г.) обновление безопасности от Microsoft Windows в Windows 7 предотвращает удаленное выполнение. См. http://support.microsoft.com/kb/2893294/en-us

Я удалил обновление для системы безопасности, перейдя в Панель управления\Programs\Программы и компоненты\Установленные обновления

Сработало сразу после этого.

Ответ 13

Следующие работали, но только после того, как я обновил PSEXEC до версии 2.1 от Microsoft.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] "LocalAccountTokenFilterPolicy" = dword: 00000001 См. http://forum.sysinternals.com/topic10924.html

У меня была несколько более старая версия, которая не сработала. Я использовал его для работы с USMT через Dell kace, работал с удовольствием:)

Ответ 14

В Windows Server 2012 R2 мне не удалось запустить из учетной записи пользователя

psexec -u administrator -p password \\machinename -h -s -d -accepteula cmd.exe

Но он отлично работает, если вы запускаете без параметров -h -s. Вот почему я использую это, чтобы решить мою проблему:

psexec -accepteula -u administrator -p password \\machinename %PathToLocalUtils%\psexec.exe -h -s -d  cmd.exe

Ответ 15

Я все еще использую psexec, даже на win 10. Замените psexec.exe в папке Windows 10 win32 более старой версией для работы → Я использую версию 2.11.0.0. Версия Windows 10, которую я использовал, будет запускать только файлы .bat в качестве фонового/скрытого процесса на удаленном компьютере. Принял целый день, чтобы понять это.

Добавление раздела реестра сверху на удаленный компьютер также помогает:

   reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

Ответ 16

На удаленном компьютере

в настройках брандмауэра

Включить входящий порт 445

Включить порт 137 входящим

добавлен ключ reg:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
LocalAccountTokenFilterPolicy=1

Ответ 17

Я не мог получить доступ к удаленным машинам, если у меня не было отключено UAC.

Это должно быть сделано локально, либо с панели управления, либо с помощью следующей команды cmd:

reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

Пока UAC включен, убедитесь, что вы запускаете cmd от имени администратора.

Ответ 18

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