- 08/21/2020
- 3 minut číst
-
- j
- D
- c
můžete spustit příkazy na jeden nebo stovky počítačů pomocí jediného příkazu PowerShell. WindowsPowerShell podporuje vzdálené výpočty pomocí různých technologií, včetně WMI, RPC, andWS-Management.
PowerShell Core podporuje WMI, WS-Management a SSH remoting., V PowerShell 6 již není RPCPODPOROVÁNO. V PowerShell 7 a výše je RPC podporován pouze ve Windows.
Pro více informací o remoting v prostředí PowerShell Core, viz následující články:
- SSH Remoting v prostředí PowerShell Core
- WSMan Remoting v prostředí PowerShell Core
Windows PowerShell Remoting Bez Konfigurace
Mnoho rutin prostředí Windows PowerShell mít ComputerName parametr, který umožňuje sběr dat změnit nastavení na jeden nebo více vzdálených počítačů., Tyto cmdlety používají různé komunikační protokolya pracovat na všech operačních systémech Windows bez jakékoli speciální konfigurace.
Tyto rutiny patří:
- Restartovat-Počítač
- Test-Spojení
- Jasné-EventLog
- Get-EventLog
- Get-HotFix
- Proces
- Služby
- Služby
- Get-WinEvent
- Get-WmiObject
Typicky, rutin, které podporují remoting bez speciální konfigurace mají ComputerNameparameter a nemám Zasedání parametr., Najít tyto rutiny ve vaší relaci, typ:
Get-Command | where { $_.parameters.keys -contains "ComputerName" -and $_.parameters.keys -notcontains "Session"}
Windows PowerShell Remoting
Pomocí protokolu WS-Management, prostředí Windows PowerShell remoting umožňuje spustit libovolný Windows PowerShellcommand na jeden nebo více vzdálených počítačů. Můžete navázat trvalé připojení, spustit interactivesessions a spouštět skripty na vzdálených počítačích.
Chcete-li používat Windows PowerShell remoting, musí být vzdálený počítač nakonfigurován pro vzdálenou správu.Další informace, včetně pokynů, naleznete v části vzdálené požadavky.,
jakmile jste nakonfigurovali Windows PowerShell remoting, mnoho remoting strategie jsou k dispozici pro vás.Tento článek uvádí jen několik z nich. Pro více informací, viz o dálkovém ovladači.
spusťte interaktivní relaci
Chcete-li zahájit interaktivní relaci pomocí jediného vzdáleného počítače, použijte Enter-PSSessioncmdlet. Například, začít interaktivní relaci s Server01 vzdáleného počítače, zadejte:
Enter-PSSession Server01
Na příkazovém řádku změny se zobrazí název vzdáleného počítače., Všechny příkazy, které zadáte napředpráva běží na vzdáleném počítači a výsledky se zobrazí v místním počítači.
Na konci interaktivní relaci, typ:
Exit-PSSession
Pro více informací o Enter-PSSession a Exit-PSSession rutin, viz:
- Enter-PSSession
- Konec-PSSession
Spuštění Vzdáleného Příkazu
Chcete-li spustit příkaz na jeden nebo více počítačů, použijte Invoke-Commandcmdlet., Například, spustit Get-UICulturecommand na Server01 a Server02 vzdáleného počítače, zadejte:
Invoke-Command -ComputerName Server01, Server02 -ScriptBlock {Get-UICulture}
výstup je vrácen do svého počítače.
spusťte skript
Chcete-li spustit skript na jednom nebo mnoha vzdálených počítačích, použijte parametr FilePath Invoke-Command
cmdlet. Skript musí být zapnutý nebo přístupný místnímu počítači. Výsledky jsou vráceny do vašehomístní počítač.
například následující příkaz spustí DiskCollect.ps1 skript na vzdálených počítačích, Server01and Server02.,
Invoke-Command -ComputerName Server01, Server02 -FilePath c:\Scripts\DiskCollect.ps1
Vytvořit Trvalé Připojení
Použití New-PSSession
cmdlet k vytvoření trvalé sezení na vzdáleném počítači. Následujícípříklad vytváří vzdálené relace na Server01 a Server02. Objekty relace jsou uloženy v proměnné $s
.
$s = New-PSSession -ComputerName Server01, Server02
nyní, když jsou relace vytvořeny, můžete v nich spustit libovolný příkaz. A protože relace jsoutrvalé, můžete sbírat data z jednoho příkazu a použít je v jiném příkazu.,
například následující příkaz spustí příkaz Get-HotFix v relacích v proměnné $s a uloží výsledky do proměnné $h. Proměnná $h je vytvořena v každé relaci v $s, ale v místní relaci neexistuje.
Invoke-Command -Session $s {$h = Get-HotFix}
Nyní můžete použít data v $h
proměnné s jinými příkazy ve stejné relaci. Výsledky jsou zobrazeny v místním počítači. Například:
Invoke-Command -Session $s {$h | where {$_.InstalledBy -ne "NTAUTHORITY\SYSTEM"}}
Advanced Remoting
Windows PowerShell remote management právě začíná zde., Pomocí rutin nainstalován s WindowsPowerShell, můžete vytvořit a nakonfigurovat vzdálené relace a to jak z místních a vzdálených konců,vytvořit vlastní a omezené relací, umožňují uživatelům importovat příkazy ze vzdáleného zasedání tohle vlastně běží implicitně na vzdálené relace, konfigurovat zabezpečení vzdálené relace, a mocvíce.
Windows PowerShell obsahuje poskytovatele WSMan. Poskytovatel vytvoří WSMAN:
disk, který umožňuje younavigate prostřednictvím hierarchie konfigurace nastavení v místním počítači a vzdálených počítačů.,
Pro více informací o WSMan poskytovatele, seeWSMan Poskytovatele a taky WS-Management Rutiny,nebo v konzole prostředí Windows PowerShell, zadejte Get-Help wsman
.
Pro více informací, viz:
- O Dálkové FAQ
- Registrace-PSSessionConfiguration
- Import-PSSession
Pro pomoc s remoting chyby, viz about_Remote_Troubleshooting.,
Viz Také
- about_Remote
- about_Remote_FAQ
- about_Remote_Requirements
- about_Remote_Troubleshooting
- about_PSSessions
- about_WS-Management_Cmdlets
- Invoke-Command
- Import-PSSession
- New-PSSession
- Registr-PSSessionConfiguration
- WSMan Poskytovatele