Вот мой сценарий:
Я пытаюсь удаленно запускать и останавливать сайты 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"