Azure-Runbook中的新PSSession(ARM)

时间:2017-04-27 12:52:55

标签: powershell azure azure-powershell azure-automation

对于经典门户(ASM)中的Azure VM,我能够获得

  1. Get-AutomationPSCredential
  2. 所需的凭据
  3. -ConnectionURIConnect-AzureVM.ps1
  4. 通过这两个参数,我能够在Azure-Runbook中成功执行New-PSSession

    我应该怎样做才能在Azure-Runbook中打开一个到Azure-VM(ARM)的PS-Session?

    更新

    Runbook(ARM)中的

    命令

    $vmSession = New-PSSession -ConnectionUri 'https://xxx.yyy.cloudapp.azure.com:5985' -Credential $creds -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)

    错误消息

      

    New-PSSession:[xxx.yyy.cloudapp.azure.com]正在连接   远程服务器xxx.yyy.cloudapp.azure.com   失败,出现以下错误消息:WinRM无法完成   操作。验证指定的计算机名称是否有效,即   计算机可通过网络访问,并且是防火墙   启用WinRM服务的异常并允许从此进行访问   电脑。默认情况下,WinRM防火墙例外公开   配置文件限制对同一本地内远程计算机的访问   子网。有关更多信息,请参阅about_Remote_Troubleshooting   帮助主题。

1 个答案:

答案 0 :(得分:2)

根据您的错误,似乎端口5985被某些防火墙阻止。您可以使用telnet来测试连接性。

telnet xxx.yyy.cloudapp.azure.com 5985

如果失败,您应该另外检查:

  1. 在Windows防火墙(入站规则)上打开端口5985。

  2. 在Azure NSG上打开端口5985(入站规则)。注意NSG可能与NIC或子网相关联,你最好全部检查它们。

  3. enter image description here

    1. 在服务器VM上,执行cmdlet。

      winrm quickconfig

    2. 确保您可以访问端口5985,然后在本地PC上进行测试,然后在Azure Runbook上进行测试。

      我使用以下cmdlet,它适用于我。

      New-PSSession -ConnectionUri 'http://IP:5985' -Credential $creds -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)
      

      注意:如果您未在服务器上配置证书,则无法使用https,而应使用http

      PS C:\Users\v-shshui> New-PSSession -ConnectionUri 'http://*.*.*.*:5985' -Credential $creds -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)
      
       Id Name            ComputerName    ComputerType    State         ConfigurationName     Availability
       -- ----            ------------    ------------    -----         -----------------     ------------
        7 Session7        *.*.*.*         RemoteMachine   Opened        Microsoft.PowerShell     Available
      

      此外,如果您要使用https,则需要按照此link中所示配置证书。

      <强>更新

      如果要在Azure Runbook中winrm到VM,则应使用https。这意味着您应该在Azure NSG和Windows防火墙上打开端口5986(默认情况下)。此外,您需要在Azure VM上添加新证书。