Назад | Перейти на главную страницу

Как удаленно подключиться к серверу Hyper-V для перезагрузки виртуальной машины через PowerShell с машиной, находящейся не в том же домене

Машина, которую я пытаюсь использовать, не присоединена к домену (не будет), и я хотел бы иметь возможность удаленной перезагрузки виртуальной машины (pfSense) с помощью сценария PowerShell.

Я продолжаю получать эту ошибку, пытаясь проверить мое соединение с сервером.

PS C:\WINDOWS\system32> Get-VM –computername 'LAB1' | Where { $_.State –eq 'Running' }
Get-VM : The operation on computer 'LAB1' failed: The WinRM client cannot process the request. If the authentication scheme is different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must be used or 
the destination machine must be added to the TrustedHosts configuration setting. Use winrm.cmd to configure TrustedHosts. Note that computers in the TrustedHosts list might not be authenticated. You can get more information about that by 
running the following command: winrm help config.

Я пробовал это:

winrm set winrm/config/client '@{TrustedHosts="DESKTOP-K2GD11M"}'
Enable-PSRemoting -Force

но все равно получаю ошибку.

Я также проверил с get-item wsman:\localhost\Client\TrustedHosts и было добавлено имя хоста или имя компьютера.

Попробуйте выполнить следующее со своего компьютера домена: (Это не использует удаленное взаимодействие Powershell)

$cred = Get-Credential \LAB1\Username
Get-VM -Computername LAB1 -Credential $cred |  Where { $_.State –eq 'Running' }

Где Username - это учетная запись с доступом к вашей рабочей группе, а LAB1 - это рабочая группа.

Вы получите диалоговое окно с запросом пароля для LAB1 \ Username.

Теперь вам нужно сделать так, чтобы ваш клиентский компьютер (домен) доверял серверу (рабочей группе).

Вы можете использовать либо

winrm set winrm/config/client '@{TrustedHosts="LAB1"}'

или

set-item wsman:\localhost\Client\TrustedHosts -value LAB1 -concatenate

на вашем настольном компьютере.

Затем при тестировании убедитесь, что вы включили учетные данные, которые имеют доступ к целевому серверу:

$cred = Get-Credential \LAB1\Username
Get-VM –Computername 'LAB1' -Credential $cred | Where { $_.State –eq 'Running' }