Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

Apps Générateur de WinPE

 

Bonjour,

je vais vous présenter un générateur de Windows Pre Environment (WinPE)

 

clip_image002[66]

 

Dans cette application, vous pouvez :

 

générer un environnement de construction Windows PE

 

 

Ajouter les fonctionnalités suivantes :

 

WinPE-Scripting
WinPE-NetFx
WinPE-PowerShell
WinPE-DismCmdlets
WinPE-WMI
WinPE-StorageWMI
WinPE-Dot3Svc
WinPE-HTA

 

Mettre la langue du PE en français

 

Générer une image ISO.

 

 

Remarque:

L’outil fonctionne en One Shot : création + ajout de fonctionnalités.

La simple édition d’un PE déjà construit n’est pas pris en compte.

 

Pré requis

 

L’ADK doit être installé dans son emplacement par défaut.

Exemple : C:\Program Files (x86)\Windows Kits\xx

Ou xx est la version de l’ADK

 

Récupération de l’outil

 

L’exécutable peut être récupéré ici :

https://onedrive.live.com/redir?resid=B370CC46EA3AB572!137&authkey=!ANkLug_PPC-kh-8&ithint=folder%2cexe

Nom de l’exécutable : GeneratorWinpe_x.x.exe

 

Plateformes validée

 

L’outil GeneratorWinPe a été validé dans les contextes suivant :

 

OS

Architecture OS

Version ADK

Windows 7

x86

8

Windows Server 2008 R2

X64

8.1

Windows 8.1

x64

8.1

Windows 8.1

x64

10 Technical Preview

Windows Server 2012

x64

8

 

Lancement de l’outil

 

Il est nécessaire de modifier la politique d’exécution PoweShell pour lancer l’outil GeneratorWinPE car celui ci a été écrit en PowerShell.

Lancer une fenêtre PowerShell en tant que Administrateur

clip_image001

Taper la commande

Set-ExecutionPolicy unrestricted

et valider avec Yes.

clip_image002

Lancer l’outil GeneratorWinPe en tant qu’administrateur

clip_image001[4]

Présentation de l’interface

 

Vous devez ici saisir le répertoire ou sera créé votre PE.

clip_image002[5]

Attention :

· le répertoire ne doit pas déjà exister.

· La création du répertoire ne peut s’effectuer qu’à la racine du lecteur

· Pas d’espace dans le nom de répertoire

 

Plusieurs options s’offrent à vous :

  • Mount
  • Fr
  • Unmount
  • ISO

clip_image002[7]

 

En cochant l’option Mount, vous pouvez ajouter des fonctionnalités au PE qui sera généré.

 

clip_image002[14]

 

Unmount permet de démonter l’image si celle-ci a été montée.

 

clip_image002[68]

 

 

Fr permet d’appliquer la langue Française au PE (clavier Azerty)

 

clip_image002[18]

 

 

Cette option vous permet de créer une image ISO de votre PE

 

clip_image002[20]

 

 

Vous pouvez sélectionner votre version d’ADK à utiliser

 

clip_image002[22]

 

 

Vous pouvez sélectionner si votre PE sera de type x86 ou x64

 

clip_image002[24]

 

 

Lock permet de lancer des vérifications et débloque le bouton Lancement.

Lancement permet de procéder à la construction du PE.

Unlock permet de débloquer l’application suite à un Lancement.

 

clip_image002[26]

 

Utilisation de l’application

 

Sélectionner le volume et taper le nom du répertoire qui sera créé pour l’environnement de votre PE

clip_image002[28]

 

Sélectionner Mount puis cocher les fonctionnalités vous intéressant à intégrer à votre PE.

clip_image002[30]

 

Sélectionner la version d’ADK à utiliser et l’architecture souhaité pour votre PE

clip_image002[32]

 

 

Cliquer sur Unmount, Fr et ISO

clip_image002[34]

 

 

Cliquer maintenant sur Lock

clip_image002[36]

 

 

Le bouton Lancement est maintenant disponible.

Cliquer sur Lancement

 

clip_image002[38]

 

L’image est montée.

 

clip_image0016

 

En fonction de différentes fonctionnalités ajoutées, vous allez avoir plusieurs fenêtres Powershell qui vont se lancer.

 

La fonctionnalité Scripting a été ajoutée.

clip_image002[40]

 

La fonctionnalité NetFx a été ajoutée.

clip_image002[42]

 

La fonctionnalité Powershell a été ajoutée.

clip_image002[44]

 

La fonctionnalité DismCmdlets a été ajoutée.

clip_image002[48]

 

La fonctionnalité WMI a été ajoutée.

clip_image002[50]

 

La fonctionnalité StorageWMI a été ajoutée.

clip_image002[54]

 

La fonctionnalité Dot3Svc a été ajoutée.

clip_image002[56]

 

La langue Fr a été appliquée

clip_image002[58]

 

L’image a été démontée avec prise en compte des modifications apportées

clip_image002[60]

 

L’Image ISO a été créée

clip_image002[62]

 

Les opérations sont finies

clip_image002[64]

 

 

Vous trouverez votre image ISO dans votre environnement de construction.

clip_image001[8]

Utilisation de la commande CopyPe dans un contexte Powershell

 

Si vous exécuter CopyPe.exe dans une fenêtre PowerShell, vous aurez comme résultat :

ERROR: The following processor architecture was not found: x86.

 

image

Une petite astuce :

Lorsque vous lancez l’environnement de déploiement de l’ADK

image

En réalité, vous lancez le script DandISetEnv.bat.

image

Ce script peut être trouvé dans le répertoire suivant :

« C:\Program Files (x86)\Windows Kits\xx\Assessment and Deployment Kit\Deployment Tools »

image

Nous allons donc ajouter à ce script la ligne de commande Copype nous intéressant. Ainsi, l’exécutable Copype sera lancé dans le contexte de l’environnement de déploiement de l’ADK.

Comment allons-nous procéder ?

Pour ne pas modifier le script DandISetEnv.bat original, nous allons récupérer son contenu, le copier dans un emplacement temporaire et modifier ce fichier.

get-content « C:\Program Files (x86)\Windows Kits\xx\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat » | Out-File « $env:temp\DandISetEnv.bat » -encoding ASCII

On ajoute la commande copype à la copie du fichier.

«  » | Out-File -Append « $env:TEMP\DandISetEnv.bat » -Encoding ASCII

« copype x86 c:\MonPE_x86 » | Out-File –Append « $env:TEMP\DandISetEnv.bat » -Encoding ASCII

 

Et on exécute le script

cd $env:TEMP

.\DandISetEnv.bat

image

Le répertoire de travail du PE est maintenant construit.

image

Identifier les Index des couleurs de cellules Excel via les objets COM sous Powershell

Vous utilisez les objets COM pour la manipulation de Excel en Powershell et vous souhaitez colorer une cellule sur votre Excel.

Voici un petit script qui va vous permettre d’identifier l’index associé à sa couleur pour la valeur de la commande .Interior.ColorIndex

 

$Excel = New-Object -ComObject excel.application
$Excel.visible = $true
$workbookHEBDO = $Excel.workbooks.add()
$serverInfoSheetHEBDO = $workbookHEBDO.Worksheets.Item(1)
$excel.cells.item(1,1) = « COLOR »
$excel.cells.item(1,1).Interior.ColorIndex =48
$excel.cells.item(1,1).Font.Bold=$True
$excel.cells.item(1,2) = « Number »
$excel.cells.item(1,2).Interior.ColorIndex =48
$excel.cells.item(1,2).Font.Bold=$True
for ($i=1; $i -le 56; $i++)
{
$excel.cells.Item($i+1, 1).Interior.ColorIndex = $i
$excel.cells.item($i+1,2) = $i
}

 

Résultat :

image