ドメイン境界を越えたNew-PSSession


8

新しいセッションを(New-PSSessionで)作成できる必要がある仮想マシンを起動しようとしています。もちろん、非常に魅力的なabout_Remote_Troubleshootingは私の常連です。

基本的なマシン(Win 8.1 Enterprise)を起動した後:

  • 私の会社のプライマリドメインは、たとえばですmycompany.com
  • 開発ドメインがあるdev.mycompany.comので、開発者はサンドボックスで遊ぶことができます。
  • 新しいVM(my-vmという名前)を開発ドメインに追加しましたdev.mycompany.com
  • 新しいVMにローカルアカウントがありmy-vm\msorens、ローカルマシンのAdministratorsグループにあります。

最初のハードル:

New-PSSessionクロスドメインの問題が原因でアクセスが拒否され、実行に失敗しました。上記のトラブルシューティングページによると:

別のドメインのユーザーがローカルコンピューターのAd​​ministratorsグループのメンバーである場合、そのユーザーは管理者特権でリモートからローカルコンピューターに接続できません。

私はこれが真実であるとは確信していませんが(ドメインの問題における私の未経験のため)、そのレメディのレシピを適用することで基本New-PSSessionが機能することを可能にしました:

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

(そして、それは単なるサンドボックスVMなので、安全性は低くなりますが問題ありません。)

2番目のハードル:

上記のパッチを配置すると、次のいずれかを正常に実行できます。

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 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.