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“.