2017-02-08 141 views
0

我正在部署Windows 2012 R2 VSI,需要能够使用Ansible进行管理。未执行WIndows PowerShell配置脚本

我正在使用此Ansible示例脚本ConfigureRemotingForAnsible.ps1,虽然重命名并将脚本托管在SL对象存储上。我在订单中指定了一个安装后脚本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

这告诉我,该脚本干净下载并显然是正确的,但不能尽管在安装后URL的https的执行。

我无法找到有关Windows安装后脚本的要求的任何文档,但我想知道是否问题在于我使用的是PowerShell脚本,并且后期提供过程试图在标准的CMD外壳。

有没有人有什么想法或想法什么可能是错的?

回答

1

它应该能够成功地使用powershell,你应该能够在“C:\ postInstallScript.log”中看到powershell执行的日志,或许它包含了关于错误的更多信息。

无论如何,如果你仍然面临这个问题,我建议你在Softlayer中打开一张带有“硬件问题”主题的票据,因为这个问题可能是由于Windows机器不允许执行脚本的限制。

问候

+0

谢谢!我没有C:\ postInstallScript.log但打开一张票。 –

0

相信使用PowerShell的问题,作为一个配置脚本的PowerShell的默认配置需要签署PowerShell脚本执行(不带参数的定义)。如果PowerShell脚本未签名,则必须在服务器上更改执行策略,或者将标志传递给PowerShell解释器以允许执行。