Configuration Manager 2012 – Créer une extension de console

Dans Configuration Manager 2012, la console de gestion est bien réalisée et particulièrement facile à appréhender. En revanche vous pourriez avoir besoin d’intégrer vos propres outils de manière à les avoir à portée de main. Je vous propose dans ce post de découvrir comment personnaliser votre console.

Il existe déjà des outils, comme par exemple le fameux « Right click tools », mais ils est possible d’intégrer vos outils en fonction de votre besoin.

Dans cet exemple je vous propose la possibilité d’ouvrir le dossier Logs d’un device client Configuration Manager 2012, ainsi que l’intégration de l’outil « SCCM Client Center » dévellopé par Roger Zander.

Dans un premier temps, voyons un peu comment fonctionne le « design » de la console :

Sivous vous rendez dans le répertoire d’installation dans le dossier « C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\XmlStorage\ConsoleRoot » (Si vous avez modifié le chemin d’installation, faites en conséquence), vous trouverez un ensemble de fichier « .xml ». Ce sont ces fichiers qui vont définir notre console.

ConsoleExt-1

Chaque sous ensemble est donc défini dans ces fichiers par des GUIDs (Un GUID pour le noeud « Device collection », Un GUID pour le noeud « User collection », etc, etc…)

Le but n’est pas de vous énumérer tous les GUIDs, mais si vous souhaitez en avoir la liste, vous les trouverez par exemple dans le SDK, ou directement dans les fichiers « .xml »

Dans notre exemple, nous voulons intégrer nos outils sur un objet « device », dont le GUID est « 3fd01cd1-9e01-461e-92cd-94866b8d1f39« 

Rendons nous dans le répertoire suivant : « C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\XmlStorage\Extensions\Actions« . Si le répertoire « Extensions » n’éxiste pas, créez le, ainsi que le répertoire « Actions« . Une fois fait, créer un répertoire avec le GUID correspondant au noeud sur lequel vous voulez interagir (Dans notre cas, créez le dossier « 3fd01cd1-9e01-461e-92cd-94866b8d1f39« ).

ConsoleExt-2

De manière à designer notre extension, nous allons créer un fichier « .xml », nommé tool.


 
 

	DefaultContextualTab 
    ContextMenu




    
        C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\XmlStorage\Extensions\Actions\3fd01cd1-9e01-461e-92cd-94866b8d1f39\DlIcone.dll
		DlIcone.Resource1.resources
    
    LogoIco

 
  

    
 

	DefaultContextualTab 
    ContextMenu

 

    
        C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\XmlStorage\Extensions\Actions\3fd01cd1-9e01-461e-92cd-94866b8d1f39\DlIcone.dll
		DlIcone.Resource1.resources
    
    App

 

    "C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\XmlStorage\Extensions\Actions\3fd01cd1-9e01-461e-92cd-94866b8d1f39\SCCM Client Center\SMSCliCtrV2.exe"

	    
    

	
  

    
 
	  
		DefaultContextualTab
        ContextMenu
      
 

    
        C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\XmlStorage\Extensions\Actions\3fd01cd1-9e01-461e-92cd-94866b8d1f39\DlIcone.dll
		DlIcone.Resource1.resources
    
    LogoIco

 
    
			"wscript.exe"
			 "C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\XmlStorage\Extensions\Actions\3fd01cd1-9e01-461e-92cd-94866b8d1f39\explorer.vbs" ##SUB:ResourceID## 
	
	  
    
    
  

De manière à parcourir le répertoire de logs d’un device, nous appellerons un script vbs (explorer.vbs) depuis le fichier de configuration xml. ce script sera dans le meme dossier :

Set WshShell = WScript.CreateObject("WScript.Shell")

Set objArgs = WScript.Arguments

Set SWbemLocator=CreateObject("WbemScripting.SWbemLocator")
Set SWbemServices = SWbemLocator.ConnectServer("FQDN_Server","root\SMS\site_SiteCode")

IF (objArgs.count > 0) then
    RESID = wscript.arguments.item(0)    
END IF

strQuery = "SELECT NetbiosName from SMS_R_SYSTEM where resourceID = " & RESID

set CompNames = SWbemServices.ExecQuery(strQuery)

For each CompName in CompNames
	compname = CompName.NetbiosName
	WshShell.Run("explorer.exe /e," & "\\" & CompName & "\admin$\CCM\Logs")
Next

Voici le contenu de notre dossier :

ConsoleExt-3

La « dll« , nous permet d’intégrer des icônes. Si vous voulez utilisez vos propres icones, il vous faudra créer votre « dll ». Vous avez aussi la possibilté d’utiliser la librairie d’icones de la console dont la dll correspondante est : « AdminUI.UIResources.dll« 

Voyons maintenant le résultat (Si votre console était ouverte, il vous faudra la redémarrer) :

ConsoleExt-4

Vous pouvez télécharger l’ensemble des ressources de cette démo ICI.

Et n’hésitez pas à faire un feed-back :-) !!

Please follow and like us:

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Social media & sharing icons powered by UltimatelySocial