Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



28.03.2017

Flash na błysk

NetApp AFF A700s
24.03.2017

MASTERS OF SECURITY II w...

20 kwietnia w Ożarowie Mazowieckim odbędzie się konferencja ITewolucja: MASTERS OF...
24.03.2017

Terabitowy firewall

FortiGate 3980E
22.03.2017

LED-owa premiera

Ricoh SP C352DN
21.03.2017

PLNOG18

Ponad 800 uczestników, 4 ścieżki, 55 wykładów, panele dyskusyjne, prezentacje w Community...
18.03.2017

Lekkie 2w1

Asus Transformer Mini
14.03.2017

Monitoring i diagnostyka SQL...

Spotlight on SQL Server Enterprise Edition
10.03.2017

Bezpieczne dane

Acronis True Image 2017 New Generation
06.03.2017

Wyspecjalizowany OS

KasperskyOS

Dostawcy WMI

Data publikacji: 01-12-2012 Autor: Bartosz Bielawski

Windows PowerShell od wersji drugiej umożliwia nam tworzenie funkcji, które łudząco przypominają cmdlety – mają podobne zachowania, podobne parametry, łatwo można uzupełnić je o pomoc. Nie ma jednak wbudowanej możliwości, by w podobny sposób zbudować własnego dostawcę. Samo stworzenie swojego dostawcy nie jest bowiem sprawą prostą.

Ponieważ jednak PowerShell umożliwia stosunkowo prostą rozbudowę przez społeczność, a rzeczywistość nie toleruje pustki – luka ta została wypełniona przez wieloletniego MVP w dziedzinie PowerShella – Oisina Grehana. Jest on twórcą projektu PowerShell Script Provider (psprovider.codeplex.com), dzięki któremu dostawców PowerShella można tworzyć za pomocą skryptów. Dostawcy w PowerShellu są rozszerzeniem funkcjonalności, która już w systemach takich jak DOS umożliwiała poruszanie się po systemie plików. W PowerShellu w analogiczny sposób możemy „wędrować” po rejestrze, magazynie certyfikatów, a po zainstalowaniu rozmaitych dodatków – również Active Directory czy konfiguracji IIS. Tworzenie dysków PowerShellowych, nawet za pomocą modułu Oisina, nie należy do najprostszych czynności.


Spróbujemy stworzyć dostawcę, którego brak wydaje się dość oczywisty: większość hierarchicznych zasobów ma już dostawców albo w samym systemie (pliki, rejestr), albo w jednym z modułów/wtyczek stworzonym przez Microsoft na potrzeby danej technologii (Active Directory, SQL, IIS). Wyjątek stanowi repozytorium WMI: struktura zdecydowanie hierarchiczna, dla której dostawca (przynajmniej oficjalny) nigdy nie powstał.

 

Jak w każdym projekcie tego typu musimy wyznaczyć założenia i cel, który zamierzamy zrealizować. Wydaje się, że optymalne rozwiązanie to struktura drzewiasta z dwoma rodzajami „folderów”: pierwszy rodzaj będzie odpowiadał istniejącym w lokalnym repozytorium przestrzeniom nazw, drugi – klasom istniejącym w poszczególnych przestrzeniach nazw. Naszymi „plikami”, znajdującymi się wewnątrz poszczególnych klas, będą ich instancje. W pierwszej kolejności skupimy się na prezentacji danych, bez ich modyfikowania. Bazować przy tym będziemy na dostępnym już w wersji pierwszej cmdlecie Get-WmiObject. Postaramy się zaimplementować wszystkie elementy niezbędne do swobodnego poruszania się po naszej drzewiastej strukturze, przeglądania zawartości folderów (również rekursywnego) i dopełniania nazw tabulatorem w czasie interaktywnego przeszukiwania naszego PowerShellowego dysku.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2013 Presscom / Miesięcznik "IT Professional"