У меня возникают трудности с настройкой задачи запуска в роли Azure. Конечная цель - отключить шифр RC4 вместе с другими конфигурациями SSL. В моем (VS2012Express) проект (решение частично достигается после очередного ответа здесь в SO, который привел меня к https://gist.github.com/sidshetye/29d6d48dfa0c2f5488a4) Я создал STARTUP.CMD файл, как это:Запуск Запуск не запущен на роль службы Azure Cloud Service
# Execute powershell command to disable RC4 and imporve SSL security settings
ECHO Batch started >> "StartupLog.txt" 2>&1
PowerShell -ExecutionPolicy Unrestricted .\HardenSSL.ps1 >> log- HardenSSL.txt 2>&1
EXIT /B 0
HardenSSL.ps1 является сценарием PowerShell из предыдущей ссылки , Оба сценария .cmd и .ps1 помещаются в корневую директорию приложения, помеченную как «Содержимое» со свойствами, установленными в «CopyLocal = Always».
В моем определении сервиса, я ставлю это:
<Startup>
<Task commandLine="Startup.cmd" executionContext="elevated" taskType="background"></Task>
</Startup>
Теперь, когда я развернуть приложение в Azure, "ничего" не происходит. Я настроил экземпляр роли, чтобы разрешить удаленный рабочий стол, подключенный к машине. Я проверил опубликованные сценарии и не было файлов журналов, RC4 все еще включен. Я попытался вручную запустить .cmd, и машина завершила выполнение сценариев, отключила RC4 и перезапустила. Таким образом, сценарии на самом деле «правильные».
Проблема в том, что сценарии не запускаются при запуске. Возможно, я ошибаюсь, но я не вижу ничего связанного с Windows событиями. Фактически, сервер теперь сохраняет все конфигурации, но я должен быть уверен, что сценарии будут выполнены, если мне придется публиковать новые службы/облачные сервисы.
Я также попытался: 1. Поместите скрипты в каталог детской 2. создать другие 2 «проще» .cmd, что просто создать файл журнала с «сценарий начала», чтобы исключить проблемы, связанные с CMD-призвании сценарий PowerShell. Ни один из этих сценариев не был выполнен.
Надеюсь, что я был достаточно ясен, любая помощь будет принята с благодарностью.
Спасибо заранее,
Альберто
UPDATE 1
Читая различные дискуссии, я пропустил одну очень важную вещь: файлы сценариев фактически опубликованы в 2 разных местах, один, находясь внутри/bin.
Ex: Я поместил свои сценарии в папку/StartupScripts в моем проекте, и когда я подключаюсь через Remote Desktop к серверу Azure, я нахожу скрипты как в «approot/StartupScripts», так и в «approot/bin/StartupScripts», ,
Сценарии, которые на самом деле выполняются, это те, которые находятся внутри папки «bin». реальная проблема заключается в том, что у меня есть, вероятно, проблема пути внутри .cmd, так как теперь я нашел журналы выполнения с ошибкой.
Теперь я попытаюсь изменить его и обновить вопрос здесь на SO.
Все ваши пути верны? Отображается ли файл в вашей папке соответствующего пользователя на сервере и вы пытались выполнить его из пакетного сценария следующим образом: '% RoleRoot% \ approot \ HardenSSL.ps1' –
Обновленный вопрос с тем, что я обнаружил, похоже, что это проблема с пути действительно. О тестировании. – Alberto