Wéi Dir Äre PC vun Ärem Handy mat PowerShell Remoting steiert

Leschten Update: 15/10/2025

  • 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.
PowerShell Remoting

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.

PowerShell Remoting Architektur

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).

Exklusiv Inhalt - Klickt hei  Global Alarm fir eng kritesch Schwachstelle a Google Chrome: wat Dir wësse musst a wéi Dir Iech schützt

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.

Fernseessioun mat PowerShell

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.

Exklusiv Inhalt - Klickt hei  Wéi vermeit Dir Schued un Äre Fichier?

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.

Exklusiv Inhalt - Klickt hei  Wéi benotzen ech Norton Mobile Security?

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.

onsichtbar Malware
Verbonnen Artikel:
Wéi Dir Äre PC virun onsichtbarer Malware wéi XWorm an NotDoor schützt