A Configuration Manager termékcsalád egyik leggyakrabban emlegetett hiányossága, véleményem szerint jogosan, a különböző kliens műveletek végrehajtatásának lehetősége a konzolból.
Ha például hardver leltárt szeretnénk az egyik gépről kérni, akkor kénytelenek vagyunk valamilyen távoli elérésen (Remote Tools, Remote Desktop, Remote Assistance) keresztül belépni a gépre, és a Configuration Manager appletet felhasználva indíthatjuk a folyamatot.
Egy másik, körülményessége miatt nem túl gyakran használt lehetőség, a sendsched.vbs script használata. Ez az apró program a ConfigMgr Toolkit része, amely a kliens nevét és a végrehajtandó művelet azonosítóját veszi paraméternek. A megfelelő azonosítót használva távolról különböző műveleteket indíthatunk a cél gépen.
Az alábbi blog tartalmazza az azonosítókat: http://blogs.technet.com/b/breben/archive/2009/02/11/what-are-the-schedule-id-s-i-can-use-with-sendsched-vbs.aspx.
Magából a ConfigMgr konzolból azonban ezeket a folyamatokat nem tudjuk végrehajtani.
A ConfigMgr 2012 SP1-ben jelent meg új lehetőségként, hogy policy kérésére utasíthatjuk a kiválasztott klienst (R2-ben pedig már user policy-t is tudunk kérni), de egyéb feladatokra nem szólíthatjuk fel a célgépet.
A távolról történő kliens műveletek, és más adminisztrációs feladatok könnyebb végrehajtására születtek meg a konzolba beépülő modulok, a right click tool-ok, amelyeket szabadon lehet letölteni a netről (http://psrightclicktools.codeplex.com/, http://myitforum.com/myitforumwp/2012/05/07/config-manager-2012-right-click-tools/).
Ha valaki olyan feladatot szeretne a konzolból elindítani, amelyre még nem írtak modult, könnyen megírhatja a saját eszközét. A beépülő modulok a háttérben ugyanis egy Visual Basic vagy PowerShell scriptet hívnak meg, és mi igazából azt mondjuk meg, hogy a ConfigMgr konzol melyik nézetéből legyen elérhető az opció, illetve milyen objektumokon fusson le.
A saját right click tool írásának folyamata a következő:
1. Megtaláljuk a cél nézet azonosítóját
A Configuration Manager konzol alapból C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole könyvtárba települ. Ezen belül találunk egy XMLStorage\Consoleroot mappát. A konzol 4 fő nézetéhez (Administration, Monitoring, Software Library, Assets and Compliance) tartozik egy XML fájl, amely a szükséges azonosítót tartalmazza. Ha például mi a egy collection tagjait szeretnénk megpingelni, akkor az Assets and Compliance nézethez tartozó AssetManagementNode.xml állományt kell megnyitnunk.
Az XML fájlon belül annak menünek az azonosítója (NamespaceGuid-ja) kell, ahonnan elérhetővé szeretnénk tenni az új opciót. A NamespaceGuidot követő ID tag sokat segít a különböző azonosítók értelmezésében, de az alábbi blog kommentjei között találunk egy jó hosszú listát róluk: http://myitforum.com/myitforumwp/2012/05/07/config-manager-2012-right-click-tools/
Ebben a példában egy device collection tagjait szeretnénk megpingelni, ezért a a92615d6-9df3-49ba-a8c9-6ecb0e8b956b azonosítóval dolgozunk:
2. Létrehozunk egy azonosító névvel megegyező alkönyvtárat
Az előző lépéssorozatban meghatározott azonosító nevével létre kell hoznunk egy könyvtárat a konzol telepítési útvonalának \XmlStorage\Extensions\Actions mappájában. Az itt található könyvtár nevek mondják meg a konzolnak, hogy hol történik a kiegészítő parancs végrehajtása.
3. Megírjuk és helyére tesszük a konfigurációs fájlt és a szkriptet
Mint korábban már említettük, a right click tools igazából egy XMl alapú konfigurációs fájlból és az abban megadott szkriptből áll. Ezt a két állományt nekünk kell létrehozni vagy az internetről beszerezni. Az XML fájlt a korábban létrehozott könyvtárba kell másolni, a meghívott szkript máshol is lehet. A mi példánkban a Ping.xml, amely az ugyanebben a könyvtárban lévő Ping.vbs-t indítja el.
A szkript egy új Excel munkafüzetbe logolja, hogy a collection tagjai válaszolnak-e a pingre (Responding) avagy nem (Not Responding).
Az új right click tool a konzol újraindítása után válik elérhetővé a megfelelő nézetben:
Az eredmény pedig:
Amennyiben el szeretnénk távolítani, egész egyszerűen kitöröljük az XML-t a könyvtárból, és újraindítjuk a konzolt.
Tamás