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



12.05.2017

SAP Executive Forum 2017

Jak rozwijać firmę w dobie digitalizacji? To jedno z wielu zagadnień, o których będą...
28.04.2017

100 stron w minutę

Epson WorkForce Enterprise
25.04.2017

MegaNAS-y

Netgear ReadyNAS 4360X/S
21.04.2017

Nowe pamięci

Samsung Z-SSD
18.04.2017

Dozorowanie w 4K

Panasonic True 4K
14.04.2017

Kompleksowe zarządzanie

Quest Active Administrator 8.1
11.04.2017

EMM dla Androida i IoT

Sophos Mobile 7
07.04.2017

Kontrola dostępu i...

VMware Workspace ONE, VMware AirWatch 9.1
05.04.2017

HPE Reimagine IT 2017

27 kwietnia 2017 r. w Warszawie odbędzie się HPE Reimagine IT 2017, nowa odsłona Wyzwań...

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"