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).
Enable-PSRemoting -Force
-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
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žite
Invoke-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ť.