MMC známá i neznámá (1)
Microsoft Management Console – nástroj mnoha tváří i využití. Kdysi Microsoftem vytrubována do světa jako revoluční záležitost, dnes s tichým mlčením nedílná součást všech Windows. Známe ještě dnes po uplynutí deseti let od jejího uvedení všechny její možnosti?
Díl první: vznik a historie
Potřeba jednoty v nástrojích správy systému nebyla v raných verzích Windows, jako byly například Windows 3.11, příliš znatelná.
Windows se používaly pouze v nenáročném SOHO použití; ve velkých firemních prostředích pak spíše jako terminály k AS/400, IBM Mainframe nebo systémům typu UNIX. Pár ovládacích panelů situaci řešilo s přehledem.
Se vznikem Windows NT přišlo skutečné RPC, serverové služby a nástroje na vzdálenou i místní správu. Celé to bylo ale poněkud nekoncepční a s příchodem nové funkčnosti se prostě přidal ovládací panel nebo nová položka do nabídky Administrative Tools, a vždy šlo o nový samostatný nástroj s často odlišným vzhledem nebo chováním, i když pokus o jakousi linii tu byl. Když vývoj dostoupil někam k Windows NT 4.0 Server, nebylo nijak divné mít čtyřicet ovládacích panelů a dvacet položek v nabídce Administrative Tools.
Nástroje na správu Windows NT ve Windows NT 3.5 (Daytona)
Microsoft pro další verze NT přišel s nápadem, jak situaci vyřešit a vytvořil tak první a v podstatě dosud jediný framework pro grafické nástroje pro správu. Pravidly pro vývoj komponent pro „konzolu“, takzvaných „snap-inů“, byla dána možnost, aby Microsoft i kterýkoliv programátor třetí strany mohl toto administrační rozhraní rozšířit jakýmsi plug-inem. Co více, MMC mohla spouštět i programy které tyto podmínky nesplňovaly ale byly alespoň distribuovány formou ActiveX prvku. Vzhledem k tehdejší orientaci Microsoftu na cokoliv, co vypadalo alespoň vzdáleně jako „Internet“, bylo rozhodnuto o tom, že Management Console bude umět renderovat i HTML, čehož se dosáhlo propojením na knihovny tehdy zbrusu nového Internet Exploreru 4.0. Celé to bylo dobře vymyšleno až na jedinou chybu, která se začala řešit až o sedm let později – nedalo se to skriptovat. Ale to příliš předbíháme.
Management Console byla od začátku míněna jak pro Windows 9.x, tak i pro Windows NT – ve verzi 1.1 vyšly instalační balíky jak pro Windows 95/98 tak i Windows NT 4.0, ale celková zastaralost platformy Windows 9.x spolu s faktory „není na tom co spravovat“ a „když pro tu platformu nevyvíjí snap-iny Microsoft, tak proč bychom měli my“ způsobila, že Windows 9.x s instalovanou MMC byly spíše rarita.
Microsoft Management Console 1.0 ve Windows NT 4.0
Bohužel vývoj NT 5.0 (pozdějších Windows 2000) se zpožďoval a první verze MMC 1.0 byla vypuštěna do světa předčasně a byla použita jen v rámci vývojového týmu IIS (Internet Information Serveru). Do Windows NT 4.0 šla doinstalovat skrze NT 4.0 Option Pack, kde sloužila pro několik málo snap-inů typu IIS a MTS (MS Transaction Server), ale ke správě zbytku systému bylo nutné stále používat nástroje jako Server Manager a User Manager. Nic nepomohlo, že na ně byli v IIS konzoli zástupci – celkově přispívala takto nedotažená MMC k ještě většímu zmatku.
Verze 1.2 pro SQL Server 7.0 v prostředí Windows NT 4.0
Mezitím se zcela nezávisle na sobě probraly týmy programující MS SQL Server a MS Systems Management Server a novou verzi MMC 1.1 přibalili k distibucím verzí MS SQL 7.0 a SMS 2.0. Nová verze MMC toho dokázala o mnoho více než verze 1.0 – přibyly tzv. taskpads, možnosti si vytvořit vlastní náhled na snap-in nebo přidat vlastní příkazy, MMC 1.1 byla znatelně rychlejší a podporovala HTML nápovědu.
Když konečně dorazily na trh Windows 2000, obsahovaly mírně odlišnou verzi MMC 1.2 a především spoustu snap-inů na správu systému, z nichž asi nejznámější je modul „Správa počítače“ (Computer Management). Využíval se také systém rozšíření ke snap-inům, tedy například Správa počítače byla vlastně snap-inem, který obsahoval jiné snap-iny jako rozšíření.
MMC 1.2, standardní součást Windows 2000
Hned po „Správě počítače“ byl jednoznačným průlomem snap-in „Active Directory Users and Computers“, který umožňoval správu celé adresářové struktury Active Directory a byl napojený na další snap-iny jako Group Policy a právě Správu počítače. Novinkou ve verzi 1.2 byl také export položek ve stromu snap-inů do textového souboru. S příchodem Windows 2000 se také vyčistily Ovládací panely od položek jako byl například ovládací panel „Služby“ a tyto položky se přemístily do Microsoft Management Console.
Verze MMC 2.0 se obejvila s Windows 2003 Serverem a umožňuje být za pomocí svého objektového modelu skriptována. V článku zde:
http://msdn.microsoft.com/msdnmag/issues/01/03/mmc2 0/
se můžete dočíst, jak bylo toto skriptování původně myšleno a také o nové vlastnosti tzv. Taskpads – možnosti volit pro každý příkaz svou vlastní ikonu místo předdefinovaných. (Taskpads bude věnován celý jeden díl tohoto seriálu).
Microsoft Management Console 3.0 je zatím relativně horkou novinkou, která je přibalená k Windows Server 2003 R2 a Windows Vista. Co přináší nového shrnuje článek:
http://windowssdk.msdn.microsoft.com/en-us/library/ ms692750.aspx
Jedná se zejména o užší spojení s .NET, jako například podpora Windows Forms.
K napsání tohoto seriálu mne vedl mimo jiné i dojem, který jsem získal z toho, jakým způsobem velká skupina pokročilých uživatelů nebo administrátorů Microsoft Management Console používá. Podle mých zkušeností málokdo používá MMC tak, jak byla zpočátku myšlena: jako integrální nástroj pro správu co nejvíce věcí na jednom místě, spíše je častější ad-hoc spuštění některé z předvyrobených konzolí. V dalších dílech seriálu se pokusím nastínit, jaké všechny funkce se v MMC skrývají, jaké výhody může přinést „poskládání si“ vlastní konzole pro sebe nebo pro administrátory na které chcete delegovat nějakou činnost a jak konzolu rozšířit pomocí vlastních HTML stránek, ActiveX a VBS a CMD skriptů.
Slovníček zkratek a pojmů
SOHO: Small office, home office. Skupina uživatelů používající produkt v malých firemních prostředích nebo v domácnostech.
AS/400: Servery firmy IBM s operačním systémem OS/400.
Mainframe: Sálový počítač, typicky IBM.
RPC: Remote Procedure Call, vzdálené volání procedur. Mechanismus komunikace mezi aplikacemi; OS Windows NT/2000/XP jej používá jako základ pro všechny své administrační nástroje.
Snap-in: Spustitelný plug-in pro Microsoft Management Console.
ActiveX: komponentová technologie Microsoftu, prostupující celý OS Windows.
VBS: Visual Basic Script, skript psaný pro Windows Scripting Host.
CMD skript: Skript pro příkazový interpret systému Windows NT/2000/XP, „příkazovou řádku“.
je fakt, že jsem vzbudil u některých lidí úžas, když jsem si poskládal několik snap-inů do vlastní konzole a uložil si to.
Nicméně osobně se mi zdá, že některé snap-iny jsou takové lehce nedomrlé, jednoduše že vývojáři usnuli na půli cesty. Např. možnosti konfigurace viditelných polí (a to i u originálních z Win 2003).
P.S.: už se těším na další díl!
skoro som vyronil od nostalgie slzu. tiez sa tesim na dalsi diel.
Ani nemam cas takove veci sledovat, takze pokud se dozvim neco noveho (hlavne jak si ulehcit praci), budu velmi rad.
pokračovat, pokračovat!