Что такое Runspaces в Windows PowerShell 2.0?
Сегодня я слушал подкаст HanselMinutes о PowerShell 2.0 . Скотт Хансельман взял интервью у Hal Rottenberg и Kirk Munro на TechEd 2009.
Они говорили о RunSpaces в PowerShell 2.0. Может ли кто-нибудь объяснить концепцию, лежащую в их основе, и дать некоторые (реальные) примеры использования или примеры?
Спасибо!
3 ответа
Runspace - это конкретный экземпляр PowerShell, который содержит коллекции MODIFIABLE команд, поставщиков, переменных, функций и языковых элементов, которые доступны пользователю командной строки (или, более широко, для приложения «хозяин»).
Вообще говоря, Runspaces являются темой разработчика . Если вы находитесь в командной строке, вы можете изменить их только путем изменения сеанса , и если вы типичный пользователь командной строки, вы даже не будете знать о сеансах, кроме когда вы используете их для удаленного подключения к другому компьютеру. Тем не менее, каждый сеанс имеет связанный Runspace (или RunspacePool ), который управляет что доступно для вас, и можно создавать «ограниченные» пробелы, чтобы предоставлять пользователям только определенные команды, а не другие ....
В PowerShell 2.0 вы используете RunspaceFactory для создания Runspaces или RunspacePool. Вы можете прочитать подробнее о Runspaces на MSDN
Пространство powershell эффективно является изолированным экземпляром среды выполнения powershell, в моем понимании любым способом.
Недавно у меня был опыт использования пробелов PowerShell внутри веб-приложения, чтобы предоставить некоторые функции администрирования через веб-интерфейс. В частности, это позволило нескольким пользователям одновременно использовать приложение, не затрагивая друг друга.
Вот несколько рабочих примеров использования Runspaces и RunspaceFactory:
http://www.nivot.org/2009/01/22 /CTP3TheRunspaceFactoryAndPowerShellAccelerators.aspx
-Oisin