Как функция Azure, использующая PowerShell, может выдавать Invoke-Command другому компьютеру? - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь сделать что-то прямое, используйте PowerShell Invoke-Command из функции Azure. Машина назначения находится в моей подписке Azure и в той же виртуальной сети. Приведенный ниже код завершается с ошибкой, приведенной ниже.

Сложность заключается в том, что Azure Функции "без сервера", поэтому при попытке использовать различные решения, например, для установки локального файла TrustedHosts, происходит сбой, поскольку такого файла нет .

Я хочу использовать самый простой способ, который является достаточно безопасным. Я безуспешно пробовал различные другие схемы аутентификации.

using namespace System.Net

# Input bindings are passed in via param block.
param($Request, $TriggerMetadata)

$adminName = 'chuck-admin'
$adminPassword = 'XXXXXXX'
$secPassword = ConvertTo-SecureString $adminPassword -AsPlainText -Force
$vmCreds = New-Object System.Management.Automation.PSCredential ($adminName, $secPassword)

$vmReturn = Invoke-Command  -ComputerName chuck-vm-3    -Credential $vmCreds  -ScriptBlock{whoami}

Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
    StatusCode = [HttpStatusCode]::OK
    Body = $vmReturn
})

System.Management.Automation.Remoting.PSRemotingTransportException: Ошибка подключения к удаленному серверу chuck-vm-3 со следующим сообщением об ошибке: Клиент WinRM не может обработать запрос. Если схема аутентификации отличается от Kerberos или клиентский компьютер не присоединен к домену, необходимо использовать транспорт HTTPS или добавить конечный компьютер в параметр конфигурации TrustedHosts.
Используйте winrm.cmd для настройки TrustedHosts , Обратите внимание, что компьютеры в списке TrustedHosts могут не проходить проверку подлинности.
Более подробную информацию об этом можно получить, выполнив следующую команду: winrm help config. Для получения дополнительной информации см. Справку about_Remote_Trou устранение неполадок topi c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...