Nettoyage des VM Windows pour créer des OMI

Cette page liste les éléments d’une machine virtuelle (VM) Windows que vous pouvez nettoyer avant de créer une OMI, principalement si vous souhaitez ensuite la partager avec d’autres utilisateurs.

Une OMI créée à partir d’une VM ou d’un snapshot partage les mêmes caractéristiques que cette VM ou la VM depuis lequel le snapshot a été créé. De plus, une VM peut contenir des informations que vous ne souhaitez pas partager.

Il est par conséquent fortement recommandé de nettoyer ces éléments de votre VM, ou de la VM depuis laquelle le snapshot a été créé, avant de créer votre OMI.

Vue d’ensemble

Créer des VM à partir d’une OMI qui n’a pas été nettoyée au préalable résultera en une instabilité des VM dans un environnement Windows car elles partageront le même UUID qui est supposé unique.

Vous devez nettoyer votre VM avant d’exécuter le script OMI Creation Launcher situé à l’emplacement C:\Windows\Outscale\scripts\.

Les sections ci-dessous rassemblent les éléments que vous pouvez nettoyer avant de créer une OMI :

Configuration des comptes

Compte invité

Désactivez le compte invité en allant dans Computer Management > System Tools > Local Users and Group > Users et cliquez sur Disable guest.

Information de profil

Dans un terminal PowerShell, supprimez les fichiers de logs des syspreps précédents et nettoyez le répertoire AppData, l’historique du registre, et l’historique de PowerShell ISE :

Remove-Item -Path "C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent\*" -Force -Recurse -Confirm:$false -ErrorAction SilentlyContinue
Remove-Item -Path "C:\Users\Administrator\AppData\Local\Temp\*" -Force -Recurse -Confirm:$false -ErrorAction SilentlyContinue
Remove-Item -path "C:\Windows\System32\sysprep\Panther\setupact.log" -Force -Recurse -Confirm:$false -ErrorAction SilentlyContinue
Remove-Item -path "C:\Windows\System32\sysprep\Panther\setuperr.log" -Force -Recurse -Confirm:$false -ErrorAction SilentlyContinue
Remove-Item -Path "C:\Windows\System32\sysprep\Panther\IE\setupact.log" -Force -Recurse -Confirm:$false -ErrorAction SilentlyContinue
remove-item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\*" -Force -Recurse -Confirm:$false -ErrorAction SilentlyContinue
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths" -Name * -Confirm:$false -ErrorAction SilentlyContinue
remove-item -Path "C:\Documents and Settings\Administrator\Recent\*" -Force -Recurse -Confirm:$false -ErrorAction SilentlyContinue
remove-item -Path "C:\Documents and Settings\Administrator\Local Settings\Temp\*" -Force -Recurse -Confirm:$false -ErrorAction SilentlyContinue
remove-item -Path "C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent\*" -Force -Recurse -Confirm:$false -ErrorAction SilentlyContinue
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\" -Name "LastKey" -ErrorAction SilentlyContinue
Remove-Item -Path "C:\Users\Administrator\AppData\Local\microsoft_corporation\powershell_ise.exe_StrongName_lw2v2vm3wmtzzpebq33gybmeoxukb04w\3.0.0.0\user.config" -Force -Confirm:$false -ErrorAction SilentlyContinue

Historique du menu de démarrage

Dans un terminal PowerShell, nettoyez la boîte de dialogue execute/run :

foreach ($item in (Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist)){Clear-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\$($item.PSChildName)\Count}

Historique de Windows Explorer

Dans un terminal PowerShell, nettoyez l’historique de Windows Explorer :

Clear-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU  -Force -Confirm:$false -ErrorAction SilentlyContinue

Historique d’Internet Explorer

Dans un terminal PowerShell, nettoyez l’historique d’Internet Explorer :

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32

Partage de fichiers

Désactivez les fichiers partagés accessibles par des utilisateurs non authentifiés en allant dans Computer Management > System Tools > Shared Folders > Shares.

Il est recommandé de désactiver complètement le partage de fichiers.

Domaine Windows

Assurez-vous que votre VM n’est connectée à aucun domaine Windows, en allant dans Control Panel > System and Security > System et en vérifiant que votre VM est dans un groupe de travail et non dans un domaine.

Configuration de la VM dans le Cloud OUTSCALE

Logs OUTSCALE

Dans un terminal PowerShell, nettoyez les logs OUTSCALE dans C:\Windows\Outscale\logs\* :

remove-item -Path "C:\Windows\Outscale\logs\*" -Force -Confirm:$false -ErrorAction SilentlyContinue

Fichiers temporaires OUTSCALE

Dans un terminal PowerShell, nettoyez les fichiers temporaires OUTSCALE dans C:\Windows\Outscale\tmp\* :

Remove-Item -Path "C:\Windows\Outscale\tmp\*" -Force -Recurse -Confirm:$false -ErrorAction SilentlyContinue

Script des données utilisateur (user data)

Dans un terminal PowerShell, nettoyez les données utilisateur que vous avez spécifiées pour la VM, dans C:\Windows\Outscale\userdata\* :

Remove-Item -Path "C:\Windows\Outscale\userdata\*" -Force -Recurse -Confirm:$false -ErrorAction SilentlyContinue

Pour en savoir plus sur les user data, voir Configurer une VM avec les user data et les tags OUTSCALE.

Logs

Fichiers temporaires

Dans un terminal Powershell, nettoyez les fichiers temporaires sur votre VM :

remove-item -Path "C:\Windows\Temp\*" -Force -Recurse -Confirm:$false -ErrorAction SilentlyContinue

Logs des evènements Windows

Dans un terminal PowerShell, nettoyez les logs des évènements Windows :

Clear-EventLog Application
Clear-EventLog System
Clear-EventLog Security

Ces logs doivent être le dernier élément que vous nettoyez.

Pages connexes