Azure runbook中的新PSSession:拒绝访问(ARM)
根据中提供的建议,我能够在Azure VM上设置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
winrm
(1)
现在,我可以从中使用New PSSession
打开PS会话
- 任何Azure VM(2)到Azure VM(1)
- 连接到Azure VM的我的本地计算机(1)
$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
。