【问题标题】:Startup Task not running on Azure Cloud Service role启动任务未在 Azure 云服务角色上运行
【发布时间】:2015-11-17 19:53:06
【问题描述】:

我在尝试以 Azure 角色设置启动任务时遇到了困难。 最终目标是禁用 RC4 密码以及其他 SSL 配置。在我的 (VS2012Express) 项目中(在 SO 中的另一个答案之后部分实现了解决方案,这导致我来到 https://gist.github.com/sidshetye/29d6d48dfa0c2f5488a4 )我创建了一个 Startup.cmd 文件,如下所示:

# 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 脚本都放置在应用程序根目录中,标记为“Content”,属性设置为“CopyLocal=Always”。

在我的服务定义中,我这样写:

<Startup>
   <Task commandLine="Startup.cmd" executionContext="elevated" taskType="background"></Task>
</Startup>

现在,当我将应用程序部署到 Azure 时,“什么都没有”发生。我将角色实例配置为允许远程桌面连接到机器。我验证了发布的脚本,没有日志文件,RC4 仍然启用。我尝试手动运行 .cmd,机器运行脚本完成,禁用 RC4 并重新启动。所以脚本实际上是“正确的”。

问题是脚本在启动时没有启动。我可能是错的,但我没有看到任何相关的 Windows 事件。实际上,服务器现在保留了所有配置,但我必须确保脚本得到执行,以防我不得不发布到新的实例/云服务。

我也尝试过: 1. 将脚本放在子目录中 2. 创建其他 2 个“更简单”的 .cmd,它们只是创建一个带有“脚本启动”的日志文件,以排除与调用 PowerShell 脚本的 .cmd 相关的问题。 这些脚本都没有被执行。

希望我已经足够清楚,任何帮助将不胜感激。

提前谢谢你,

阿尔伯托

更新 1

通过各种讨论,我错过了一件非常重要的事情:脚本文件实际上发布在 2 个不同的地方,一个在 /bin 文件夹中。

例如:我将脚本放在项目的 /StartupScripts 文件夹中,当我通过远程桌面连接到 Azure 服务器时,我在“approot/StartupScripts”和“approot/bin/StartupScripts”中都找到了脚本。

实际执行的脚本是放置在“bin”文件夹中的脚本。真正的问题是我在 .cmd 中可能存在路径问题,因为我现在发现执行日志有错误。

现在我将尝试对其进行更改并在此处更新问题。

【问题讨论】:

  • 所有路径都正确吗?该文件是否出现在服务器上的 approot 文件夹中,您是否尝试过像这样从批处理脚本执行它:%RoleRoot%\approot\HardenSSL.ps1
  • 用我发现的内容更新了问题,似乎确实是路径的问题。即将测试它。

标签: powershell azure cmd startup


【解决方案1】:

好的。

最后,我的 Startup.cmd 文件中的路径确实有问题:如果 StartUp Task 指向子文件夹,则找不到 .\HardenSSL.ps1。

解决方案是将 Startup.cmd 和 HardenSSL.ps1 文件都放在应用程序根目录中,在调用 PowerShell 脚本时删除“.\”部分,一切正常。

无论如何,我想建议任何人选择我在堆栈交换中找到的其他解决方案: https://security.stackexchange.com/a/79957

它链接到一个 NuGet 包,该包与我在原始帖子中的 github 链接上找到的脚本执行相同的操作,只是“更好”;主要是:

  • 密码套件的更好配置,支持 SSLLabs 上所有参考浏览器的 ForwardSecrecy
  • 在 Windows XP 上保留对 Internet Explorer 8 的 SSL 支持(不幸的是,我们仍然需要)

阿尔贝托。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多