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-ID: 287935

Url: https://administrator.de/forum/powershell-remoting-287935.html

Ausgedruckt am: 25.12.2024 um 04:12 Uhr

Althalus
Althalus 09.11.2015 aktualisiert um 16:03:59 Uhr
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> }
122990
Lösung 122990 09.11.2015, aktualisiert am 10.11.2015 um 12:59:46 Uhr
Goto Top
derhoeppi
derhoeppi 10.11.2015 um 12:59:39 Uhr
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
colinardo
colinardo 10.11.2015 aktualisiert um 13:07:41 Uhr
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