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

28.07.2014

SSD do centrów danych

Samsung 845DC EVO
25.07.2014

Pierwszy notebook z ekranem...

Asus Zenbook NX500
22.07.2014

Monitory Citrix HDX Ready

ViewSonic Smart Display
18.07.2014

Cztery skanery

Canon imageFORMULA
15.07.2014

Wideokonferencje w HD

Huawei TE60
11.07.2014

Wstępna diagnoza

NETGEAR Wi-Fi Analytics
08.07.2014

Dla chmury hybrydowej

Red Hat Enterprise Linux 7
03.07.2014

Dane pod kontrolą

Ontrack PowerControls 7.2
30.06.2014

Optymalna moc lampy

BenQ MX822ST

Komendy systemowe

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

Korzystając często z Windows PowerShell, przyzwyczajamy się do pewnych jego cech: polecenia i ich parametry są uzupełniane za pomocą tabulatora, pomoc oferuje nam nie tylko opis składni, ale dokładną charakterystykę poszczególnych parametrów oraz gotowe przykłady użycia aktualnej komendy. I najważniejsze chyba – na wyjściu uzyskujemy obiekty, które można łatwo sortować, filtrować i eksportować.

Problem pojawia się, gdy te same schematy zechcemy zastosować do poleceń systemowych. O ile ich nazwę komendy PowerShell dopełni bez trudu, o tyle pozostałych udogodnień niestety nie uzyskamy. Parametry musimy pamiętać lub wyczytać w pomocy (która nie jest spójna z pomocą dołączoną do poleceń PowerShella), a na wyjściu uzyskamy tekst, który musimy później sami przetworzyć, by uzyskać interesujący nas wynik. By z problemem tym sobie poradzić, możemy oczywiście sami stworzyć narzędzie, które oferując podobne do natywnych narzędzi funkcje, da nam również wszystkie pożytki z cmdletów.

 

Można napisać całą aplikację od zera, korzystając z WMI, platformy .NET lub obiektów typu COM. Często jednak łatwiej jest użyć narzędzi już istniejących.

 


Wystarczy opakować je w odpowiednią funkcję, dopisać stosowną pomoc i zadbać, by na wyjściu pojawiały się rozbudowane obiekty, a nie zwykły tekst.

 

W artykule tym spróbujemy przedstawić proces tworzenia modułu, składającego się z funkcji korzystających z drugiego, nieco łatwiejszego do zaimplementowania rozwiązania. Postaramy się opakować niektóre z narzędzi dostępnych w systemie Windows tak, by z punktu widzenia użytkownika przestały się one różnić od zwykłych poleceń PowerShella. Tak jak wspomnieliśmy – konieczne będzie zadbania zarówno o odpowiednio skonstruowane wejście: łatwe do zinterpretowania parametry poleceń, czasem ograniczone odpowiednio wartości argumentów. Konieczne też będzie odpowiednie przetłumaczenie wejścia na składnię opakowywanego polecenia. Na koniec zaś będziemy musieli przekształcić uzyskiwany na wyjściu tekst w obiekty, które dalej będziemy mogli przetwarzać: sortować, filtrować, eksportować.

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

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