无法在Azure Automation混合工作程序上运行远程会话

时间:2017-01-07 05:39:37

标签: azure azure-automation

我有一个Powershell Azure自动化Runbook,可以远程登录到计算机以更新某些配置。从Azure运行时,Runbook似乎正常工作,但在从Hybrid Worker运行时失败并出现身份验证错误。

拥有混合工作者的全部原因是我可以将PSRemoting端口保护到已知主机,所以这有点令人失望。

主要的Runbook是通过webhook触发的,它使用点符号调用子Runbook,后者调用...

$creds = Get-AutomationPSCredential -Name 'DeploymentCredentials'
$sessionOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Invoke-Command -ConnectionUri "https://$($FQDN):5986" -Credential $creds -SessionOption $sessionOptions -ScriptBlock {
    $h = hostname
    Write-Output "Running on $h"
}

在这种情况下,$FQDN当然是作为参数提供的。

报告的错误是:

  

连接到远程服务器   my-server.australiaeast.cloudapp.azure.com失败并显示以下错误消息:访问被拒绝。更多   有关信息,请参阅about_Remote_Troubleshooting帮助主题。

     
      
  • CategoryInfo:OpenError:(my-server.au ... udapp.azure.com:String)[],PSRemotingTransportException

  •   
  • FullyQualifiedErrorId:AccessDenied,PSSessionStateBroken

  •   

我可以手动执行来自ISE的相同代码,而不会遇到混合工作者的问题,所以我知道它不是防火墙问题,我将凭据写入输出窗口,所以我知道它们也是正确的。< / p>

我认为这与PowerShell函数在系统帐户下执行的事实有关?

THX

1 个答案:

答案 0 :(得分:1)

为后代回答我自己的问题。

将混合工作组更改为使用机器管理员凭据运行允许设置工作;使用&#34;默认&#34;凭证(我认为系统帐户)没有。

我认为在Windows中系统帐户不允许连接到其他计算机/服务,所以这可能是原因,但我猜不到。