Cara Menjalankan Perintah PowerShell pada Komputer Jauh
PowerShell Remoting membolehkan anda menjalankan arahan PowerShell atau mengakses sesi PowerShell penuh pada sistem Windows jauh. Ia sama dengan SSH untuk mengakses terminal jauh pada sistem operasi lain.
PowerShell dikunci secara lalai, jadi anda perlu mendayakan PowerShell Remoting sebelum menggunakannya. Proses persediaan ini sedikit lebih rumit jika anda menggunakan kumpulan kerja dan bukan domain-contohnya, di rangkaian rumah-tetapi kami akan membimbing anda meneruskannya.
Dayakan PowerShell Remoting pada PC Anda Ingin Akses dari jauh
Langkah pertama anda adalah untuk mengaktifkan Remoting PowerShell pada PC yang mana anda ingin membuat sambungan jauh. Pada PC itu, anda perlu membuka PowerShell dengan keistimewaan pentadbiran.
Dalam Windows 10, tekan Windows + X dan kemudian pilih PowerShell (Admin) dari menu Pengguna Kuasa.
Di Windows 7 atau 8, tekan Start, kemudian ketik "powershell." Klik kanan hasilnya dan pilih "Run as administrator."
Dalam tetingkap PowerShell, ketik cmdlet berikut (nama PowerShell untuk arahan), dan kemudian tekan Enter:
Enable-PSRemoting -Force
Perintah ini memulakan perkhidmatan WinRM, menetapkannya untuk memulakan secara automatik dengan sistem anda, dan membuat peraturan firewall yang membolehkan sambungan masuk. The -Pasukan
sebahagian daripada cmdlet memberitahu PowerShell untuk melakukan tindakan ini tanpa mendorong anda untuk setiap langkah.
Jika PC anda adalah sebahagian daripada domain, itu semua persediaan yang perlu anda lakukan. Anda boleh melangkau ke hadapan untuk menguji sambungan anda. Jika komputer anda adalah sebahagian daripada kumpulan kerja-yang mungkin mereka berada di rumah atau rangkaian perniagaan kecil-anda mempunyai kerja persediaan yang lebih sedikit untuk dilakukan.
Nota: Kejayaan anda dalam menyediakan remoting dalam persekitaran domain bergantung sepenuhnya pada persediaan rangkaian anda. Remoting mungkin dinyahdayakan-atau bahkan diaktifkan-secara automatik oleh dasar kumpulan yang dikonfigurasi oleh admin. Anda juga mungkin tidak mempunyai keizinan yang anda perlukan untuk menjalankan PowerShell sebagai pentadbir. Seperti biasa, periksa dengan admin anda sebelum anda mencuba sesuatu seperti ini. Mereka mungkin mempunyai sebab yang baik kerana tidak membenarkan amalan ini, atau mereka mungkin bersedia untuk menetapkannya untuk anda.
Sediakan kumpulan kerja anda
Jika komputer anda tidak berada di domain, anda perlu melakukan beberapa langkah lagi untuk mendapatkan perkara yang ditetapkan. Anda sepatutnya telah mendayakan Remoting pada PC yang anda mahu sambungkan, seperti yang kita nyatakan di bahagian sebelumnya.
Nota: Untuk Remoting PowerShell untuk berfungsi dalam persekitaran kerja kumpulan kerja, anda mesti mengkonfigurasi rangkaian anda sebagai rangkaian peribadi, bukan awam, Untuk lebih banyak perbezaannya-dan bagaimana untuk menukar ke rangkaian persendirian jika anda sudah mempunyai rangkaian awam yang disediakan-periksa panduan kami di rangkaian swasta dan awam.
Seterusnya, anda perlu mengkonfigurasi tetapan TrustedHosts pada kedua-dua PC yang anda mahu sambungkan dan PC (atau PC) yang anda mahu sambungkan, jadi komputer akan mempercayai satu sama lain. Anda boleh melakukan ini dalam salah satu daripada dua cara.
Jika anda berada di rangkaian rumah di mana anda mahu meneruskan dan mempercayai mana-mana PC untuk menyambung dari jauh, anda boleh menaip cmdlet berikut dalam PowerShell (sekali lagi, anda perlu menjalankannya sebagai Pentadbir).
Set-Item wsman: \ localhost \ client \ trustedhosts *
Asterisk adalah simbol wildcard untuk semua PC. Sekiranya anda mahu menyekat komputer yang boleh disambungkan, anda boleh menggantikan asterisk dengan senarai alamat IP atau nama komputer yang dipisahkan koma untuk PC yang diluluskan.
Selepas menjalankan arahan itu, anda perlu memulakan semula perkhidmatan WinRM supaya tetapan baru anda berkuatkuasa. Taip cmdlet berikut dan tekan Enter:
Restart-Service WinRM
Dan ingatlah, anda perlu menjalankan kedua-dua cmdlet tersebut pada PC yang anda hendak sambung, serta pada mana-mana PC yang anda mahu sambungkan dari.
Uji Sambungan
Sekarang bahawa anda mempunyai PC anda yang disediakan untuk PowerShell Remoting, sudah tiba masanya untuk menguji sambungan. Di PC anda mahu mengakses sistem jauh dari, ketik cmdlet berikut ke dalam PowerShell (menggantikan "KOMPUTER" dengan nama atau alamat IP PC jauh), kemudian tekan Enter:
Test-WsMan COMPUTER
Perintah mudah ini menguji sama ada perkhidmatan WinRM dijalankan pada PC jauh. Jika ia berjaya dilaksanakan, anda akan melihat maklumat mengenai perkhidmatan WinRM komputer jauh di tetingkap yang menandakan bahawa WinRM diaktifkan dan PC anda boleh berkomunikasi. Jika arahan gagal, anda akan melihat mesej ralat sebaliknya.
Jalankan Perintah Jauh Tunggal
Untuk menjalankan arahan pada sistem jauh, gunakan Memohon-perintah
cmdlet menggunakan sintaks berikut:
Invoke-Command-ComputerCommerce COMPUTER -ScriptBlock COMMAND -EFFICIAL USERNAME
"COMPUTER" mewakili nama PC jauh atau alamat IP. "COMMAND" adalah arahan yang anda mahu jalankan. "USERNAME" ialah nama pengguna yang ingin anda jalankan seperti pada komputer jauh. Anda akan diminta memasukkan kata laluan untuk nama pengguna.
Contohnya. Saya ingin melihat kandungan direktori C: \ pada komputer jauh dengan alamat IP 10.0.0.22. Saya mahu menggunakan nama pengguna "wjgle," jadi saya akan menggunakan arahan berikut:
Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock Get-ChildItem C: \ -differential wjgle
Mulakan Sesi Jauh
Sekiranya anda mempunyai beberapa cmdlet yang anda mahu jalankan pada PC jauh, bukannya menaip cmdlet Invoke-Command dan alamat IP jarak jauh, anda boleh memulakan sesi jauh. Cukup ketik cmdlet berikut dan kemudian tekan Enter:
Enter-PSSession -ComputerName COMPUTER-USER -Credential
Sekali lagi, gantikan "KOMPUTER" dengan nama atau alamat IP PC jauh dan gantikan "USER" dengan nama akaun pengguna yang ingin anda panggil.
Perubahan segera anda untuk menunjukkan komputer jauh yang anda sambungkan, dan anda boleh melaksanakan sejumlah cmdlet PowerShell secara langsung pada sistem jauh.