Pokud administrujete počítače v rámci větší počítačové infrastruktury, tak jste již určitě potřebovali řešit, jak spustit na vzdáleném počítači příkaz.
Pro tuto možnost Windows mají k dispozici WinRM (Windows Remote Management Service).
Ve výchozím nastavení je tato služba vypnuta. Stav této služby můžete zjistit příkazem.
get-service winrm | flnebo
get-service winrm
Když vidíme, že je služba vypnuta, tak tuto službu zapnete tímto příkazem:
Enable-PSRemoting -Force
PowerShell WinRM používá TCP porty HTTP (5985) a HTTPS (5986) pro síťovou komunikaci. V případě, že máte vyšší restrikce na datové síti, tak je zapotřebí tyto porty na firewallu povolit.
Set-Item wsman:\localhost\Client\TrustedHosts -value 10.0.2.10
nebo
Set-Item wsman:\localhost\Client\TrustedHosts *
Po nastavení důvěry je nutné službu WinRM restartovat. To provedeme příkazem
Restart-Service WinRM
Nyní můžeme vyzkoušet, zda je komunikace dostupná.
Pokud je vše v pořádku, můžeme se začít vzdáleně spouštět příkazy.
Příkazy buďto můžeme spouštět jednorázové, kdy se naváže spojení, vykoná se příkaz a pak se spojení ukončí.
Invoke-Command -ComputerName 10.0.2.10 -ScriptBlock { Get-ChildItem C:\ } -credential Administrator
Pomocí příkazu
Enter-PSSession COMPUTERmůžeme vzdáleně otevřít PowerShell konzoli a spouště příkazy, jako bychom je spouštěli na lokálním počítači. Pro ukončení spojení napíšeme
Exit nebo Exit-PSSession
Tento způsob vzdálené správy je velmi zajímavý. Protože PowerShell je opravdu mocný pomocník, tak lze bez nadsázky říci, že s tímto přístupem máte vzdálený počítač zcela k dispozici. Což může být zároveň také bezpečnostním rizikem. Právě proto je tato služba ve výchozím stavu vypnutá. Každopádně v případě, že máme dobře nastavené zabezpečení, tak vám tato služba může velmi dobře posloužit.
Leave a Reply