도메인 경계를 넘어서는 New-PSSession


8

New-PSSession을 사용하여 새 세션을 만들 수 있어야하는 가상 컴퓨터를 불러 오려고합니다. 매우 매력적인 about_Remote_Troubleshooting 은 물론 끊임없는 동반자입니다!

기본 머신을 띄운 후 (Win 8.1 Enterprise) :

  • 내 회사의 기본 도메인은 mycompany.com입니다.
  • dev.mycompany.com개발자는 샌드 박스를 가지고 개발할 수있는 개발 도메인 이 있습니다.
  • 개발 도메인에 새 VM (my-vm)을 추가했습니다 dev.mycompany.com.
  • my-vm\msorens로컬 컴퓨터의 관리자 그룹에있는 새 VM에 로컬 계정 이 있습니다.

첫 번째 장애물 :

New-PSSession도메인 간 문제로 인해 액세스가 거부 되어 실행 시도가 실패했습니다. 위에서 언급 한 문제 해결 페이지에 따라 :

다른 도메인의 사용자가 로컬 컴퓨터에서 Administrators 그룹의 구성원 인 경우 사용자는 관리자 권한으로 원격으로 로컬 컴퓨터에 연결할 수 없습니다.

나는 이것이 사실이라고 확신하지 못하지만 (도메인 문제에 대한 나의 경험이 없기 때문에) 그 치료법을 적용하면 기본 사항 New-PSSession을 사용할 수 있습니다.

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

(그리고 그것은 안전하지는 않지만 샌드 박스 VM이므로 괜찮습니다.)

두번째 허들 :

위의 패치가 있으면 다음 중 하나를 성공적으로 수행 할 수 있습니다.

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

그러나 실제로 필요한 것은 컴퓨터의 FQDN을 제공하는 것입니다.

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

자격 증명이 누락되어 실패합니다. 이것은 우리에게 이것을 가져옵니다 :

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

로컬 (my-vm) 자격 증명을 시도했는데 WinRM에서 요청을 처리 할 수 ​​없었습니다. 사용 가능한 로그온 서버가 없습니다 .

회사 도메인 자격 증명 (VM이 실제로 dev.mycompany.com에있는 도메인이 아닌 mycompany.com 임)을 시도하여 액세스가 거부되었습니다 .

이 작업을 수행하는 방법이 있습니까?


UPN 접미사를 지정해 보셨습니까? myuser@mydom.com
red888

1
dev.mycompany.com도메인 이 도메인을 신뢰 합니까 mycompany.com? 그렇지 않으면 연결할 수 없습니다. 또한 귀하와 매우 유사한 환경이 있습니다. 내 주요 회사 계정은 개발자 도메인에있는 내 VM의 관리자이며 VM에 로그인 할 수 있습니다.
산산조각 난 비트

답변:


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 원격 포트에서 수신 할 수 있도록 방화벽을 구성해야합니다.

편집 : PowerShell을 사용하여 TrustedHosts 설정

또는 PowerShell (관리자 권한)

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

확인하십시오 (관리자가 필요하지 않음)

Get-Item WSMan:\localhost\Client\TrustedHosts

1
또는 New-PSSession 대신 Enter-PSSession을 수행 할 수 있습니다. 또한, 나는 이전부터 도메인 내에서 작업중인 원격을 제거했기 때문에 winrm set winrm / config / client '@ {TrustedHosts = "Computer1"}'줄만 있습니다.
Gomibushi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.