New-PSSession über Domänengrenzen hinweg

8

Ich versuche, eine virtuelle Maschine aufzurufen, die neue Sitzungen erstellen muss (mit New-PSSession). Das äußerst engagierte about_Remote_Troubleshooter ist natürlich mein ständiger Begleiter!

Nach dem Aufrufen einer Basismaschine (Win 8.1 Enterprise):

  • Die Hauptdomäne meines Unternehmens ist beispielsweise mycompany.com.
  • Wir haben eine Entwicklungsdomäne dev.mycompany.com, mit der Entwickler eine Sandbox zum Spielen haben.
  • Ich habe die neue VM (mit dem Namen my-vm) zur Entwicklungsdomäne hinzugefügt dev.mycompany.com.
  • Ich habe ein lokales Konto auf der neuen VM, my-vm\msorensdas sich in der Gruppe Administratoren auf dem lokalen Computer befindet.

Erste Hürde:

Der Versuch, ausgeführt zu werden, schlug New-PSSessionfehl, da der Zugriff aufgrund domänenübergreifender Probleme verweigert wurde. Auf der oben genannten Seite zur Fehlerbehebung:

Wenn ein Benutzer in einer anderen Domäne Mitglied der Administratorgruppe auf dem lokalen Computer ist, kann der Benutzer keine Remoteverbindung mit Administratorrechten zum lokalen Computer herstellen.

Ich bin nicht davon überzeugt, dass dies wahr ist (aufgrund meiner Unerfahrenheit in Domänenproblemen), aber die Anwendung des Rezepts für dieses Mittel ermöglichte es dem Basic, New-PSSessionzu funktionieren:

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

(Und das ist zwar weniger sicher, aber in Ordnung, da es sich nur um eine Sandbox-VM handelt.)

Zweite Hürde:

Mit dem obigen Patch konnte ich Folgendes erfolgreich ausführen:

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

Mein eigentlicher Bedarf besteht jedoch darin, den vollqualifizierten Domänennamen der Maschine anzugeben:

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

Dies schlägt aufgrund fehlender Anmeldeinformationen fehl. Was uns dazu bringt:

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

Ich habe meine lokalen (my-vm) Anmeldeinformationen ausprobiert, was dazu führte, dass WinRM die Anforderung nicht verarbeiten kann. Keine Anmeldeserver verfügbar .

Ich habe die Anmeldeinformationen meiner Unternehmensdomäne ausprobiert (beachten Sie, dass mycompany.com nicht die Domäne ist, auf der sich die VM tatsächlich auf dev.mycompany.com befindet), was dazu führte, dass der Zugriff verweigert wurde .

Gibt es eine Möglichkeit, diese Arbeit zu machen?

Michael Sorens
quelle
Haben Sie versucht, ein UPN-Suffix anzugeben? [email protected]
red888
1
Vertraut die dev.mycompany.comDomain der mycompany.comDomain? Wenn nicht, können Sie möglicherweise keine Verbindung herstellen. Wir haben auch eine Umgebung, die Ihrer sehr ähnlich ist. Mein Hauptunternehmenskonto ist ein Administrator auf meiner VM, die sich in unserer Entwicklungsdomäne befindet, und ich kann mich bei der VM anmelden.
bespritzte Bits

Antworten:

8

Bei der Arbeit haben wir die gleiche Situation. Hier einige Schritte, die wir an neuen Mitarbeitercomputern ausführen, damit diese eine Verbindung zu diesen Servern herstellen können, die sich außerhalb unserer Domäne befinden.

Auf der Client-Seite

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

Auf der Serverseite

Enable-PSRemoting -Force
winrm quickconfig

Für HTTPS

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

Für HTTP

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

Test mit

Test-WsMan ComputerName
Test-WsMan ComputerName -UseSSL

Erstellen Sie eine Sitzung mit

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

Natürlich müssen Sie Ihre Firewall so konfigurieren, dass der Server den Powershell-Remoting-Port überwacht.

Bearbeiten: Legen Sie TrustedHosts mit PowerShell fest

Oder mit PowerShell (als Admin)

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

Und überprüfen Sie (brauchen Sie keinen Admin dafür)

Get-Item WSMan:\localhost\Client\TrustedHosts
dhcgn
quelle
1
Oder Sie können anstelle einer neuen PSSession einfach eine Enter-PSSession durchführen. Außerdem habe ich nur diese Zeile - winrm set winrm / config / client '@ {TrustedHosts = "Computer1"}' - da ich von früher Remoting innerhalb der Domain hatte.
Gomibushi