Я пытаюсь использовать psexec.exe для запуска пакетных сценариев в Windows Server 2008. Я не могу использовать пароли в виде обычного текста, поэтому я использую флаг «-s» и не указываю имя пользователя / пароль. Я получаю следующую ошибку:
Logon failure: unknown user name or bad password.
Я выполняю следующую команду:
> "E:\Deploy\psexec" \\whichever-server.com cmd /c net stop "MyService"
Теперь этот точный процесс отлично работает на наших старых серверах Windows Server 2003, но мы вынуждены выполнить миграцию. В последний день я читал документацию по psexec.exe и пока не увидел ничего, что могло бы указывать на причину появления этой проблемы в Windows Server 2008 - любая помощь будет принята с благодарностью.
Вам не нужен -s флаг, если все, что вам нужно, это предотвратить запрос аутентификации. PSExec использует RPC для установки службы на удаленном компьютере и вызывает эту службу для выполнения указанной команды.
Указание «-s» просто означает, что контекст выполнения для указанной команды будет встроенным контекстом учетной записи SYSTEM / LocalSystem. Если этот флаг не указан, команда будет выполняться в контексте вызывающего пользователя (или учетной записи пользователя, указанной с параметром -U).
Если вам нужно запустить команду удаленно без указания учетных данных, вы должны убедиться, что а) пользователь, с которым вы запустили «psexec», является действительной учетной записью с точки зрения удаленного компьютера, и б) ему разрешено устанавливать службу через RPC и беги все, что хочешь. Ошибка «неизвестное имя пользователя или неверный пароль» вызывает подозрение, что а) не соблюдается. В качестве быстрой проверки проверьте, может ли пользователь, запускающий psexec, получить доступ к общим ресурсам удаленного компьютера.