gpt4 book ai didi

powershell - 通过 API 在 Azure 上部署 Windows VM 时配置 WinRM 时出现问题

转载 作者:行者123 更新时间:2023-12-03 04:34:49 25 4
gpt4 key购买 nike

当通过 REST API 在 Azure 上部署具有 Windows2008-SQL-Server 模板的虚拟机时,我们需要使用 powershell 脚本配置 WinRM 以启用基本身份验证。为此,我们使用 Azure 扩展“CustomScriptExtension”,它从 blob 存储加载脚本并运行它。

脚本的输出有错误,并且 Powershell 在端口 5985 上没有响应。

  • 我们使用 SQL-Server-2008R2-SP2-10.50.4319.0-Standard-ENU-Win2008R2 模板。
  • 在部署中,我们设置了一个用作协议(protocol)“Http”的监听器。
  • 我们打开 5985 端口,在虚拟机配置结束时,我们可以在其上打开一个套接字。

代码:

winrm quickconfig -q
winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="300"}'
winrm set winrm/config '@{MaxTimeoutms="1800000"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
winrm set winrm/config/service/auth '@{Basic="true"}'

对于每个脚本的命令,我们都会遇到以下错误:

消息 = 访问被拒绝。\\n\\n错误号:-2147024891 0x80070005\\n访问被拒绝。

虚拟机配置完成后,我们可以使用远程桌面登录,如果我们从那里启动 powershell 脚本,它就可以完美运行。

经过一番研究,我们发现了这个 article这提出了一个可能的解决方案,但问题是它暴露了安全问题,因为脚本需要管理员密码作为参数。

我们正在寻找其他建议或解决方法。我们正在使用完全自动化的工作流程,因此遗憾的是“手工制作的解决方案”不是我们的选择。预先感谢您的帮助。

最佳答案

我这样做是为了让 Chef 客户端 Bootstrap 能够在 Azure Windows VM 上运行。就我而言,除了您所做的之外,我还必须在 Windows 防火墙上打开 5985 并在云服务上启用 5985 端点。这是一个 PITA,但它完成了任务。

关于powershell - 通过 API 在 Azure 上部署 Windows VM 时配置 WinRM 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28091303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com