Domača » kako » Kako zagnati ukaze PowerShell na oddaljenih računalnikih

    Kako zagnati ukaze PowerShell na oddaljenih računalnikih

    PowerShell Remoting vam omogoča zagon ukazov PowerShell ali dostop do polnih sej PowerShell na oddaljenih sistemih Windows. Podoben je SSH za dostop do oddaljenih terminalov v drugih operacijskih sistemih.

    PowerShell je privzeto zaklenjen, tako da boste morali pred uporabo uporabiti PowerShell Remoting. Ta postopek namestitve je nekoliko bolj zapleten, če namesto domene uporabljate delovno skupino, na primer v domačem omrežju, vendar vas bomo vodili skozi to.

    V računalniku, ki ga želite oddaljeno dostopati, omogočite možnost PowerShell Remoting

    Prvi korak je omogočiti PowerShell Remoting v računalniku, na katerega želite vzpostaviti oddaljene povezave. Na tem računalniku boste morali odpreti PowerShell s skrbniškimi pravicami.

    V operacijskem sistemu Windows 10 pritisnite Windows + X in nato v meniju Power User (Uporabnik) izberite PowerShell (Admin).

    V operacijskem sistemu Windows 7 ali 8 pritisnite Start in vnesite »powershell«. Z desno tipko miške kliknite rezultat in izberite »Zaženi kot skrbnik«.

    V oknu PowerShell vnesite naslednjo ukazno vrstico (ime ukaza PowerShell za ukaz) in nato pritisnite Enter:

    Omogoči PSRemoting-Force

    Ta ukaz zažene storitev WinRM, jo nastavi samodejno z vašim sistemom in ustvari pravilo požarnega zidu, ki omogoča dohodne povezave. The -Sila del ukaza »cmdlet« pove PowerShell, da izvede ta dejanja, ne da bi vas vprašal za vsak korak.

    Če so vaši računalniki del domene, je to vse, kar morate narediti. Lahko preskočite naprej, da preizkusite svojo povezavo. Če so vaši računalniki del delovne skupine, ki jih verjetno imajo v domači ali majhni poslovni mreži, morate narediti še nekaj namestitvenega dela..

    Opomba: Vaš uspeh pri nastavljanju oddaljenega delovanja v domenskem okolju je v celoti odvisen od nastavitve vašega omrežja. Daljinsko upravljanje je morda onemogočeno - ali celo omogočeno - samodejno s pravilnikom skupine, ki ga konfigurira skrbnik Morda tudi ne boste imeli dovoljenj, ki jih potrebujete za zagon PowerShell kot skrbnika. Kot vedno se posvetujte s svojimi skrbniki, preden poskusite kaj takega. Morda imajo dobre razloge, zakaj ne dovolijo prakse, ali pa so morda pripravljeni za vas.

    Nastavite svojo delovno skupino

    Če vaši računalniki niso v domeni, morate izvesti še nekaj korakov, da se stvari vzpostavijo. Morali ste že omogočiti Remoting na računalniku, na katerega se želite povezati, kot smo opisali v prejšnjem razdelku.

    Opomba: Če želite, da PowerShell Remoting deluje v okolju delovne skupine, morate omrežje konfigurirati kot zasebno, ne javno omrežje. Za več informacij o razlikah in o tem, kako spremeniti zasebno omrežje, če že imate javno omrežje, si oglejte naš vodnik o zasebnih in javnih omrežjih..

    Nato morate konfigurirati nastavitev TrustedHosts na obeh računalnikih, na katere želite vzpostaviti povezavo in računalnik (ali osebne računalnike), s katerega želite vzpostaviti povezavo, tako da bodo računalniki zaupali drug drugemu. To lahko storite na dva načina.

    Če ste v domačem omrežju, kjer želite nadaljevati in zaupati kateremukoli računalniku za oddaljeno povezavo, lahko v PowerShell vnesete naslednjo ukazno vrstico (znova jo morate zagnati kot skrbnika).

    Set-postavka wsman: localhost odjemalec \ t

    Zvezdica je nadomestni znak za vse osebne računalnike. Če želite namesto tega omejiti računalnike, ki se lahko povežejo, lahko zvezdico zamenjate s seznamom naslovov IP ali imeni računalnikov, ki so ločeni z vejico, za odobrene osebne računalnike.

    Ko zaženete ta ukaz, boste morali znova zagnati storitev WinRM, da bodo nove nastavitve začele veljati. Vnesite naslednjo ukazno vrstico in nato pritisnite Enter:

    Znova zaženite storitev WinRM

    Zapomnite si, da boste morali zagnati ta dva cmdleta na osebnem računalniku, na katerega se želite povezati, in na vseh računalnikih, s katerimi želite vzpostaviti povezavo..

    Preverite povezavo

    Zdaj, ko so vaši osebni računalniki nastavljeni za oddajanje PowerShell, je čas za testiranje povezave. V računalniku, iz katerega želite dostopati do oddaljenega sistema, vnesite naslednjo ukazno vrstico v PowerShell (zamenjajte »COMPUTER« z imenom ali IP naslovom oddaljenega računalnika) in nato pritisnite Enter:

    Test-WSMan COMPUTER

    Ta preprost ukaz preveri, ali se storitev WinRM izvaja na oddaljenem računalniku. Če se uspešno zaključi, boste videli informacije o storitvi WinRM oddaljenega računalnika v oknu, ki označuje, da je WinRM omogočen in da vaš računalnik lahko komunicira. Če ukaz ne uspe, se namesto tega prikaže sporočilo o napaki.

    Izvedite en daljinski ukaz

    Če želite zagnati ukaz v oddaljenem sistemu, uporabite Invoke-Command cmdlet z naslednjo skladnjo:

    Invoke-Command -ComputerName COMPUTER -ScriptBlock COMMAND -Kredentna USERNAME

    »COMPUTER« predstavlja ime oddaljenega računalnika ali naslov IP. »COMMAND« je ukaz, ki ga želite zagnati. »USERNAME« je uporabniško ime, ki ga želite zagnati kot na oddaljenem računalniku. Boste morali vnesti geslo za uporabniško ime.

    Tukaj je primer. Želim si ogledati vsebino imenika C: na oddaljenem računalniku z naslovom IP 10.0.0.22. Želim uporabiti uporabniško ime »wjgle«, zato bom uporabil naslednji ukaz:

    Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock Get-ChildItem C: \ t

    Začnite oddaljeno sejo

    Če imate na oddaljenem računalniku več ukazov s kratkimi tipkami, ki jih želite zagnati, namesto tega, da večkrat vtipkate ukaz »cmdlet« Invoke-Command in oddaljeni naslov IP, lahko začnete oddaljeno sejo. Samo vnesite naslednjo ukazno vrstico in nato pritisnite Enter:

    Enter-PSSession -ComputerName COMPUTER-USER

    Ponovno zamenjajte »COMPUTER« z imenom ali IP naslovom oddaljenega računalnika in zamenjajte »USER« z imenom uporabniškega računa, ki ga želite priklicati.

    Vaš poziv se spremeni tako, da označuje oddaljeni računalnik, na katerega ste povezani, in na oddaljenem sistemu lahko izvedete poljubno število cmdletov PowerShell neposredno.