Skip to main content

Ako spustiť príkazy PowerShell na vzdialených počítačoch

Ako spustiť príkazy PowerShell na vzdialených počítačoch

Geoffrey Carr

Funkcia PowerShell Remoting umožňuje spustiť príkazy PowerShell alebo pristupovať k úplným reláciám PowerShell na vzdialených systémoch Windows. Je to podobné ako SSH pre prístup k vzdialeným terminálom v iných operačných systémoch.

Funkcia PowerShell je predvolene uzamknutá, takže pred jej použitím musíte povoliť odpojenie PowerShell Remoting. Tento proces nastavenia je o niečo zložitejší, ak používate pracovnú skupinu namiesto domény - napríklad v domácej sieti -, ale my vás budeme prechádzať.

Aktivujte funkciu Removing PowerShell na počítači, ktorý chcete vzdialene pristupovať

Prvým krokom je povolenie odpojenia PowerShell Remoting na počítači, ku ktorému chcete vytvoriť vzdialené pripojenia. Na tomto počítači budete musieť otvoriť PowerShell s oprávneniami správcu.

V systéme Windows 10 stlačte Windows + X a z ponuky Power User zvoľte PowerShell (Admin).

V systéme Windows 7 alebo 8 kliknite na tlačidlo Štart a potom napíšte "powerhell". Kliknite pravým tlačidlom myši na výsledok a zvoľte "Spustiť ako správca".

V okne PowerShell napíšte nasledujúci cmdlet (názov PowerShell pre príkaz) a potom stlačte kláves Enter:

Enable-PSRemoting -Force

Tento príkaz spustí službu WinRM, nastaví ju na spustenie automaticky so systémom a vytvorí pravidlo brány firewall, ktoré umožňuje prichádzajúce pripojenia.-Force časť programu cmdlet hovorí spoločnosti PowerShell o vykonaní týchto krokov bez toho, aby vás vyzvala na každý krok.

Ak sú vaše počítače časťou domény, je to všetko nastavenie, ktoré musíte vykonať. Môžete preskočiť dopredu na testovanie vášho spojenia. Ak sú vaše počítače súčasťou pracovnej skupiny, ktorú pravdepodobne máte v domácej sieti alebo v sieti malých firiem, máte oveľa viac práce na inštalácii.

Poznámka: Váš úspech pri nastavovaní remoting v prostredí domény závisí úplne od nastavenia vašej siete. Remoting môže byť deaktivovaný - alebo dokonca povolený - automaticky podľa skupinovej politiky nakonfigurovanej administrátorom. Pravdepodobne nemáte povolenia, ktoré potrebujete na spustenie aplikácie PowerShell ako správca. Ako vždy, skôr ako vyskúšate niečo také, kontaktujte administrátorov. Môžu mať dobré dôvody, prečo neumožňujú praxi, alebo by mohli byť ochotní ju nastaviť pre vás.

Nastavte svoju pracovnú skupinu

Ak vaše počítače nie sú v doméne, musíte vykonať ešte pár krokov, aby ste nastavili veci. Mali ste už povoliť Remoting na počítači, ku ktorému sa chcete pripojiť, ako sme opísali v predchádzajúcej časti.

Poznámka: Aby funkcia PowerShell Remoting fungovala v prostredí pracovnej skupiny, musíte nakonfigurovať sieť ako súkromnú, nie verejnú sieť. Viac informácií o rozdiele - a ako sa môžete zmeniť na privátnu sieť, ak už máte verejnú sieť - si pozrite náš sprievodca na súkromných a verejných sieťach.

Ďalej je potrebné nakonfigurovať nastavenie TrustedHosts na počítači, ku ktorému sa chcete pripojiťa počítača (alebo počítača), z ktorého sa chcete pripojiť, aby sa počítače navzájom dôverovali. Môžete to urobiť jedným z dvoch spôsobov.

Ak ste v domácej sieti, kde chcete pokračovať a dôverovať akémukoľvek vzdialenému pripojeniu k počítaču, môžete napísať nasledujúci cmdlet do programu PowerShell (znova budete musieť spustiť ako správcu).

Set-Item wsman:localhostclient rustedhosts *

Hviezdička je zástupný symbol pre všetky počítače. Ak chcete namiesto toho obmedziť počítače, ktoré sa môžu pripojiť, môžete hviezdičku nahradiť zoznamom adries IP alebo názvov počítačov oddelených čiarkou pre schválené počítače.

Po spustení príkazu budete musieť reštartovať službu WinRM, aby sa vaše nové nastavenia prejavili. Zadajte nasledujúci cmdlet a potom stlačte kláves Enter:

Restart-Service WinRM

A pamätajte, budete musieť spustiť tieto dve cmdlety na PC, ku ktorému sa chcete pripojiť, rovnako ako na všetkých počítačoch, z ktorých sa chcete pripojiť.

Otestujte pripojenie

Teraz, keď máte počítače nastavené na odpojenie PowerShell Remoting, je čas na otestovanie pripojenia. Na počítači, z ktorého chcete získať prístup k vzdialenému systému, zadajte nasledujúci cmdlet do PowerShell (nahradenie "COMPUTER" názvom alebo adresou IP vzdialeného počítača) a potom stlačte kláves Enter:

Test-WsMan COMPUTER

Tento jednoduchý príkaz testuje, či služba WinRM beží na vzdialenom počítači. Ak sa úspešne dokončí, uvidíte informácie o službe WinRM vzdialeného počítača v okne, čo signalizuje, že WinRM je povolený a váš počítač môže komunikovať. Ak príkaz zlyhá, zobrazí sa namiesto neho chybová správa.

Vykonajte jediné diaľkové ovládanie

Ak chcete spustiť príkaz na vzdialenom systéme, použiteInvoke-Command cmdlet pomocou nasledujúcej syntaxe:

Invoke-Command -ComputerName COMPUTER -ScriptBlock { COMMAND } -credential USERNAME

"COMPUTER" predstavuje názov alebo IP adresu vzdialeného počítača. "COMMAND" je príkaz, ktorý chcete spustiť. "USERNAME" je užívateľské meno, ktoré chcete spustiť ako vo vzdialenom počítači. Zobrazí sa výzva na zadanie hesla pre používateľské meno.

Tu je príklad. Chcem zobraziť obsah adresára C: na vzdialenom počítači s adresou IP 10.0.0.22. Chcem použiť používateľské meno "wjgle", preto by som použil nasledujúci príkaz:

Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock { Get-ChildItem C: } -credential wjgle

Spustite vzdialenú reláciu

Ak máte niekoľko rutín, ktoré chcete spustiť na vzdialenom počítači, namiesto toho, aby ste opakovane písali cmdlet Invoke-Command a vzdialenú adresu IP, môžete namiesto toho spustiť vzdialenú reláciu. Stačí zadať nasledujúci cmdlet a potom stlačiť kláves Enter:

Enter-PSSession -ComputerName COMPUTER -Credential USER

Opäť nahraďte "COMPUTER" názvom alebo adresou IP vzdialeného počítača a nahraďte "USER" názvom používateľského účtu, ktorý chcete spustiť.

Vaša výzva sa zmení na označenie vzdialeného počítača, ku ktorému ste pripojení, a môžete vykonať ľubovoľný počet pultov PowerShell priamo na vzdialenom systéme.

Link
Plus
Send
Send
Pin