Úvodná » ako » Ako spustiť príkazy PowerShell na vzdialených počítačoch

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

    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 budete musieť povoliť odpojenie PowerShell Remoting. Tento proces inštalácie je o niečo zložitejší, ak používate pracovnú skupinu namiesto domény - napríklad v domácej sieti -, ale prejdeme vám ju.

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

    Váš prvý krok je povoliť odpojenie 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 klávesy 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 zadajte príkaz "powershell". Kliknite pravým tlačidlom myši na výsledok a zvoľte "Spustiť ako správca".

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

    Povoliť-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. -sila časť programu cmdlet hovorí spoločnosti PowerShell o vykonaní týchto krokov bez toho, aby vás na každý krok vyzvala.

    Ak sú vaše počítače súčasťou domény, je to všetko, čo musíte urobiť. Môžete preskočiť dopredu na testovanie spojenia. Ak sú vaše počítače súčasťou pracovnej skupiny - ktorú pravdepodobne žije 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. Možno tiež nemáte povolenia, ktoré potrebujete na spustenie 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 to nepovolili, alebo by to mohli byť ochotní 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: Ak chcete, 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 nastavenú verejnú sieť - pozrite si 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č (alebo počítače), 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).

    Nastavená položka wsman: \ localhost \ client \ trustedhosts *

    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é nastavenie prejavilo. Zadajte nasledujúci cmdlet a potom stlačte kláves Enter:

    Reštartujte službu WinRM

    A nezabudnite, budete musieť spustiť tieto dve cmdlety na počítači, 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 otestovať pripojenie. 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 je služba WinRM spustená 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 znamená, že WinRM je povolený a váš počítač môže komunikovať. Ak príkaz zlyhá, zobrazí sa namiesto neho chybové hlásenie.

    Vykonajte jediné diaľkové ovládanie

    Ak chcete spustiť príkaz na vzdialenom systéme, použite Vyvolať-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 použí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 napísali rutinu 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 - vertikálny 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 použiť.

    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.