2008-12-11 5 views
2

Прежде всего, извините за мой плохой английский. Я попытаюсь объяснить свою проблему.Проблема с вложенными вызовами с psexec (доступ запрещен)

Я использую PsExec в скрипте перезапустить кластер следующим образом:

script1 в node1: выполнять много задач (отключения служб, проверить состояние и т.д ..) в node1 и после завершения всех задач запуск с psexec скриптом2 в узле2 (psexec-d \ \ node2 script2)

script2 в узле2: выполнить множество задач и запустить script3 в node1. Здесь, когда я получил «доступ запрещен» в psexec, когда я пытаюсь запустить скрипт3 в node1. (PsExec-d \ \ nodo1 Script3)

я запускаю сценарий с пользователем, который принадлежит к группе администраторов

Из соображений безопасности я не могу пройти имя пользователя и пароль, потому что это не безопасно покинуть учетные данные в .bat-файле.

Дополнительная информация:

I'm работает скрипт в W2k3 сервере Я попробовал чистое использование и его все нормально я попытался PsExec с -u имя пользователя и -p имя пользователя и его все нормально я пытался к exec psexec с этим синтаксисом: psexec .exe -d \ node1 cmd.exe "script3.bat" и возвращает ту же ошибку.

Thks намного С наилучшими пожеланиями

ответ

0

Это может быть связано с проблемой, что один получает от слишком много связанного сервера хмель с помощью встроенной проверки подлинности - в double-hop Kerberos problem.

Поскольку встроенная проверка подлинности Windows включает два отдельных механизмов аутентификации:

  • NTLM v2 -и-
  • Kerberos,

, если вы используете Kerberos, поскольку пароль пользователя никогда не передается сервер IIS, единственный способ, которым токен на сервере IIS собирается перескочить на другую машину в сети через Kerberos Delegation. Если это недоступно или разрешено, то прыжок не произойдет (похоже, что это происходит).

Учитывая, что вы используете учетные данные по умолчанию, и если текущий контекст безопасности является маркером олицетворения, который не может делегировать, то предоставленные вами учетные данные не перескочат на на другой компьютер. Поскольку встроенная проверка подлинности Windows создает маркер олицетворения, это, скорее всего, будет иметь место.

Источники:

0

Можете ли вы сделать вызов Скрипт2 ждать завершения, а не иметь Скрипт2 перезвоним node1:

script1 в узле1: выполнить множество задач (выключение s, проверьте статус и т.д ..) в node1 и после завершения всех запуска задачи с PsExec в Скрипт2 в node2 (PsExec \ \ node2 Скрипт2)

Скрипт2 в node2: выполнять много задач.

сценарий1 в узле1: запускает скрипт3.

1

Наконец, я решил использовать сторожевой процесс во втором скрипте, поэтому скрипт будет запущен этим процессом вместо запуска psexec.

Большое спасибо за вашу помощь и ваше время, чтобы помочь мне.

С уважением

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