У меня есть модуль Runbook для автоматизации Azure Powershell, который подключается к компьютеру для обновления некоторой конфигурации. Runbook работает правильно при запуске из Azure, но выдает ошибку аутентификации при запуске из гибридного рабочего.
Вся причина наличия Hybrid Worker заключалась в том, чтобы я мог защитить порты PSRemoting от известных хостов, так что это немного обескураживает.
Основной модуль Runbook запускается через веб-перехватчик, который вызывает дочерний модуль 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 без проблем со стороны гибридного рабочего, поэтому я знаю, что это не проблема брандмауэра, и у меня есть учетные данные, записываемые в окно вывода, поэтому я знаю, что они также верны.
Я полагаю, это как-то связано с тем, что функция PowerShell выполняется под системной учетной записью?
Спасибо