Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.2.TworzenienarzędziaGUIdowyliczaniaczłonkostwawgrupach
TworzenieHTA
29
WrzeczywistościprzekształcaniedobrzenapisanegoskryptunaaplikacjęHTAjestcał-
kiemtrywialne.Poniższeomówieniebędziedobrymstartemdoopanowaniadziałań,które
sądotegokonieczne.
Najpierwpiszemykodfunkcjonalny
Zanimzaczniemysięmartwić,jakwyglądanaszaaplikacjaHTA–„interfejs”dlanaszego
narzędziaadministracyjnego–uruchomimynaszskrypt.Całykodpowinienbyćoparty
naniezależnychpodprogramachifunkcjach,cooznacza,żepowinnyonepobieraćdane
zparametrówprzekazywanychdoprocedurylubznajdującychsięwkontrolkachwejścio-
wych(takichjakpolatekstowe)nastronieHTAizwracaćwynikidokoduwywołującego
lubwyświetlaćjenastronie.Jeśliskryptzostałtaknapisany
,abyprzyjmowałargumenty
iefektywniewyświetlałwyniki,powinnobyćtołatwezadanie.
NaprzykładnaszskryptADObject_MemberOf_Enum.vbsjestwdużymstopniumodu-
larny
,arzeczywistąpracęwykonująjegopodprogramyifunkcje.Funkcjonalnośćskrytu
jestzatemprawiegotowadomigracjidokoduwłaściwegodlaHTA.Tylkokodznajdujący
sięnasamympoczątkuproceduryniejestczęściąpodprogramulubfunkcji.Tenkod,bez
zgłoszeńdlaużytkownika,jestpokazanyponiżej:
OptionExplicit
DimoMemberOfList
DimaMemberOfList
DimsMemberOf
DimsDomainDN
DimsArgument
DimsObjectDN
'BLOKKONFIGURACJI
sDomainDN="dc=contoso,dc=com"
'Pobieranieargumentu
sArgument=WScript.Arguments(0)
'PryekształcaniegowDN
sObjectDN=ADObject_DN_UCG(sArgument,sDomainDN)
IfsObjectDN=""Then
WScript.Echo"ERROR--NOTFOUND:"&sArgument
WScript.Quit(501)
EndIf
'Tworzenieobiektukatalogudoprzechowywanianazwgrup
SetoMemberOfList=CreateObject("Scripting.Dictionary")
'Ustawianietrybuporównywania,abynierozróżniałwielkościliter
oMemberOfList.CompareMode=vbTextCompare
CallADObject_MemberOf(sObjectDN)
aMemberOfList=oMemberOfList.Keys
aMemberOfList=Array_Sort(aMemberOfList)
WScript.Echo"MEMBERSHIPS"
ForEachsMemberOfInaMemberOfList
WScript.EchosMemberOf
Next