【问题标题】:Remote PowerShell to AzureRM Virtual Machines远程 PowerShell 到 AzureRM 虚拟机
【发布时间】:2016-03-17 13:11:04
【问题描述】:

我已成功将多个 Azure 虚拟机部署到 Azure 资源组。也就是说,我使用新的Azure Resource Manager 部署模型从 JSON 模板部署虚拟机和相关资源。

我的问题是如何从我的笔记本电脑对这些虚拟机执行远程 PowerShell 脚本。我已经梳理了很多文章——但它们都展示了如何使用 Azure 中的经典虚拟机来做到这一点。我已经知道并成功使用了这一点。

现在,是否在使用 Azure 资源管理器创建的 Azure VM 上默认启用了证书的远程 PowerShell over SSL?如何连接 Enter-PSSession 或 Invoke-Command ?

【问题讨论】:

  • 这不是我实际使用过的东西——但这可能会为你指明正确的方向——github.com/Azure/azure-quickstart-templates/tree/master/…
  • 谢谢,这看起来很有希望 - 会试试看!
  • 完成 - 使用 Azure Key Vault 中的证书配置基于 SSL 的 WinRM 可以正常工作,看起来是正确的方法。我现在可以针对在 JSON 模板中使用这些选项配置的 VM 执行远程 powershell。这个 PS 命令现在可以在我的笔记本电脑客户端上运行:Invoke-Command -ComputerName .westeurope.cloudapp.azure.com -Credential $cred -UseSSL -ScriptBlock $script -SessionOption (New-PSSessionOption -SkipCACheck -SkipRevocationCheck -SkipCNCheck)

标签: powershell azure virtual-machine


【解决方案1】:

这适用于现有机器:通过 NIC 设置确保您的 VM 具有公共 IP。接下来,如果您要使用笔记本电脑,请确保您的防火墙对公共流量开放。这可以通过一个简单的 netsh 命令来完成:

netsh advfirewall firewall add rule name="WinRM HTTP" dir=in action=allow protocol=TCP localport=5985 profile=public

打开公共 IP 和防火墙后,您可以通过以下方式进入 WinRM 会话:

$username = '<admin-user>'
$pass = ConvertTo-SecureString -string '<password>' -AsPlainText -Force
$cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $username, $pass
Enter-PSSession -ComputerName <public-IP> -Credential $cred -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)

注意:默认情况下,WinRM over HTTP 和侦听器应在您的计算机上设置并侦听。 HTTPS 未启用,因为不清楚从何处获取证书。但是,WinRM 使用消息级加密,所以它不是完全纯文本。您可以通过以下方式进行验证:

winrm e winrm/config/listener

这应该向您展示以下内容的听众:

Listener [Source="GPO"]
    Address = *
    Transport = HTTP
    Port = 5985
    Hostname
    Enabled = true
    URLPrefix = wsman
    CertificateThumbprint
    ListeningOn = 1.1.1.1

【讨论】:

  • 谢谢 - Azure 要求您使用 HTTPS。我最终使用 winrm 和 netsh 直接通过 HTTPS 配置远程访问。效果很好。如果服务器已经在机器名称上安装了域证书,则可以轻松配置安全远程访问。只需使用此命令:winrm quickconfig -transport:https
  • 请给我一个明确的步骤,说明您正在做什么以启用 SSL 证书
【解决方案2】:

您还可以使用位于此处的快速入门模板:https://github.com/Azure/azure-quickstart-templates/tree/4b529b00eec1a48748e2f1ea0f305c0f07c87253/undefined。如果虚拟机已经存在,您可以从同一位置手动复制一些文件和脚本。我在这里添加了说明:http://blog.ricardovillalobos.com/?p=1871

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-17
    • 2018-10-28
    • 1970-01-01
    • 2016-10-12
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多