derhoeppi
Goto Top

PowerShell Remoting

Hallo,

ich habe ein Problem beim PowerShell Remoting. In meinem Lab habe ich einen bidirektionalen Trust zweier unabhängiger Domains (Forests). Nun möchte ich von Domain A aus via PowerShell auf einen Server in Domain B zugreifen. PS Remoting wurde aktiviert und funktioniert innerhalb von Domain B ohne Probleme. Beim Versuch von Domain A auf den Server in Domain B zu zugreifen, bin ich gezwungen die Anmeldeinformationen der Domain B einzugeben. Mein Ziel ist es jedoch mit den Anmeldeinformationen von Domain A am Server in Domain B zu arbeiten. Eine lokale Anmeldung mit den Credentials aus Domain A an dem Server in Domain B funktioniert ohne Probleme.

Die Fehlermeldung die ich erhalte besagt folgendes:

enter-pssession : Connecting to remote server srv_domainB.test.local failed with the following error message : WinRM cannot
process the request. The following error occurred while using Kerberos authentication: Cannot find the computer
srv_domainB.test.local. Verify that the computer exists on the network and that the name provided is spelled correctly. For
more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:1
+ enter-pssession srv_domainB.test.local
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (srv_domainB.test.local:String) [Enter-PSSession], PSRemotingTransportExcepti
   on
    + FullyQualifiedErrorId : CreateRemoteRunspaceFailed

Die DNS Auflösung zwischen beiden Domains funktioniert einwandfrei. Hat jemand eine Idee?

Gruß
derhoeppi

Content-Key: 287935

Url: https://administrator.de/contentid/287935

Printed on: April 26, 2024 at 18:04 o'clock

Member: Althalus
Althalus Nov 09, 2015 updated at 15:03:59 (UTC)
Goto Top
Hallo derhoeppi,
ist denn in den Gruppenrichtlinien alles eingestellt? Powershell Remoting aktivieren (externer Link).

Zumindest bei mir hat es sehr geholfen überhaupt auf die Rechner zu kommen, von meinem Standort aus.

Edith meint: Ich benutze jedoch die jeweiligen Logindaten von der jeweiligen Domäne, man kann sich das aber auch erleichtern innerhalb eines Scripts.

 # Deklarieren der lokalen Variablen und Scripte
$username = "<Domäne\Admin>"  
$password = "<Passwort>"  
$secstr = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
Aufruf wäre dann zum Bleistift:
 Invoke-Command -ComputerName <Rechnername> -Credential $cred { <Skript> }
Mitglied: 122990
Solution 122990 Nov 09, 2015, updated at Nov 10, 2015 at 11:59:46 (UTC)
Goto Top
Member: derhoeppi
derhoeppi Nov 10, 2015 at 11:59:39 (UTC)
Goto Top
Hallo,

vielen Dank für die Antworten. Hilfreich war von grexit der Link: https://technet.microsoft.com/en-us/library/configure-kerberos-forest-se ...

Dieser beschreibt die Lösung meines Problems.

Gruß
dehoeppi
Member: colinardo
colinardo Nov 10, 2015 updated at 12:07:41 (UTC)
Goto Top
Hallo derhoeppi,
also erst mal eine grundsätzliche Fragen zum Trust der Domains:
  • Ist das ein "transitiver" Trust einer Gesamtstruktur oder ein "external" Trust ?
Richte den Trust folgendermaßen ein :
  • Richtung der Vertrauensstellung : Bidirektional
  • Vertrauenstyp: Gesamtstruktur
  • Transitivität: Transitiv
Stelle sicher das unter Namensuffix-Routing der jeweils andere Domain-Suffix eingetragen ist.
Dann stelle sicher das die Domain-Namen der anderen Domain entweder über einen Root-DNS-Server, Secondary DNS-Zone oder eine bedingte Weiterleitung einwandfrei funktioniert.
In der Powershell stelle sicher das du zum Verbinden immer den FQDN des anderen Servers benutzt.

Jetzt musst du noch die SessionConfiguration auf beiden Servern anpassen damit sich die Admins aus der anderen Domains jeweils verbinden können. Das machst du mit dem Befehl
Set-PSSessionConfiguration -name microsoft.powershell -ShowSecurityDescriptorUI -Force
Im erscheinenden UI gibst du die User/Gruppen an welche sich verbinden dürfen.

Eine Übersicht der vorhandenen PS-Endpoints und deren Einstellungen kannst du dir mit Get-PSSessionConfiguration anzeigen lassen.

Zum Troubleshooting und Umsetzung der verschiedenen Szenarien auch zwischen Hosts die sich nicht in einer der Domains befinden kann ich nur wärmstens folgende Artikel-Serie Empfehlen. Dort steht alles was du zu dem Thema wissen musst detailliert aufgelistet.
Secrets of PowerShell Remoting

Wenn du das beachtest funktioniert es anschließend einwandfrei auch über Forest-Grenzen hinweg. Hier im Lab erfolgreich getestet.

Grüße Uwe