samedi 21 janvier 2012

Activer Aero “the light way”

Abstract_Ornamental_by_irn_bru

Lors du déploiement de Windows 7, il arrive parfois qu’à la fin de l’installation, Aero ne soit pas activé. Cette non activation est intimement liée au fait que Windows n’a pas réussi à calculer l’indice de performance de la machine et plus particulièrement celui de la carte graphique.

Si vous cherchez une solution sur internet, vous tomberez à peu près tout le temps sur le même type de solutions : relancer le calcul de l’indice de performance via la commande : Winsat Formal

Cette méthode à trois inconvenant majeurs :

  • Exécutée dans le déroulé d’un script (WAIK) ou au sein d’une Task Sequence (MDT/SCCM), elle recalcule  l’indice de performance même si celui-ci à déjà été calculé par Windows.
  • Elle impose l’évaluation de tous les composants, alors qu’ Aero n’a besoin que des performances de la carte graphique pour pouvoir démarrer.
  • Elle est extrêmement lente car Windows évalue l’ensemble de ses composants (disque, carte graphique, processeur etc…) 

J’ai donc développé un script qui palie à ces trois problèmes :  il ne relance l’évaluation qu’en cas de nécessité, et si c’est le cas, il n’évalue que la carte graphique et prend par conséquence beaucoup moins de temps.

'/ This script wil check if winsat as already run against graphical performances.
'
/ If not, it will evalute graphic adapter. colateral effect will be : Aero will be enabled.
'
/
'
/ Version 1.0
'
/ by Diagg
'
/ 13/12/2011


Option Explicit

Dim strComputer, oShell, oBjWMIService, oColItems, oGfxValue, oBjItem

strComputer
= "."
set oShell = createobject("wscript.shell")
Set oBjWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set oColItems = oBjWMIService.ExecQuery("Select * from win32_winsat")

For Each oBjItem in oColItems
oGfxValue
= oBjItem.GraphicsScore
Next

If oGfxValue = Null Or oGfxValue = 0 Then
oShell.Run
"c:\windows\system32\Winsat.exe dwm",0, True
End If


A utiliser sans retenu, dans MDT/SCCM/WAIK…

4 commentaires:

  1. J'ai testé ce script dans le cadre d'un déploiement de Win7 x64 et rien ne se produit, Windows ne calcule pas l'indice de performance.
    J'ai fait une petite recherche et je suis tombé là-dessus:

    http://www.ronnipedersen.com/2010/11/enable-aero-on-windows-7-64-bit-systems-during-os-deployment-using-configuration-manager/

    Ce post concerne ConfigMgr mais semble pourtant correspondre à mon problème.
    Je vais continuer mon enquête, si tu as une idée n'hésite pas.

    RépondreSupprimer
  2. J'ai pas testé sur 64 Bits, je vais regarder. Par contre, sur le fonctionnement du script : même si il calcule les perfs de la carte graphique, il laissera tous les indices de performances sans états. Pour être sure que le script fonctionne, une équation imparable : si tu n'as aucun indice de performance calculé et qu'Aero est activé c'est que le script fonctionne ! Tiens moi au courant.

    RépondreSupprimer
  3. Tout fonctionne.
    A vrai dire le fait que l'indice de performance n'était pas calculé m'avait induit en erreur.
    De plus le thème par défaut de mon image de référence créée depuis une VM n'était plus Aero...en utilisant CopyProfile le thème par défaut lors du déploiement n'était pas Aero... J4ai réglé ce petit soucis et tout est rentré dans l'ordre.
    Merci pour tout.

    RépondreSupprimer