Centrum skryptów - Systemy operacyjne

Jak zmienić opis usługi?

Udostępnij na: Facebook

Skrypciarze odpowiadają na Wasze pytania

Cześć Skrypciarze!

Witamy w rubryce TechNet, w której Skrypciarze z firmy Microsoft odpowiadają na częste pytania dotyczące używania skryptów w administracji systemu. Jeśli macie jakieś pytania z tej dziedziny, zachęcamy do wysłania e-maila na adres: scripter@microsoft.com. Nie możemy zagwarantować odpowiedzi na każde otrzymane pytanie, ale staramy się jak możemy.

Jak zmienić opis usługi?

Cześć Skrypciarze! Pytanie

Cześć, Skrypciarze! Jak zmienić opis usługi?

-- DD

Cześć Skrypciarze! Odpowiedź

Cześć, DD. Ktoś kiedyś miał powiedzieć, że rzeczy, w które nie wierzymy nie istnieją. Nasuwa się zatem pytanie, czy jeżeli w coś wierzymy, to naprawdę to istnieje. Czy jeżeli miliony dzieci wierzą w Świętego Mikołaja, a dorośli już nie, to czy on istnieje, czy też nie? Kto ma rację? A duchy, potwory, zjawy? Czy one istnieją? To tylko niektóre z pytań dręczących od rana Skrypciarza piszącego te słowa. Skąd się wziął ten nastrój? Podobno przyśniło mu się coś strasznego, a zobaczywszy pytanie, na które ma odpowiedzieć, kompletnie się pogubił. Do tej pory bowiem nigdy nie zastanawiał się nawet nad istnieniem możliwości zmiany opisu usługi wychodząc z założenia, że skoro można zmienić tryb uruchomienia usługi i hasło usługi oraz inne opcje związane z usługami, to przecież da się także zmienić opis usługi. Jednak po przeczytaniu pytania i otwarciu zestawu SDK usługi WMI, ku swojemu wielkiemu zdziwieniu i rozczarowaniu stwierdził, że nie ma metody WMI, bezpośrednio zmieniającej opis usługi. Piszący te słowa Skrypciarz wierzył, że można zmienić opis usługi za pomocą skryptu, a jednak okazało się, że nie. Więc jak może teraz spać spokojnie, skoro coś, w istnienie czego wierzył, nie istnieje? A co, jeżeli, dla odmiany, wszystkie rzeczy, w które nie wierzy, istnieją?

Z drugiej strony, można zacząć od poniższego skryptu:

Const HKEY_LOCAL_MACHINE = &H80000002



strComputer = "."

 

Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")

 

strKeyPath = "System\CurrentControlSet\Services\SerialKeys"

strValueName = "Description"

strValue = "This is the SerialKeys service."



objRegistry.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

To nie sen. Skrypciarz piszący te słowa miał rację. Aplikacja WMI nie przewiduje prostej metody zmieniającej opis usługi. Nie oznacza to jednak, że nie można tego opisu zmienić; oznacza to jedynie, że należy użyć skryptu, który zmienia ten opis w rejestrze. Jak ten powyżej.

W jaki więc sposób ten skrypt zmienia opis w rejestrze? Na początek, określa stałą o nazwie HKEY_LOCAL_MACHINE i nadaje jej wartość &H80000002; dzięki temu wiadomo, z którą lokalizacją rejestru chcemy pracować. Następnie skrypt łączy się z usługą WMI na lokalnym komputerze, a dokładnie z przestrzenią nazw root\default oraz klasą StdRegProv.

Uwaga. Oczywiście można zastosować ten skrypt na zdalnym komputerze. W tym celu należy przypisać nazwę zdalnego komputera do zmiennej strComputer.

Połączywszy się z usługą WMI, przypisujemy wartości trzem zmiennym:

strKeyPath, reprezentującej ścieżkę dostępu (w ramach HKEY_LOCAL_MACHINE) do klucza rejestru do usługi, którą chcemy zmodyfikować. Tę wartość należy ustawić na System\CurrentControlSet\Services\, dodając nazwę usługi. W ten sposób otrzymamy: System\CurrentControlSet\Services\SerialKeys.
strValueName, reprezentującej nazwę wartości rejestru, którą chcemy zmodyfikować. Jak można się było spodziewać, w naszym wypadku jest to Description.
strValue, która zawiera nowy opis dla usługi.

Po przypisaniu wartości dla tych zmiennych, przekazujemy nazwy zmiennych oraz stałą HKEY_LOCAL_MACHINE do metody SetStringValue – i to już wszystko:

objRegistry.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

Jeżeli teraz otworzymy konsolę Services, zauważymy nowy opis dla usługi SerialKeys. Czyż to nie jest niesamowite?

Miejmy nadzieję, że teraz nasz Skrypciarz będzie spał spokojnie.

 Do początku strony Do początku strony

Centrum skryptów - Systemy operacyjne