Назад | Перейти на главную страницу

PsExec и Windows 2008 R2: «Доступ запрещен»

Вот мой сценарий:

Я пытаюсь удаленно запускать и останавливать сайты IIS 7.0 на моем сервере с моего локального компьютера, используя PsExec.

Некоторые важные моменты:

Я использую команду:

"C:\Program Files\PSTools\psexec.exe" \\(server-alias) -u (server-domain)\(domain-admin) -p (password) C:\Windows\System32\inetsrv\appcmd.exe stop site "Default Web Site"

Это возвращает ошибку:

PsExec v1.94 - Execute processes remotely
Copyright (C) 2001-2008 Mark Russinovich
Sysinternals - www.sysinternals.com
Could not start PsExec service on (server-alias):
Access is denied.

И некоторые важные примечания по устранению неполадок:

Кажется, это сигнал, что это проблема, специфичная для Windows 2008 R2 который связан с настройками безопасности, вероятно, в соответствии с правами домена или административными разрешениями. Однако у меня нет идей. Мы будем очень благодарны за любые ваши предложения!

Мне потребовалось несколько часов, чтобы найти рабочий способ PsExec между двумя компьютерами Windows 7 с пользователем без прав администратора, запускающим PsExec ... Отключение UAC (EnableLUA = 0, ConsentPromptBehaviorAdmin = 0, LocalAccountTokenFilterPolicy = 1) не сработало, отключение межсетевых экранов не помогло не работает...

Здесь я нашел рабочий способ - спасибо JelmerS: (Информация из PSexec не подключается к машине с указанным именем пользователя и паролем)

Это связано с тем, что psexec все еще пытается получить доступ к общему ресурсу ADMIN $ с вашими локальными учетными данными перед выполнением вашей команды от имени другого пользователя. Согласно этому потоку, вы можете кэшировать учетные данные перед выполнением psexec: cmdkey.exe / add: MACHINE_NAME_HERE / user: MACHINE_NAME_HERE \ Administrator / pass: PASSWORD_HERE psexec.exe \ MACHINE_NAME_HERE -i notepad cmdkey.exe / delete: MACHINE_NAME_HERE

С уважением, Питер

Вы запускаете PSEXEC из командной строки с повышенными привилегиями на рабочей станции Vista? Вы установили LocalAccountTokenFilterPolicy = 1? Видеть Часто задаваемые вопросы: распространенные проблемы с PSTools

У меня нет аналогичной среды для тестирования, но я могу порекомендовать следующее: в клиентском домене настройте пакетные сценарии (.bat), по одному для каждого веб-сайта, который вы хотите перезапустить. (Я буду им звонить "restart_site-sitename.bat".) Создайте по одному для каждого домена и сохраните их все в каталог на сервере управления в этом домене (где я разместил свои инструменты sysad, где я могу управлять всем, если что-то случится с моим ноутбуком), включая PSExec в этом каталоге.

psexec.exe \\(server-alias) C:\Windows\System32\inetsrv\appcmd.exe stop site "WebsiteName"

Теперь попробуйте запустить psexec на этом сервере управления, вызвав вместо этого один из этих командных файлов.

"C:\Program Files\PSTools\psexec.exe" \\(server-alias) -u (server-domain)\(domain-admin) -p (password) C:path\to\psexec_and_scripts\restart_site-sitename.bat"