Nettoyer l’espace disque des mises à jour Windows

A l’occasion d’un projet de virtualisation de postes de travail, j’ai du créer un Master optimisé, notamment en terme d’espace disque.

Après la longue phase de mises à jour de Windows 7, mon image avait pris quelques gigas et c’est donc à cette occasion que je me suis intéressé au nettoyage des fichiers de désinstallation des mises à jour Windows intégrées à mon master.

L’utilitaire de Nettoyage de disque, CleanMgr, bien connu depuis longtemps, a recu une mise à jour de la part de Microsoft pour prendre en charge cette fonctionnalité.

Cette  mise à jour, disponible à partir de Windows 7 SP1, est disponible sous la forme d’un KB avec la référence KB2852386 accessible à l’adresse suivante : http://support.microsoft.com/kb/2852386

Une fois cette mise à jour installée, l’outil nettoyage est accessible à partir du menu démarrer dans tous les programmes, accessoires puis outils système.

On peut aussi lancer l’outil grâce à la commande cleanmgr.exe disponible dans le répertoire C:\Windows\System32.

CleanMgr, l'outil Microsoft de Nettoyage de disque

En cliquant sur « Nettoyer les fichiers système », l’outil se recharge et propose des options de nettoyage supplémentaires notamment les fichiers de mise à jour Windows obsolètes.

L'option de nettoyage des mises à jour obsolètes

Microsoft propose d’automatiser la configuration et le lancement de l’outil en ligne de commande avec cleanmgr.exe /sageset:n et cleanmgr.exe /sagerun:n où n peut être toute valeur comprise entre 0 et 65 535. La documentation est accessible ici : http://support.microsoft.com/kb/315246 

A la recherche d’une méthode pour automatiser ce nettoyage à la fin d’une sequence de tâche MDT ou SCCM, je suis tombé sur plusieurs scripts dont celui-ci, réalisé par Mikael Nystrom, qui a l’avantage de proposer un nettoyage complet et ce pour toutes les versions d’OS disponibles (Windows 7 SP1, Windows 8 et 8.1 ainsi que les versions serveurs 2008 R2, 2012, R2 etc.)

Action – Cleanup Before Sysprep

http://deploymentbunny.com/2014/06/05/nice-to-know-get-rid-of-all-junk-before-sysprep-and-capture-when-creating-a-reference-image-in-mdt/

Déclaré comme une application dans MDT, je l’ai intégré dans les Custom Tasks de la phase State Restore.

Application MDT

MDT Custom task

Il y a également celui-ci, réalisé par Aaron Czechowski, mais qui ne différencie pas les versions d’OS dans son script.

CustomDiskCleanup

http://blogs.technet.com/b/aaronczechowski/archive/2012/01/04/disk-cleanup-in-a-mdt-task-sequence.aspx

 

Kaspersky Endpoint Security 10.2 désinstalle automatiquement SCCM 2012 !

J’avais prévu aujourd’hui de migrer le client antivirus Kaspersky de mon serveur SCCM de la version 8 vers la version 10.2.

Quelle ne fut pas ma surprise de voir que l’installation de Kaspersky Endpoint Security 10.2 lance AUTOMATIQUEMENT et SILENCIEUSEMENT la désinstallation de SCCM 2012 !

Journal de déinstallation de SCCM

Journal de désinstallation de SCCM

Il était pourtant bien spécifié dans les paramètres de la tâche d’installation de ne pas supprimer automatiquement les applications incompatibles.

La case est bien décochée

La case est bien décochée

Heureusement pour moi, mon infrastructure SCCM dispose d’un site enfant et la présence de ce dernier a empêché la bonne désinstallation du produit.

La présence du site enfant en sauveur !

La présence du site enfant en sauveur !

Une recherche plus tard sur les forums de Kaspersky montre que le problème est connu depuis le mois de février !! ARRGGGGHHH !!

 

J’ai demandé au support une solution de contournement, mais si vous êtes dans mon cas, suivez-ce conseil : remettez à plus tard la migration de KES.

 

EDIT : Le support de kaspersky m’a répondu que ce problème serait corrigé dans KES 10 SP1.

Pour le moment la seule solution de contournement consiste à by-passer le contrôle des applications incompatibles lors de l’installation de KES :

==> Installation locale :
setup.exe /pSKIPPRODUCTCHECK = 1

==> Installation à distance via SC 10 :
– Modifiez le fichier kes10win.kpd et kes10win.kud dans le sous-dossier exec depuis le dossier du paquet d’installation de l’application.
– Ouvrez Kes10win.kpd dans un éditeur de texte.
– Trouvez la section [setup], et modifiez la ligne comme suit :
Params = / s / pAKINSTALL = 1 / Peula = 1 / pSKIPPRODUCTCHECK = 1 / pSKIPPRODUCTUNINSTALL = 1
– Enregistrez les modifications dans Kes10win.kpd.
Faites la même chose avec le fichier Kes10win.kud.

Scripter la configuration d’une carte réseau pour passer en DHCP

Pour configurer une carte réseau en mode DHCP grâce à un script, il existe plusieurs solutions :

La ligne de commande ou le script CMD :

netsh interface ip set address "Connexion au r‚seau local" dhcp
netsh interface ip set DNS "Connexion au r‚seau local" dhcp
netsh interface ip set WINS "Connexion au r‚seau local" dhcp

Attention ici aux accents du nom de la connexion réseau.

L’inconvénient de cette technique est qu’elle appelle le nom de la connexion réseau. Si jamais elle a été changée, le script devra être adapté (il y a donc un risque d’erreur lors de l’exécution du script sur un parc important)

Le script VBS :

strComputer = "."
blnFullDNSRegistrationEnabled = True
blnDomainDNSRegistrationEnabled = True
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

For Each objNetAdapter In colNetAdapters
'Passage de l'adresse IP en DHCP
errEnable = objNetAdapter.EnableDHCP()
'Reset du DNS
objNetAdapter.SetDNSServerSearchOrder(null)
'Reset du nom de domaine DNS
'strDNSDomain = "" 
'objNetAdapter.SetDNSDomain strDNSDomain 
'Enregistrement dynamique dans le DNS
errEnable = objNetAdapter.SetDynamicDNSRegistration(blnFullDNSRegistrationEnabled, blnDomainDNSRegistrationEnabled)
'Reset du Wins
strPrimaryServer = ""
strSecondaryServer = ""
objNetAdapter.SetWINSServer strPrimaryServer, strSecondaryServer
'Demande de Bail
errRenewDHCP = objNetAdapter.RenewDHCPLease() 
'Gestion des erreurs
If errRenewDHCP = 0 Then 
WScript.Echo "La configuration de votre PC est terminée"
Else 
WScript.Echo "Une erreur est survenue lors du passage en mode DHCP"
End If
Next

Internet Explorer Administration Kit IEAK 11

Le Kit d’administration d’Internet Explorer a été publié pour permettre de personnaliser l’installation et le déploiement d’Internet Explorer 11 en entreprise.

Il est disponible sur la page IEAK d’Internet Explorer chez Microsoft à l’adresse suivante : http://technet.microsoft.com/en-us/ie/bb219517.aspx

Je vous conseille de lire également la page What IEAK can do for you qui détaille les possibilités du Kit (en anglais)
http://technet.microsoft.com/en-US/ie/bb219541.aspx

Le guide d’utilisation est disponible sur Technet (en anglais) :
http://technet.microsoft.com/en-us/library/dn454924.aspx

Internet Explorer 11 peut être téléchargé ici :
http://windows.microsoft.com/fr-fr/internet-explorer/download-ie

Il est supporté sur les systèmes suivants :

  • Windows 7 SP1 et 8.1
  • Windows 2008 R2 SP1 et 2012 R2

Déployer Windows Photo Gallery 2012

Je suis tombé sur un article très intéressant qui explique comment installer hors ligne la suite Windows live 2012 et notamment Windows Photo Gallery et Windows Movie Maker

Le lien en anglais : http://pcloadletter.co.uk/2012/08/22/deploying-windows-photo-gallery/

Télécharger Windows Live pour une installation horsligne : http://windows.microsoft.com/en-GB/windows-live/essentials-install-offline-faq

Exécuter ensuite la commande :

start /wait WLSetup-all.exe /q /r:n /NOToolbarCEIP /NOhomepage /nolaunch /nosearch /AppSelect:MovieMaker /log:%TEMP%\WLEsetup.log

 

Extrait du Paramétrage du registre en VBS

...
'default preferences for Microsoft Photo Library (agree EULA, don't steal filetype associations, no Windows Live sign-in)
objReg.CreateKey HKEY_CURRENT_USER,"Software\Microsoft\Windows Live"
objReg.CreateKey HKEY_CURRENT_USER,"Software\Microsoft\Windows Live\Common"
objReg.SetStringValue HKEY_CURRENT_USER,"Software\Microsoft\Windows Live\Common","TOUVersion","16.0.0.0"
objReg.CreateKey HKEY_CURRENT_USER,"Software\Microsoft\Windows Live\Photo Gallery"
objReg.SetDWORDValue HKEY_CURRENT_USER,"Software\Microsoft\Windows Live\Photo Gallery","SignInRemindersLeft","0"
objReg.CreateKey HKEY_CURRENT_USER,"Software\Microsoft\Windows Live\Photo Gallery\Library"
arrStringValues = Array(".WDP",".BMP",".JFIF",".JPEG",".JPE",".JPG",".PNG",".TIF",".DIB",".TIFF",".ICO")
objReg.SetMultiStringValue HKEY_CURRENT_USER,"Software\Microsoft\Windows Live\Photo Gallery\Library", "DontShowAssociationsDialogExtensions", arrStringValues
...

Désactiver l’assistant au premier démarrage d’IE8

L’objectif principal d’un master est de faciliter les choses à l’utilisateur final.

Dans le cas d’Internet Explorer, on souhaite ici éviter à l’utilisateur d’avoir à subir l’assistant de premier démarrage d’Internet Explorer 8.

L’assistant de premier démarrage d’IE8 qu’on cherche à désactiver

Pour désactiver l’assistant qui se lance au premier démarrage d’Internet Explorer 8, il existe plusieurs méthodes.

On peut passer par l’IEAK mais sur Windows 7, IE8 est déjà intégré.

On peut passer par le registre avec la clé

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\DisableFirstRunCustomize
En passant la valeur DWORD à 1, mais l’assistant ne sera alors désactivé que pour l’utilisateur courant.

Pour gérer ce réglage de manière plus globale, autant privilégier l’utilisation des GPO.

Pour arriver à cette fin, créer une GPO locale ou globale

Dans : Stratégies, Modèles d’administration, Compsants Windows, Internet Explorer

Sélectionner Empêcher le fonctionnement des paramètres de personnalisation à la première exécution.

Empêcher le fonctionnement des paramètres de personnalisation à la première exécution

Activer la GPO et sélectionner « Aller directement à la page d’accueil »

Activer la GPO et choisir d’aller à la page d’accueil

Désactiver l’assistant d’adhésion au premier lancement d’Office 2010

Au premier lancement d’une application Office 2010, une fenêtre apparaît pour demander à l’utilisateur d’activer ou de désactiver plusieurs services Internet qui facilitent la protection et l’amélioration des applications Office 2010.

Bienvenue dans Office 2010

Cette fenêtre appelée « Assistant d’adhésion » ou « Bienvenue dans Microsoft Office 2010 » peut nécessiter de disposer de privilèges « administrateur » pour être validée et peut être pré-configurée lors du déploiement d’Office 2010 grâce à l’outil de personnalisation de Microsoft Office ou « Office Customization Tool »

Pour cela, lancer le fichier setup.exe du CD d’Office 2010 avec le paramètre /admin ou via MDT, cliquer sur le bouton « Office Customization Tool » dans l’onglet « Office Products » de votre application.

Utilisez le bouton Office Customzation Tool pour personnaliser l'installation

Dans la section « Modifier les paramètres utilisateur », développer l’arborescence Microsoft Office 2010 puis confidentialité puis centre de gestion de la confidentialité.

Désactiver l'assistant adhésion lors de la première exécution

Activer ensuite le paramètre « Désactiver l’assistant Adhésion lors de la première exécution »

Enregistrer votre fichier .MSP dans le répertoire UPDATES des sources d’installation d’Office 2010. Il sera pris en compte automatiquement au cours du processus d’installation.

Pour plus d’informations sur la condifentialité dans Office 2010, suivez ce lien : http://technet.microsoft.com/fr-fr/library/cc179123.aspx

 

Mandatory Applications dans MDT

Lorsqu’on utilise la base de données SQL Express dans MDT, il existe la possibilité de définir des configurations par types d’ordinateurs identifiés par la marque et le modèle.

A partir d’une référence, on peut ensuite ajouter des applications qui lui seront dédiées.

Par exemple, lorsque MDT détecte que l’ordinateur est un DELL Latitude D630, la base de données permet d’y affecter des applications dédiées comme Dell Quickset ou encore le client Wireless 3G.

Pour ma part, je regroupe toutes ces applications dans un BUNDLE associé à chaque modèle de machine. Pour des raisons esthétiques, ce BUNDLE est masqué dans le Wizard pour les techniciens de déploiement.

Au moment de l’exécution du Wizard, l’assistant va donc détecter que mon ordinateur est DELL Latitude D630 et peupler la liste des applications à installer pour ce PC.

Un problème survient cependant si vous décidez de laisser la possibilité à l’utilisateur d’ajouter des applications supplémentaires au cours de l’assistant.

En effet si l’utilisateur choisi d’ajouter d’autres applications, cette action va réinitialiser la liste des applications à installer et l’ordinateur n’aura jamais celles qui avaient été prédéfinies dans la base de données.

Pour éviter cela, une astuce existe.

Dans le fichier CustomSettings.ini, dans la section de la base de données [MMApps] ajouter la ligne MandatoryApplications=Applications

Ainsi, lors de la détection de la plateforme matérielle au lancement de l’assistant, les applications prédéfinies seront transformées en Mandatory Applications et ne seront plus perdues.