WIndows PowerShell 配置脚本未被执行

WIndows PowerShell provisioning script not being executed

我正在部署 Windows 2012 R2 VSI,需要能够使用 Ansible 对其进行管理。

我正在使用这个 Ansible 示例脚本 ConfigureRemotingForAnsible.ps1 尽管已重命名并将该脚本托管在 SL 对象存储上。我在订单中指定了一个 post 安装脚本 URL 包括 https (应该会在下载后执行脚本)。

Windows VSI 准备就绪后,我尝试 运行 一个 win-ping,如下所示:

- name: ad1 ready gather_facts: false tags: setup hosts: ad1 tasks: - name: ping the windows vsi win_ping:

失败并输出:

fatal: [169.55.189.16]: UNREACHABLE! => {"changed": false, "msg": "ssl: HTTPSConnectionPool(host='169.55.189.16', port=5986): Max retries exceeded with url: /wsman (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x107c0b310>: Failed to establish a new connection: [Errno 61] Connection refused',))", "unreachable": true}

如果我连接到系统并查看 c:\PostInstall,我会看到我的脚本已下载。如果我然后打开 PowerShell 和 运行 脚本,我就可以 运行 上面 win-ping 成功。

这告诉我脚本已干净地下载并且显然是正确的,但是 未执行 尽管 post 中的 https安装 URL.

我找不到任何关于 windows 的 post 安装脚本要求的文档,但我想知道问题是否出在我使用的是 PowerShell 脚本,而那个post 提供过程试图在标准 CMD shell.

中 运行

有没有人对可能出现的问题有任何想法或想法?

它应该可以与 powershell 成功配合使用,您应该能够在 "C:\postInstallScript.log" 中看到 powershell 执行的日志,也许它包含有关错误的更多信息。

无论如何,如果您仍然面临这个问题,我建议您在 Softlayer 中以 "hardware issue" 为主题打开一个工单,因为这个问题可能是由于 windows 机器中的限制,而不是允许执行脚本。

此致

我认为 PowerShell 作为供应脚本的问题是 PowerShell 的默认配置需要执行签名的 PowerShell 脚本(没有定义参数)。如果 PowerShell 脚本未签名,则必须在服务器上更改执行策略,或者将标志传递给 PowerShell 解释器以允许执行。