2009-05-06 3 views

ответ

10

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

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

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

9

Я просто решил идентичный симптом, создав значение реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy и установив его на 1. More details are available here.

+0

Да, здесь работал. Благодаря! Чтобы быть более ясным, это должен быть ключ REG_DWORD. –

1

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

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

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

+2

Вы даете то, что, возможно, хорошая, точная информация, но по неправильному вопросу. – Orangutech

5

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

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

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

4

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

[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/

+0

Какая машина ?? – hkBattousai

+0

@hkBattousai Хорошая точка, я уточнил. – Wernight

50

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

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

    рег добавить HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ система /v LocalAccountTokenFilterPolicy/т REG_DWORD/d 1/f

    Read this knowledge base article, чтобы узнать, что это делает и почему это необходимо

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

    NETSH advfirewall Сета allprofiles состояние от

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

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

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

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

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

    переход к «Гостевая - ..» работать с повышенной команды prompt gpupdate \ force вернуться к 'Cl assic - ..»снова запустить из командной строки с повышенной командой Gpupdate \ сила

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

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

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

+1

1) помогите мне (также, полусвязному, необходимо полностью квалифицировать имя пользователя с именем целевого сервера, так как пользователь был локальным для целевого сервера) – Straff

+0

4) работал для меня, когда подключил мои окна 7 к виртуальному компьютеру Windows XP Mode. Благодаря! – bxx

+0

Перейти к файлам и папкам. -> Просмотр -> Прокрутите вниз, чтобы отключить «Простой общий доступ к файлам» на машине TARGET. Это сработало для меня. Сначала я попробовал всех остальных. в том числе 5, которые только что сообщили, что сервер не включен для удаленного администрирования – twobob

2

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

3

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

1

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

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

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

2

Я нашел, что Sophos продолжал размещать psexec.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, работал с удовольствием :)

4

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

  1. я использую Runas для запуска сценария в учетной записи администратора
  2. Я использую параметр -s в Psexec для запуска в система счет
  3. Внутри PsExec, я Войти снова с учетной записью администратора
  4. Вы можете использовать & для запуска кратных команд
  5. Не забудьте заменить [USERNAME], [ПАРОЛЬ], [COMPUTERNAME], [command1] и [Command2] с реальными значениями

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

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


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

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

This помогли в моем случае:

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

Спасибо, человек, эта работа для меня, и это выглядит как наименее сложный способ сделать это !!! –

0

В 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, даже выиграть 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 
+0

Как ответ 2016 года на вопрос 2009 года, я не уверен, что еще больше добавляет, так как раздел реестра уже хорошо документирован в предыдущих ответах. –

Смежные вопросы