it-swarm.com.ru

PSEXEC, доступ запрещен ошибки

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

Есть идеи о том, как это решить?

49
Pax

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

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

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

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

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

    netsh advfirewall выключает состояние allprofiles

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

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA] "LimitBlankPasswordUse" = DWORD: 00000000

  4. Это не сработало для меня, но я читал, что это сработало для других в некоторых местах, На target execute:

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

    если уже в «Классике»:

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

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

    запустить на цели из командной строки с повышенными привилегиями «Net Use» посмотреть на диаграмму выходных данных и для общих ресурсов, перечисленных в удаленном столбце там (я только удалил отключенные - вы можете попробовать их все) запустить «Net Use [удаленный путь из списка перед]/удалить «затем запустите« Net Use\target\Admin $/user: [имя пользователя] »введите запрос пароля (если пустой PW просто нажмите Enter), альт должен работать.

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

61
james

Я только что решил ту же проблему, создав значение реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy и установив его в 1. Более подробная информация доступна здесь

16
Ofek Shilon

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

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

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

11
eran

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

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

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

Net Use \\computername\ipc$ /user:adminname password

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

5
Lim Yee Fatt

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

  1. Я использую runas чтобы запустить скрипт в учетной записи администратора
  2. Я использую параметр -s в psExec для запуска в системной учетной записи
  3. Внутри PsExec я снова авторизируюсь с учетной записью администратора
  4. Вы можете использовать & для запуска нескольких команд
  5. Не забудьте заменить [ИМЯ ПОЛЬЗОВАТЕЛЯ], [ПАРОЛЬ], [ИМЯ КОМПЬЮТЕРА], [КОМАНДА1] и [КОМАНДА2] на реальные значения

Код выглядит так:

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


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

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

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

4
Dan

Попробуйте установить этот ключ на целевой (удаленной) машине и перезагрузите машину:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"LocalAccountTokenFilterPolicy"=dword:00000001

См .: http://forum.sysinternals.com/topic10924.html и http://www.brandonmartinez.com/2013/04/24/resolve-access-is-denied-using-psexec- with-a-local-admin-account/

4
Wernight

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

3
UsPeoples

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

2
b33llz

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

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

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

1
Jeff

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

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

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

На 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
1
Борис Иванов

Следующее сработало, но только после того, как я обновил 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, работал лакомство :)

1
ma034001

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

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

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

1
NicL

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

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

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

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

0
Dmitry

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

0
Omega Wu