Co to są Runspaces w Windows PowerShell 2.0?

14

Dzisiaj słuchałem podcastu HanselMinutes o PowerShell 2.0 . Scott Hanselman przeprowadził wywiad z Halem Rottenbergiem i Kirkiem Munro na TechEd 2009.

Rozmawiali o RunSpaces w PowerShell 2.0. Czy ktoś może wyjaśnić za sobą koncepcję i podać przykłady (przykłady z rzeczywistego świata) lub przykłady?

Dzięki!

splattne
źródło

Odpowiedzi:

17

Obszar roboczy to specyficzna instancja programu PowerShell, która zawiera MODYFIKOWANE kolekcje poleceń, dostawców, zmiennych, funkcji i elementów językowych, które są dostępne dla użytkownika wiersza poleceń (lub bardziej ogólnie, dla aplikacji „hosta”).

Ogólnie rzecz biorąc, Runspaces są tematem dla programistów . Jeśli korzystasz z wiersza poleceń, możesz je modyfikować tylko poprzez modyfikację sesji , a jeśli jesteś typowym użytkownikiem wiersza poleceń, tak naprawdę nie będziesz nawet świadomy Sesji, chyba że użyjesz ich do zdalnego połączenia do innego komputera. Jednak do każdej sesji przypisany jest Runspace (lub RunspacePool ), który kontroluje to, co jest dostępne, i możliwe jest tworzenie „ograniczonych” przestrzeni roboczych, aby dać użytkownikom dostęp tylko do niektórych poleceń, a nie innych ...

W PowerShell 2.0 używasz klasy RunspaceFactory do tworzenia Runspaces lub RunspacePool. Możesz przeczytać więcej o Runspaces w MSDN

Jaykul
źródło
3

Przestrzeń robocza PowerShell jest w rzeczywistości moim zdaniem izolowaną instancją środowiska wykonawczego PowerShell.

Niedawno miałem pewne doświadczenia z używaniem przestrzeni roboczych PowerShell w aplikacji internetowej, aby zapewnić pewne funkcje administracyjne za pośrednictwem interfejsu sieciowego. W szczególności umożliwiło wielu użytkownikom korzystanie z aplikacji w tym samym czasie, bez wzajemnego wpływu.

Sam Cogan
źródło
3

Przestrzeń robocza programu PowerShell jest terminem przestarzałym. Używają teraz sesji PowerShell (PSSession). Polecam zacząć od tematu pomocy about_PSSessions .

aleksandar
źródło
W tym poście jest jeszcze trochę obrzydliwości: obscure-powershell-tidbits.blogspot.com/2008/12/…
squillman
4
To nie jest naprawdę prawdziwe. Zmienili nazwę Cmdletów, ponieważ Cmdlety zostały w pierwszej kolejności niedokładnie nazwane: tworzą sesje, które mogą, ale nie muszą tworzyć nowego Runspace;) Ale podstawowa koncepcja Runspace i Session się nie zmieniła.
Jaykul