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



25.08.2016

Coraz wydajniejsze

QNAP TVS-x82 / TVS-x82T
24.08.2016

PLNOG17 odbędzie sie w...

Kulisy Euro 2016 i dziennikarz muzyczny Hirek Wrona na konferencji telekomunikacyjnej...
23.08.2016

Integracja usług

F5 BIG-IP 12.1, BIG-IQ CM 5.0
19.08.2016

Pełna ochrona

Sophos Clean
16.08.2016

Dla smartfonów i tabletów

Logitech K780 Multi-De­vice Wireless Keyboard
11.08.2016

Canon wielu funkcji

imageRUNNER ADVANCE C5500
09.08.2016

Monitoring wizyjny

Axis Camera Station
04.08.2016

Lepszy kontakt

InsERT nexo 11
01.08.2016

NGFW dla chmur

Barracuda NextGen Firewall F-Series 7.0

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"