New-PSSession за пределами домена

8

Я пытаюсь вызвать виртуальную машину, которая должна иметь возможность создавать новые сеансы (с New-PSSession). Разумеется, очень интересное решение проблемы about_Remote_Trou является моим постоянным спутником!

После запуска базовой машины (Win 8.1 Enterprise):

  • Скажем, основной домен моей компании mycompany.com.
  • У нас есть область разработки, dev.mycompany.comтак что у разработчиков есть песочница для игры.
  • Я добавил новую виртуальную машину (с именем my-vm) в домен разработки dev.mycompany.com.
  • У меня есть локальная учетная запись на новой виртуальной my-vm\msorensмашине , которая находится в группе администраторов на локальной машине.

Первое препятствие:

Попытка выполнить только что New-PSSessionзавершилась неудачей с отказом в доступе из-за междоменных проблем. На страницу устранения неполадок, упомянутую выше:

Когда пользователь в другом домене является членом группы «Администраторы» на локальном компьютере, он не может удаленно подключаться к локальному компьютеру с правами администратора.

Я не уверен, что это правда (из-за моей неопытности в проблемах домена), но применение рецепта для этого средства позволило основному New-PSSessionсработать:

New-ItemProperty `
-Name LocalAccountTokenFilterPolicy `
-Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System `
-PropertyType DWord `
-Value 1

(И это, хотя и менее безопасно, но это нормально, поскольку это просто виртуальная машина с песочницей.)

Второе препятствие:

С помощью вышеуказанного патча я мог бы успешно выполнить любое из следующих действий:

PS> New-PSSession
PS> New-PSSession -ComputerName localhost
PS> New-PSSession -ComputerName my-vm

Тем не менее, моя фактическая потребность состоит в том, чтобы дать полное доменное имя машины:

PS> New-PSSession -ComputerName my-vm.dev.mycompany.com

Это не из-за отсутствия учетных данных. Что приводит нас к этому:

PS> New-PSSession -ComputerName my-vm.dev.mycompany.com -Credential (Get-Credential)

Я попробовал свои локальные (my-vm) учетные данные, в результате чего WinRM не смог обработать запрос; серверы входа не доступны .

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

Есть ли способ сделать эту работу?

Майкл Соренс
источник
Вы пытались указать суффикс UPN? myuser@mydom.com
red888
1
Доверяет ли dev.mycompany.comдомен mycompany.comдомену? Если нет, возможно, вы не сможете подключиться. Кроме того, у нас есть среда, очень похожая на вашу. Моя основная корпоративная учетная запись - это администратор моей виртуальной машины, которая находится в нашем домене разработчиков, и я могу войти в нее.
разбрызганные биты

Ответы:

8

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

На стороне клиента

winrm quickconfig
winrm set winrm/config/client '@{TrustedHosts="Computer1,Computer2"}'

На стороне сервера

Enable-PSRemoting -Force
winrm quickconfig

Для HTTPS

winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="_";CertificateThumbprint="_"}

Для HTTP

winrm create winrm/config/Listener?Address=*+Transport=HTTP

Тест с

Test-WsMan ComputerName
Test-WsMan ComputerName -UseSSL

Создать сеанс с

New-PSSession -ComputerName Computer1 -Credential (Get-Credential)

Конечно, вам нужно настроить брандмауэр, чтобы сервер мог прослушивать удаленный порт powershell.

Изменить: Установить TrustedHosts с PowerShell

Или с PowerShell (в качестве администратора)

Set-Item -Path WSMan:\localhost\Client\TrustedHosts -Value "Computer1,Computer2"

И проверить (не нужен админ для этого)

Get-Item WSMan:\localhost\Client\TrustedHosts
dhcgn
источник
1
Или вместо New-PSSession вы можете просто выполнить Enter-PSSession. Кроме того, у меня есть только эта строка - winrm set winrm / config / client '@ {TrustedHosts = "Computer1"}' - так как ранее у меня было удаленное взаимодействие внутри домена.
Гомибуши