Jak spustit příkazy PowerShell ve vzdálených počítačích
Funkce PowerShell Remoting umožňuje spustit příkazy PowerShell nebo přistupovat k úplným relacím PowerShell ve vzdálených systémech Windows. Podobně jako SSH pro přístup ke vzdáleným terminálům v jiných operačních systémech.
PowerShell je ve výchozím nastavení uzamčen, takže před jeho použitím musíte povolit odebrání programu PowerShell Remoting. Tento proces instalace je o něco složitější, pokud používáte pracovní skupinu namísto domény - například v domácí síti -, ale my vám to projdeme.
Aktivace odebrání programu PowerShell na počítači, který chcete vzdáleně přistupovat
Váš první krok je povolit funkci PowerShell Remoting na počítači, ke kterému chcete provést vzdálené připojení. Na tomto počítači budete muset otevřít PowerShell s oprávněními pro správu.
V systému Windows 10 stiskněte klávesy Windows + X a pak vyberte položku PowerShell (Správce) v nabídce Power User.
V systémech Windows 7 nebo 8 klepněte na tlačítko Start a potom zadejte "powershell." Klepněte pravým tlačítkem myši na výsledek a vyberte možnost "Spustit jako správce".
V okně PowerShell zadejte následující příkaz cmdlet (název příkazu PowerShell) a potom stiskněte klávesu Enter:
Povolit -Presunout -Force
Tento příkaz spouští službu WinRM, nastaví ji tak, aby se spustil automaticky se systémem a vytvoří pravidlo brány firewall, které umožňuje příchozí připojení. The -Platnost
část programu cmdlet říká PowerShell provádět tyto akce bez výzvy pro každý krok.
Pokud jsou vaše počítače součástí domény, je to vše, co musíte udělat. Chcete-li otestovat připojení, můžete přeskočit předem. Pokud jsou vaše počítače součástí pracovní skupiny - což jsou pravděpodobně doma nebo v malé obchodní síti - máte ještě trochu více nastavení.
Poznámka: Váš úspěch v nastavení remoting v prostředí domény zcela závisí na nastavení vaší sítě. Remoting může být zakázán - nebo dokonce povolen - automaticky podle skupinových pravidel nakonfigurovaných správcem. Možná také nemáte oprávnění, která potřebujete ke správě PowerShell jako správce. Jako vždy se obraťte na administrátory předtím, než vyzkoušíte něco podobného. Mohly by mít dobré důvody, proč neumožňují praxi, nebo by to mohli být připraveny pro vás.
Nastavte svou pracovní skupinu
Pokud se vaše počítače nenacházejí v doméně, je třeba provést několik dalších kroků k nastavení nastavení. Měl jste již povolit Remoting na počítači, ke kterému se chcete připojit, jak jsme popsali v předchozí části.
Poznámka: Aby funkce PowerShell Remoting fungovala v prostředí pracovní skupiny, musíte nakonfigurovat síť jako soukromou, nikoli veřejnou síť. Více informací o rozdílu - a jak se změnit na privátní síť, pokud již máte nastavenou veřejnou síť - podívejte se na náš průvodce na soukromé a veřejné sítě.
Poté je třeba nakonfigurovat nastavení TrustedHosts na počítači, ke kterému se chcete připojit a PC (nebo počítače), ze kterého se chcete připojit, aby se počítače vzájemně důvěřovaly. Můžete to udělat jedním ze dvou způsobů.
Pokud jste v domácí síti, kde chcete pokračovat a důvěřovat jakémukoli vzdálenému vzdálenému připojení k počítači, můžete v programu PowerShell zkopírovat následující cmdlet (znovu je nutné jej spustit jako správce).
Nastavená položka wsman: \ localhost \ client \ trustedhosts *
Hvězdička je zástupný symbol pro všechny počítače. Pokud místo toho chcete omezit počítače, které se mohou připojit, můžete hvězdičku nahradit čárkami odděleným seznamem adres IP nebo názvy počítačů pro schválené počítače.
Po spuštění tohoto příkazu budete muset restartovat službu WinRM, aby se vaše nová nastavení projevila. Zadejte následující cmdlet a potom stiskněte klávesu Enter:
Restart-Service WinRM
A pamatujte, budete muset spustit tyto dvě cmdlety na PC, ke kterému se chcete připojit, stejně jako na všech počítačích, ze kterých se chcete připojit.
Otestujte připojení
Nyní, když máte počítače nastavené pro funkci PowerShell Remoting, je čas vyzkoušet připojení. Na počítači, ze kterého chcete přistupovat k vzdálenému systému, zadejte následující příkaz cmdlet do počítače PowerShell (nahrazením "COMPUTER" názvem nebo adresou IP vzdáleného počítače) a potom stiskněte klávesu Enter:
Test-WsMan COMPUTER
Tento jednoduchý příkaz testuje, zda je na vzdáleném počítači spuštěna služba WinRM. Pokud se úspěšně dokončí, uvidíte v okně informace o službě WinRM vzdáleného počítače, což znamená, že WinRM je povolen a vaše PC může komunikovat. Pokud se příkaz nezdaří, místo toho se zobrazí chybová zpráva.
Proveďte jediné vzdálené příkazy
Chcete-li spustit příkaz ve vzdáleném systému, použijte příkaz Invoke-Command
cmdlet pomocí následující syntaxe:
Invoke-Command -ComputerName COMPUTER -ScriptBlock COMMAND -credential USERNAME
"COMPUTER" představuje název nebo adresu IP vzdáleného počítače. "COMMAND" je příkaz, který chcete spustit. "USERNAME" je uživatelské jméno, které chcete spustit příkaz ve vzdáleném počítači. Budete vyzváni k zadání hesla pro uživatelské jméno.
Zde je příklad. Chci zobrazit obsah adresáře C: \ ve vzdáleném počítači s adresou IP 10.0.0.22. Chci použít uživatelské jméno "wjgle", takže bych použil následující příkaz:
Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock Get-ChildItem C: \ -credential wjgle
Spuštění vzdálené relace
Máte-li několik rutin, které chcete spustit na vzdáleném počítači, namísto opakovaného psaní rutinku Invoke-Command a vzdálené adresy IP můžete místo toho spustit vzdálené relaci. Stačí zadejte následující cmdlet a pak stiskněte klávesu Enter:
Enter-PSSession -ComputerName COMPUTER - Kreditní USER
Opět nahraďte "COMPUTER" názvem nebo adresou IP vzdáleného počítače a nahraďte "USER" názvem uživatelského účtu, který chcete vyvolat.
Vaše výzva se změní tak, aby indikovala vzdálený počítač, ke kterému jste připojeni, a můžete spustit libovolný počet skriptů PowerShell přímo na vzdáleném systému.