MDT Wizard : Afficher les informations systèmes pendant le déploiement


MDT peut-être customizé afin d'afficher des écrans autres que ceux de base, par exemple des informations sur le système.

Pour cela vous aurez tout d'abord besoin de l'outil Wizard Editor, que vous pouvez télécharger ICI.


Si vous souhaitez pouvoir afficher les informations systèmes lors de votre déploiement par MDT, faîtes comme ci-dessous :

Ecran qui s'affiche sur un PC branché au secteur


Ecran qui s'affiche sur un PC non branché au secteur














Pour que tout cela fonctionne il faudra :

  • I / Ajouter un pane SystemInfo 
  • II / Ajouter un pane SystemInfoDC
  • III / Ajouter les fichiers .png dans Scripts 
  • IV / Mofidier le wizard.css
  • V / Ajouter les requêtes WMI  dans le fichier ZTIGather.wsf
  • VI / Ajouter variable "SkipSystemInfo" dans le ZTIGather.xml 
  • VII / Faire un update de votre Deployment Share





Télécharger les wizards et les images




IV / Modification du wizard.css

Afin que les wizard s'affichent correctement, il va falloir modifier les wizard.css et ajouter les lignes ci-dessous :

#infos {
float:left;
}

#image {
float:right;
}


V / Ajout des requêtes WMI dans ZTIgather.wsf

Il faudra éditer avec Notepad ++, par ex, le fichier "ZTIGather.wsf " et faire comme ci-dessous :

Dans la fonction " GetAssetInfo "

1 / Déclarer les variables " sSMBIOSBIOSVersion, sMTM, sComputerModel, sMemoryInfo "

2 / Modifier la requête "Memory" :

On divise le résultat par 1000 et on affiche les 3 premiers caractères pour avoir un affichage du type 3.4 Go.
     If not IsNull(objInstance.TotalPhysicalMemory) then
sMemoryInfo = Trim((objInstance.TotalPhysicalMemory / 1024 /1024 /1000))
sMemoryInfo = Left(sMemoryInfo, 3) & " Go"
     End if


2 / Ajouter les requêtes WMI suivantes :

Requête WMI pour obtenir la version du BIOS
     Set objResults = objWMI.InstancesOf("Win32_BIOS")
For each objInstance in objResults
If not IsNull(objInstance.SMBIOSBIOSVersion) then
sSMBIOSBIOSVersion = Trim(objInstance.SMBIOSBIOSVersion)
End if
Next
If sSMBIOSBIOSVersion = "" then
oLogging.CreateEntry "Unable to determine serial number via WMI.", LogTypeInfo
End if

Requête WMI pour obtenir le MTM du PC
     Set objResults = objWMI.InstancesOf("Win32_ComputerSystemProduct")
For each objInstance in objResults
If not IsNull(objInstance.name) then
sMTM = Trim(objInstance.name)
End if
Next
If sMTM = "" then
oLogging.CreateEntry "Unable to determine MTM via WMI.", LogTypeInfo
End if

Requête WMI pour obtenir le modèle du PC
     Set objResults = objWMI.InstancesOf("Win32_ComputerSystemProduct")
For each objInstance in objResults
If not IsNull(objInstance.name) then
sComputerModel = Trim(objInstance.version)
End if
Next
If sComputerModel = "" then
oLogging.CreateEntry "Unable to determine the computer model via WMI.", LogTypeInfo
End if

4 / Associer les variable utilisées à des objets utilisés dans les xml pour afficher le résultat de la requête :

     oEnvironment.Item("SMBIOSBIOSVersion") = sSMBIOSBIOSVersion
     oEnvironment.Item("name") = sMTM
     oEnvironment.Item("ComputerModel") = sComputerModel
     oEnvironment.Item("MemoryInfo") = sMemoryInfo


Dans la fonction "Function GetNetworkInfo"

1 / Déclarer la variable " dicSubnetMask "

2 / Initialiser la variable " Set dicSubnetMask = CreateObject("Scripting.Dictionary") "

3 / Ajouter la requête WMI pour afficher le masque de sous-réseau

   If not (IsNull(objAdapter.IPSubnet)) then
For each sElement in objAdapter.IPSubnet
If sElement = "0.0.0.0" or Left(sElement, 7) = "169.254" or sElement = "" then
oLogging.CreateEntry "Ignoring IP Address " & sElement, LogTypeInfo
Else
If not dicSubnetMask.Exists(sElement) then
dicSubnetMask.Add sElement, ""
End if
oLogging.CreateEntry "IP Address = " & sElement, LogTypeInfo
End if
Next
   End if

4 / Associer les variable utilisées à des objets utilisés dans les xml pour afficher le résultat de la requête :

     oEnvironment.Item("SubnetMask") = dicSubnetMask



VI / Ajout variable SkipSystemInfo dans ZTIgather.xml

<property id="SkipSystemInfo" type="string" overwrite="false" description="Flag to skip the System informations wizard pane (if set to YES, default is blank)" />

<property id="SkipSystemInfoDC" type="string" overwrite="false" description="Flag to skip the System informations wizard pane (if set to YES, default is blank)" />

De ce fait si vous ne souhaitez pas que ce wizard s'affiche durant votre déploiement, il suffira d'intégrer la ligne "SkipSystemInfo=YES" dans votre "customsettings.ini".


VII / Update du Deploymentshare

Faîtes un clic droit sur votre Deploymentshare puis choisissez Update puis faire comme ci-dessous..







Vous l'aurez donc compris, vous pouvez afficher toutes les infos que vous voulez, à condition qu'elles soient référencées dans le fichier ZTIGather.wsf.

Voici d'autres liens permettant de créer d'autres Wizards :


Share this

Related Posts

Previous
Next Post »

4 commentaires

commentaires
23 août 2013 à 21:06 delete

Cool Damien !!!! :)

Bon, juste un petit commentaire comme d'hab.
Le MTM, c'est une spécificité de Lenovo, chez d'autres constructeurs (genre HP ou Dell), ça n'existe pas.

Et pour trouver le modèle (au moins chez Dell) il faut attaquer Win32_ComputerSystem et non pas Win32_ComputerSystemProduct.

Voili.

En tout cas, beau travail.

Ah oui et aussi, tu n'explique pas comment tu fais disparaitre le "Next" quand le PC n'est pas alimenté ?

Reply
avatar
23 août 2013 à 21:32 delete

Merci Fredo,

C'est vrai pour le MTM, à force de bosser sur du Lenovo on oublie les autres :-)

Je comprends pas trop pour le next, tu veux dire pourquoi y'a pas le bouton ?

Reply
avatar
25 août 2013 à 15:14 delete

Oui c'est ça.
A moins que ça soit ta capture d'écran, on a la sensation que le bouton Next n'est pas là tant que les pré requis (sur batterie) ne sont pas respectés.

Reply
avatar
26 août 2013 à 08:38 delete

Oui en fait j'ai rogné la capture d'écran :-)

Reply
avatar