我在嘗試在Azure角色中設置啓動任務時遇到困難。 最終目標是禁用RC4密碼以及其他SSL配置。在我的(VS2012Express)項目(溶液中的部分實現以下這裏SO另一個答案,導致我https://gist.github.com/sidshetye/29d6d48dfa0c2f5488a4)我創建了一個文件STARTUP.CMD像這樣:啓動任務未在Azure雲服務角色上運行
# 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調用問題日誌文件PowerShell腳本。 這些腳本都沒有執行。
希望我已經十分清楚,任何幫助,將不勝感激。
謝謝你在前進,
阿爾貝託
更新1
通過各種討論閱讀,我錯過了一個非常重要的事情:該腳本文件實際上是發表在2個不同的地方,一個是內/ bin文件夾。例如,我將腳本放置在項目的/ StartupScripts文件夾中,當通過遠程桌面連接到Azure服務器時,我在「approot/StartupScripts」和「approot/bin/StartupScripts」中找到腳本, 。
的實際執行的腳本是那些放在「bin」文件夾內。真正的問題是我在.cmd裏面可能存在一個路徑問題,因爲我現在發現了一個錯誤的執行日誌。現在
我會盡量在此處進行更改和更新的問題上左右。
所有的路徑是否正確?該文件是否出現在服務器上的批處理文件夾中,並且您是否嘗試從批處理腳本執行它,如下所示:'%RoleRoot%\ approot \ HardenSSL.ps1' –
用我發現的內容更新了問題,好像是一個問題確實有一條路。要測試它。 – Alberto