- Remoting benotzt WinRM/WS-Man (HTTP/HTTPS) a erlaabt 1-zu-1, 1-zu-vill a persistent Sessiounen mat Sécherheetskontrollen.
- Enable-PSRemoting konfiguréiert de Service, d'Listener an d'Firewall; HTTPS erfuerdert e gültege Zertifikat an eng CN/SAN-Iwwereneestëmmung.
- D'Resultater ginn deserialiséiert zréckginn; Methode ginn am entfernten Skriptblock opgeruff an personaliséiert Endpunkte ginn fir eng feinkornig Delegatioun benotzt.
Dir automatiséiert vläicht scho vill Aufgaben lokal mat PowerShell, awer wou gitt Dir wierklech dohin? PowerShell Remoting mécht den Ënnerscheed Et ass wann Dir Kommandoen op Remote-Maschinnen ausféiert, egal ob e puer oder Honnerte, interaktiv oder parallel. Dës Technologie, déi zënter Windows PowerShell 2.0 verfügbar ass a zënter 3.0 verbessert gouf, baséiert op WS-Management (WinRM) a konvertéiert PowerShell an engem robuste, skalierbare a séchere Fernmanagementkanal.
Als éischt ass et wichteg zwou Schlësseliddien ze verstoen: Cmdlets mat -ComputerName Parameter (z.B. Get-Process oder Get-Service) sinn net de laangfristege Wee, deen vu Microsoft recommandéiert gëtt, a PowerShell Remoting funktionéiert net als "Hack". Tatsächlech, erzwingt géigesäiteg Authentifikatioun, auditéiert Logbicher a respektéiert Är üblech Rechter, ouni Umeldungsinformatiounen ze späicheren oder eppes mat Superrechter magesch auszeféieren.
Wat ass PowerShell Remoting a firwat soll een et benotzen?
Con PowerShell Remote Dir kënnt bal all Kommando aus der Distanz ausféieren déi Dir an enger lokaler Sessioun starten kënnt, vun der Offro vu Servicer bis zum Asaz vu Konfiguratiounen, an dat op Honnerte vu Computeren gläichzäiteg maachen. Am Géigesaz zu Cmdlets, déi -ComputerName akzeptéieren (vill benotzen DCOM/RPC), Remoting reest iwwer WS-Man (HTTP/HTTPS), wat méi firewallfrëndlech ass, erlaabt Parallelismus an oflagert d'Aarbecht op den entfernten Host, net op de Client.
Dëst iwwersetzt sech an dräi praktesche Virdeeler: besser Leeschtung bei massiven Ausféierungen, manner Reibung an den Netzwierker mat restriktive Reegelen an engem Sécherheetsmodell, deen mat Kerberos/HTTPS konsequent ass. Ausserdeem, andeems een net vun all Cmdlet ofhängeg ass fir säin eegene Remote z'implementéieren, kann Remoting Et funktionéiert fir all Skript oder Roll déi op der Destinatioun verfügbar ass.
Standardméisseg ginn déi rezent Windows Server mat Remoting aktivéiert geliwwert; a Windows 10/11 du aktivéiers et mat engem eenzege Cmdlet. A jo, Dir kënnt alternativ Umeldungsinformatiounen, persistent Sessiounen, personaliséiert Endpunkten a méi benotzen.
Bemierkung: Remoting ass net datselwecht wéi alles opzemaachen. Standardméisseg, nëmmen Administrateuren Si kënne sech verbannen, an Aktiounen ginn ënner hirer Identitéit ausgeféiert. Wann Dir eng präzis Delegatioun braucht, erlaben Iech personaliséiert Endpunkten nëmmen déi wesentlech Befeeler ze weisen.

Wéi et dobannen funktionéiert: WinRM, WS-Man a Ports
PowerShell Remoting funktionéiert an engem Client-Server-Modell. De Client schéckt WS-Management-Ufroen iwwer HTTP (5985/TCP) oder HTTPS (5986/TCP)Um Zil lauschtert de Windows Remote Management (WinRM) Service, léist den Endpunkt op (Sessiounskonfiguratioun) an host d'PowerShell Sessioun am Hannergrond (wsmprovhost.exe Prozess), serialiséiert Resultater un de Client zréckginn an XML iwwer SOAP.
Déi éischt Kéier wou Dir Remoting aktivéiert, ginn d'Listener konfiguréiert, déi entspriechend Firewall-Ausnam gëtt opgemaach an d'Sessiounskonfiguratioune ginn erstallt. Vun PowerShell 6+ un existéiere verschidde Editiounen zesumme, an Aktivéiert-PSRemoting Registréiert Endpunkten mat Nimm, déi d'Versioun reflektéieren (zum Beispill PowerShell.7 a PowerShell.7.xy).
Wann Dir nëmmen HTTPS an Ärer Ëmfeld erlaabt, kënnt Dir eng sécheren Nolauschterer mat engem Zertifikat, deen vun enger vertrauenswürdeger CA ausgestallt gouf (recommandéiert). Alternativ ass eng aner Alternativ, TrustedHosts op eng limitéiert, risikobewosst Manéier ze benotzen, fir Aarbechtsgruppszenarien oder Net-Domain-Computeren.
Bedenkt datt Powershell Remoting mat Cmdlets mat -ComputerName koexistéiere kann, awer Microsoft setzt WS-Man op als Standard- a zukunftsséchere Wee fir Fernverwaltung.
PowerShell Remoting an nëtzlech Parameteren aktivéieren
Op Windows, einfach PowerShell als Administrator opmaachen an ausféieren Aktivéiert-PSRemotingDe System start WinRM, konfiguréiert den Autostart, aktivéiert den Listener a erstellt déi entspriechend Firewall-Regele. Op Clienten mat engem ëffentleche Netzwierkprofil kënnt Dir dëst bewosst erlaben mat -Netzwierkprofilkontroll iwwersprangen (an dann mat spezifesche Reegelen verstäerken):
Enable-PSRemoting
Enable-PSRemoting -Force
Enable-PSRemoting -SkipNetworkProfileCheck -Force
D'Syntax erlaabt och, -Confirméieren y -Wat wier wann fir d'Kontroll vun der Ännerung. Denkt drun: Et ass nëmmen op Windows verfügbar, an Dir musst déi erhéicht Konsol ausféieren. D'Regele, déi erstallt ginn, ënnerscheede sech tëscht Server- an Client-Editiounen, besonnesch op ëffentleche Netzwierker, wou se standardméisseg op dat lokalt Subnetz limitéiert sinn, ausser Dir erweidert den Ëmfang (zum Beispill mat Set-NetFirewallRule).
Fir scho opgeholl Sessiounskonfiguratiounen opzezielen an ze bestätegen, datt alles fäerdeg ass, benotzt Get-PSSessionConfigurationWann d'PowerShell.x- an d'Workflow-Endpunkte erscheinen, ass de Remoting-Framework operationell.

Benotzungsmodi: 1 zu 1, 1 zu villen, a persistent Sessiounen
Wann Dir eng interaktiv Konsol op engem eenzege Computer braucht, wendt Iech un Gitt-PSSessionD'Ufro erschéngt, an alles wat Dir ausféiert, geet op den entfernten Host. Dir kënnt d'Umeldungsinformatioune mat Get-Credential nei benotzen, fir ze vermeiden datt Dir se stänneg nei aginn musst:
$cred = Get-Credential
Enter-PSSession -ComputerName dc01 -Credential $cred
Exit-PSSession
Wann Dir Kommandoen un e puer Computeren gläichzäiteg schécke wëllt, dann ass dëst Tool dat Richtegt. Invoke-Kommando mat engem Skriptblock. Standardméisseg start et bis zu 32 gläichzäiteg Verbindungen (justierbar mat -ThrottleLimit). D'Resultater ginn zréckginn als deserialiséiert Objeten (ouni "Live"-Methoden):
Invoke-Command -ComputerName dc01,sql02,web01 -ScriptBlock { Get-Service -Name W32Time } -Credential $cred
Muss eng Method wéi .Stop() oder .Start() opruffen? Maach et. bannen am Skriptblock Am Remote-Kontext, net am lokalen deserialiséierten Objet, an dat ass et. Wann et en gläichwäertege Cmdlet (Stop-Service/Start-Service) gëtt, ass et normalerweis besser, deen aus Grënn vun der Kloerheet ze benotzen.
Fir d'Käschte fir d'Ufänken an d'Enn vun de Sessiounen bei all Uruff ze vermeiden, erstellt eng Persistent PSSession a benotzt et iwwer verschidde Invokatiounen nei. Benotzt New-PSSession fir d'Verbindung ze kreéieren, an Invoke-Command-Session fir den Tunnel nei ze benotzen. Vergiesst net en mat Remove-PSSession zouzemaachen wann Dir fäerdeg sidd.
Serialiséierung, Grenzen a gutt Praktiken
En wichtegen Detail: beim Reesen "+platzen" Objeten a kommen un als deserialiséiert Snapshots, mat Eegeschaften awer ouni Methoden. Dëst ass bewosst a spuert Bandbreet, awer et bedeit datt Dir keng Memberen benotze kënnt, déi Logik ausféieren (wéi .Kill()) op der lokaler Kopie. D'Léisung ass kloer: dës Methoden opruffen. an Ofstand a wann Dir nëmme bestëmmt Felder braucht, filtert mat Select-Object fir manner Daten ze schécken.
A Skripter, vermeit Enter-PSSession (geduecht fir interaktiv Notzung) a benotzt Invoke-Command mat Skriptblöcken. Wann Dir méi Opruff erwaart oder den Zoustand (Variablen, importéiert Moduler) erhale musst, persistent Sessiounen benotzen an, wann zoutreffend, se mat Disconnect-PSSession/Connect-PSSession a PowerShell 3.0+ ofschalten/erëm verbannen.
Authentifikatioun, HTTPS an Off-Domain Szenarien
An enger Domain ass nativ Authentifikatioun Kerberos An alles fléisst. Wann den Apparat den Servernumm net verifizéiere kann, oder Dir Iech mat enger CNAME IP oder engem Alias verbënnt, braucht Dir eng vun dësen zwou Optiounen: 1) Listener HTTPS mat Zertifikat ausgestallt vun enger CA, déi Dir vertraut, oder 2) d'Destinatioun (Numm oder IP) zu TrustedHosts bäifügen an Umeldungsinformatiounen benotzenDéi zweet Optioun deaktivéiert déi géigesäiteg Authentifikatioun fir dee Host, sou datt den Ëmfang op dat néidegt Minimum reduzéiert gëtt.
D'Astellung vun engem HTTPS-Listener erfuerdert e Zertifikat (am Idealfall vun Ärem PKI oder enger ëffentlecher CA), dat am Team Store installéiert ass a mat WinRM verbonnen ass. De Port 5986/TCP gëtt dann an der Firewall opgemaach a vum Client aus benotzt. -Benotzt SSL a Remote-Cmdlets. Fir d'Authentifikatioun vum Clientzertifikat kënnt Dir e Certificat un e lokale Kont zouweisen a verbannen mat -ZertifikatDaumenofdrock (Enter-PSSession akzeptéiert dëst net direkt; erstellt d'Sessioun als éischt mat New-PSSession.)
Den zweeten Hop an d'Delegatioun vun den Umeldungsinformatiounen
Den berühmten "Double Hop" erschéngt wann Dir, nodeems Dir Iech mat engem Server verbonnen hutt, dëse Server braucht fir op e Server zouzegräifen. drëtt Ressource an Ärem Numm (z.B. e SMB-Share). Et ginn zwou Méiglechkeeten, dëst z'erméiglechen: CredSSP an ressourcebaséiert limitéiert Kerberos-Delegatioun.
Con CredSSP Dir erméiglecht dem Client an dem Tëschepersoun, d'Umeldungsinformatiounen explizit ze delegéieren, an Dir setzt eng Politik (GPO) fir d'Delegatioun un spezifesch Computeren z'erméiglechen. Et ass séier ze konfiguréieren, awer manner sécher, well d'Umeldungsinformatiounen a Kloertext am verschlësselten Tunnel weidergeleet ginn. Limitéiert ëmmer Quellen an Destinatiounen.
Déi bevorzugt Alternativ am Domaine ass den limitéiert Kerberos-Delegatioun (ressourcebaséiert limitéiert Delegatioun) am modernen AD. Dëst erlaabt dem Endpunkt sech op d'Empfang vun der Delegatioun vum Mëttelpunkt fir spezifesch Servicer ze verloossen, sou datt Är Identitéit bei der initialer Verbindung net opgedeckt gëtt. Erfuerdert rezent Domaincontroller an en aktualiséierten RSAT.
Benotzerdefinéiert Endpunkten (Sessiounskonfiguratiounen)
Ee vun de Bijoue vum Remoting ass d'Fäegkeet, Verbindungspunkten mat ... ze registréieren personaliséiert Fäegkeeten a GrenzenAls éischt generéiert Dir eng Datei mat New-PSSessionConfigurationFile (Moduler fir virzelueden, siichtbar Funktiounen, Aliasen, ExecutionPolicy, LanguageMode, etc.), an dann registréiert Dir se mat Register-PSSessionConfiguration, wou Dir ... astelle kënnt. RunAsCredential an d'Rechter (SDDL oder GUI-Interface mat -ShowSecurityDescriptorUI).
Fir eng sécher Delegatioun, nëmmen dat Néidegst mat -VisibleCmdlets/-VisibleFunctions aussetzen an deaktivéiert fräi Skripting wann néideg mat Sproochmodus Limitéiert Sprooch oder NoLanguage. Wann Dir FullLanguage verléisst, kéint een e Skriptblock benotzen fir net exposéiert Kommandoen opzeruffen, déi, zesumme mat RunAs, et wier e LachEntwerft dës Endpunkte mat engem feine Kamm a dokumentéiert hiren Ëmfang.
Domainen, GPOs a Groupware
An AD kënnt Dir Powershell Remoting a groussem Moossstaf mat GPO implementéieren: automatesch Konfiguratioun vu WinRM Listener erlaben, setzt de Service op Automatesch, a kreéiert d'Firewall-Ausnam. Denkt drun, datt GPOen d'Astellungen änneren, awer si schalten de Service net ëmmer direkt un; heiansdo musst Dir nei starten oder e gpupdate forcéieren.
An Aarbechtsgruppen (net-Domain), Remoting konfiguréieren mat Aktivéiert-PSRemoting, setzt TrustedHosts um Client (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) a benotzt lokal Umeldungsinformatiounen. Fir HTTPS kënnt Dir selbstsignéiert Zertifikater mounten, obwuel et recommandéiert ass eng vertrauenswierdeg CA ze benotzen an den Numm validéieren déi Dir an -ComputerName am Zertifikat benotze wäert (CN/SAN-Iwwereneestëmmung).
Schlëssel-Cmdlets a Syntax
Eng Handvoll Kommandoen decken d' 90% vun den deegleche SzenarienFir z'aktivéieren/deaktivéieren:
Enable-PSRemoting
Disable-PSRemoting
Interaktiv Sessioun 1 op 1 an eraus:
Enter-PSSession -ComputerName SEC504STUDENT
Exit-PSSession
1 bis vill, mat Parallelismus a Referenzen:
Invoke-Command -ComputerName dc01,sql02,web01 -ScriptBlock { Get-Service W32Time } -Credential $cred
Persistent Sessiounen an nei benotzen:
$s = New-PSSession -ComputerName localhost -ConfigurationName PowerShell.7
Invoke-Command -Session $s -ScriptBlock { $PSVersionTable }
Remove-PSSession $s
Testen a WinRM Nëtzlech:
Test-WSMan -ComputerName host
winrm get winrm/config
winrm enumerate winrm/config/listener
winrm quickconfig -transport:https
Praktesch Hiweiser iwwer Firewall, Netzwierk a Ports
Maacht 5985/TCP fir HTTP an 5986/TCP fir HTTPS um Zilcomputer op an op all intermediär FirewallOp Windows Clienten erstellt Enable-PSRemoting Reegele fir Domain- a privat Profiler; fir ëffentlech Profiler ass et op dat lokalt Subnetz limitéiert, ausser Dir ännert den Ëmfang mat Set-NetFirewallRule -RemoteAddress Any (e Wäert, deen Dir op Basis vun Ärem Risiko bewäerte kënnt).
Wann Dir SOAR/SIEM Integratiounen benotzt, déi Fernbefeeler ausféieren (z.B. vun XSOAR), gitt sécher datt de Server ... huet DNS-Opléisung zu den Hosts, Konnektivitéit zu 5985/5986, a Login-Adressen mat ausreechende lokalen Rechter. A verschiddene Fäll kann d'NTLM/Basic-Authentifikatioun Upassunge verlaangen (z.B. d'Benotzung vun engem lokalen Benotzer a Basic mat SSL).
Parameter vun der PSRemoting aktivéieren (Operatiounszesummefassung)
-Confirm freet no Bestätegung virun der Ausféierung; -Forcéiert ignoréiert d'Warnungen a maacht déi néideg Ännerungen; -SkipNetworkProfileCheck aktivéiert Remoting op ëffentleche Clientnetzwierker (standardméisseg limitéiert op dat lokalt Subnetz); -WhatIf weist Iech wat ouni d'Ännerunge géif geschéien. Zousätzlech ënnerstëtzt et, wéi all Standard-Cmdlet, gemeinsam Parameteren (-Verbose, -ErrorAction, etc.).
Denkt drun, datt "Enable" keng HTTPS-Listener oder Zertifikater fir Iech erstellt; wann Dir vun Ufank un eng End-to-End-Verschlësselung an eng Authentifikatioun baséiert op ... braucht. Certificaten, konfiguréiert den HTTPS-Lauschterer a validéiert CN/SAN géint den Numm, deen Dir an -ComputerName benotze wäert.
Nëtzlech WinRM- a PowerShell-Remoting-Kommandoen
E puer essentiell Saachen um Bett fir den Alldag:
winrm get winrm/config
winrm enumerate winrm/config/listener
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any
Test-WSMan -ComputerName host -Authentication Default -Credential (Get-Credential)
New-PSSession -ComputerName host
Enter-PSSession -ComputerName host
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Wann Dir Windows a groussem Ëmfang verwaltet, erlaabt Iech Remoting, vu "Computer-zu-Computer" op eng deklarativ a sécher Approche ze wiesselen. Duerch d'Kombinatioun vu persistenten Sessiounen, staarker Authentifikatioun (Kerberos/HTTPS), limitéierten Endpunkten a kloeren Traces fir Diagnostik, Dir gewënnt Geschwindegkeet a Kontroll ouni op Sécherheet oder Auditing opzeginn. Wann Dir och d'GPO-Aktivéierung standardiséiert a speziell Fäll beherrscht (TrustedHosts, Double Hop, Zertifikater), hutt Dir eng solid Fernplattform fir den deeglechen Operatiounen an d'Reaktioun op Incidenter.
Redakter spezialiséiert op Technologie an Internet Themen mat méi wéi zéng Joer Erfahrung a verschiddenen digitale Medien. Ech hunn als Editeur an Inhaltscreator fir E-Commerce, Kommunikatioun, Online Marketing a Werbefirmen geschafft. Ech hunn och op Wirtschaft, Finanzen an aner Secteuren Websäite geschriwwen. Meng Aarbecht ass och meng Leidenschaft. Elo, duerch meng Artikelen an Tecnobits, Ech probéieren all Neiegkeeten an nei Méiglechkeeten ze entdecken, déi d'Welt vun der Technologie eis all Dag bitt fir eist Liewen ze verbesseren.