Apa itu Runspaces di Windows PowerShell 2.0?

14

Hari ini saya mendengarkan podcast HanselMinutes tentang PowerShell 2.0 . Scott Hanselman mewawancarai Hal Rottenberg dan Kirk Munro di TechEd 2009.

Mereka berbicara tentang RunSpaces di PowerShell 2.0. Adakah yang bisa menjelaskan konsep di belakang mereka dan memberikan beberapa case use (contoh)?

Terima kasih!

percikan
sumber

Jawaban:

17

Runspace adalah contoh spesifik PowerShell yang berisi koleksi perintah, penyedia, variabel, fungsi, dan elemen bahasa yang dapat DIUBAH yang tersedia untuk pengguna baris perintah (atau lebih umum, ke aplikasi "host").

Secara umum, Runspaces adalah topik pengembang . Jika Anda berada di baris perintah, Anda hanya dapat memodifikasinya dengan memodifikasi sesi Anda , dan jika Anda adalah pengguna baris perintah yang khas, Anda bahkan tidak akan benar-benar mengetahui Sesi kecuali ketika Anda menggunakannya untuk menghubungkan dari jarak jauh ke komputer lain. Namun, setiap sesi memiliki Runspace terkait (atau RunspacePool ) yang mengontrol apa yang tersedia untuk Anda, dan dimungkinkan untuk membuat runspace "terbatas" untuk hanya memberikan pengguna akses ke perintah tertentu dan bukan yang lain ....

Di PowerShell 2.0 Anda menggunakan kelas RunspaceFactory untuk membuat Runspace atau RunspacePool. Anda dapat membaca lebih lanjut tentang Runspaces di MSDN

Jaykul
sumber
3

Runspace powershell secara efektif merupakan contoh terisolasi dari runtime powershell, dalam pemahaman saya dengan cara apa pun.

Baru-baru ini saya memiliki beberapa pengalaman menggunakan runshaces PowerShell di dalam aplikasi web, untuk menyediakan beberapa fitur administrasi melalui antarmuka web. Secara khusus itu memungkinkan banyak pengguna untuk menggunakan aplikasi pada saat yang sama, tanpa mempengaruhi satu sama lain.

Sam Cogan
sumber
3

Runshace PowerShell adalah istilah usang. Mereka menggunakan sesi PowerShell (PSSession) sekarang. Saya akan merekomendasikan memulai dengan about_PSSessions topik bantuan.

aleksandar
sumber
Posting ini memiliki sedikit lebih lanjut tentang ini: obscure-powershell-tidbits.blogspot.com/2008/12/…
squillman
4
Ini tidak benar . Mereka mengganti nama Cmdlet karena Cmdlet awalnya tidak akurat namanya: mereka membuat sesi, yang mungkin atau mungkin tidak membuat Runspace baru;) Tetapi konsep yang mendasari Runspace dan Session belum berubah.
Jaykul