Azure runbook中的新PSSession:拒绝访问(ARM)

Azure runbook中的新PSSession:拒绝访问(ARM),azure,azure-powershell,azure-automation,Azure,Azure Powershell,Azure Automation,根据中提供的建议,我能够在Azure VM上设置winrm(1) 现在,我可以从中使用New PSSession打开PS会话 任何Azure VM(2)到Azure VM(1) 连接到Azure VM的我的本地计算机(1) 但如果我在Azure runbook中也这么做 $cred = Get-AutomationPSCredential -Name "admin" InlineScript { $vmSession = New-PSSession -ConnectionUri 'ht

根据中提供的建议,我能够在Azure VM上设置
winrm
(1)

现在,我可以从中使用
New PSSession
打开PS会话

  • 任何Azure VM(2)到Azure VM(1)
  • 连接到Azure VM的我的本地计算机(1)
但如果我在Azure runbook中也这么做

$cred = Get-AutomationPSCredential -Name "admin"
InlineScript
{
   $vmSession = New-PSSession -ConnectionUri 'https://xxx.yyy.cloudapp.azure.com:5986' -Credential $cred -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)
}
它失败,并显示错误消息:

新PSSession:[xxx.yyy.cloudapp.azure.com]正在连接到远程服务器 xxx.yyy.cloudapp.azure.com失败,错误消息如下:访问被拒绝

作为用户,我使用'localhost\admin',我是肯定的,密码是正确的(仔细检查)

Q如何克服访问被拒绝的问题

更新

PS workflow占了我的上风。因此,上面的代码中只有一个小的语法问题。如果有人分享正确的答案,我很乐意投票并接受它。

默认情况下,工作流中定义的变量不是 对InlineScript脚本块中的命令可见 对于InlineScript可见的工作流变量,请使用$Using范围 $Using作用域修饰符对于每个修饰符只需要一次 InlineScript中的变量

因此,您需要修改脚本,如下所示:

$cred = Get-AutomationPSCredential -Name "admin"
InlineScript
{
   $vmSession = New-PSSession -ConnectionUri 'https://xxx.yyy.cloudapp.azure.com:5986' -Credential $Using:cred -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)
}

$cred无法在脚本中使用?
{Write Output“password$cred”;$vmSession=New PSSession-ConnectionUri'https://xxx.yyy.cloudapp.azure.com:5986'-Credential$cred-SessionOption(新的PSSessionOption-SkipCACheck-skipncheck-skipprelocationcheck)}
您能在脚本中打印
$cred
吗?第一个版本不起作用。我想您不能在
InlineScript
-块中调用
获取AutomationPSCredential