Runspaces ใน Windows PowerShell 2.0 คืออะไร


14

วันนี้ผมฟังHanselminutesพอดคาสต์เกี่ยวกับPowerShell 2.0 Scott Hanselman สัมภาษณ์ Hal Rottenberg และ Kirk Munro ในงาน TechEd 2009

พวกเขาพูดคุยเกี่ยวกับRunSpacesใน PowerShell 2.0 ใครช่วยอธิบายแนวคิดที่อยู่เบื้องหลังพวกเขาและยกตัวอย่างการใช้งานหรือตัวอย่าง

ขอบคุณ!

คำตอบ:


17

Runspace เป็นอินสแตนซ์เฉพาะของ PowerShell ซึ่งมีชุดคำสั่งผู้ให้บริการตัวแปรฟังก์ชั่นและองค์ประกอบภาษาที่สามารถแก้ไขได้ที่ผู้ใช้บรรทัดคำสั่ง (หรือโดยทั่วไปมากกว่าสำหรับแอปพลิเคชั่น "host")

โดยทั่วไปแล้ว Runspaces เป็นหัวข้อนักพัฒนาซอฟต์แวร์ หากคุณอยู่ในบรรทัดคำสั่งคุณสามารถแก้ไขได้โดยการปรับเปลี่ยนเซสชันของคุณและหากคุณเป็นผู้ใช้บรรทัดคำสั่งทั่วไปคุณจะไม่ได้รับรู้ถึง Sessions จริงๆยกเว้นเมื่อคุณใช้เพื่อเชื่อมต่อจากระยะไกล ไปยังคอมพิวเตอร์เครื่องอื่น อย่างไรก็ตามแต่ละเซสชั่นมีRunspace ที่เกี่ยวข้อง(หรือRunspacePool ) ที่ควบคุมสิ่งที่มีอยู่สำหรับคุณและเป็นไปได้ที่จะสร้าง runspaces "ที่มีข้อ จำกัด " เพื่อให้ผู้ใช้สามารถเข้าถึงคำสั่งบางอย่างเท่านั้น

ใน PowerShell 2.0 คุณใช้คลาสRunspaceFactoryเพื่อสร้าง Runspaces หรือ RunspacePool คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ Runspaces บน MSDN


3

Powerspace Runspace เป็นอินสแตนซ์ที่แยกได้อย่างมีประสิทธิภาพของ PowerShell Runtime ในการทำความเข้าใจของฉัน แต่อย่างใด

ฉันเพิ่งมีประสบการณ์การใช้ PowerShell runspaces ภายในเว็บแอปพลิเคชั่นเพื่อมอบฟีเจอร์การจัดการบางอย่างผ่านทางเว็บอินเตอร์เฟส โดยเฉพาะอย่างยิ่งมันอนุญาตให้ผู้ใช้หลายคนใช้แอพพลิเคชั่นในเวลาเดียวกันโดยไม่กระทบต่อกันและกัน


3

PowerShell runspace เป็นคำศัพท์ที่ล้าสมัย พวกเขาใช้เซสชัน PowerShell (PSSession) ทันที ฉันจะแนะนำให้เริ่มต้นด้วยหัวข้อความช่วยเหลือabout_PSSessions


โพสต์นี้มีอีกเล็กน้อยของการประกาศแจ้งในนี้: obscure-powershell-tidbits.blogspot.com/2008/12/…
squillman

4
นี้ไม่ได้จริงๆที่แท้จริง พวกเขาเปลี่ยนชื่อ Cmdlets เนื่องจาก Cmdlets ตั้งชื่อไม่ถูกต้องในสถานที่แรก: พวกเขาสร้างเซสชันซึ่งอาจหรือไม่อาจสร้าง Runspace ใหม่;) แต่แนวคิดพื้นฐานของ Runspace และเซสชันไม่เปลี่ยนแปลง
Jaykul

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.