PI Services

Le blog des collaborateurs de PI Services

DISM_64bits_Mount-Unmount

 

Présentation

 

Nous allons ici découvrir un outil graphique permettant de manipuler des images WIM au travers d’une interface GUI.

 

image

 

L’outil DISM_64bits_Mount-Unmount en version 1.0 est disponible sur ce lien :

https://onedrive.live.com/?cid=b370cc46ea3ab572&id=B370CC46EA3AB572%21137&ithint=folder,exe&authkey=!ANkLug_PPC-kh-8

 

Les chapitres que vous pouvez trouver ci dessous présentent les possibilités de l’outil DISM_64bits_Mount-Unmount :

 

  • Changer de version DISM [nécessite l’installation du Windows Kits]
  • Monter une image WIM
  • Ajout de Drivers
  • Ajout de Package
  • Démonter une image WIM
  • Création d’une image ISO WinPe [ nécessite le Windows Kits]
  • Création d’un VHDX
  • Appliquer une image WIM
  • Obtenir des informations sur un VHDX (Module Hyper-V nécessaire)
  • Capturer une image WIM
  • Ajouter du contenu (index) à une image WIM

Rappel : une image wim est un fichier d’image de disque. Ce format est utilisé nativement pour les installations de Windows depuis Vista et Windows Server 2008. Pour accéder au contenu d’une image WIM et le modifier, vous devez monter l’image dans un répertoire et y apporter les modifications. Une fois les modifications effectives, vous devez démonter l’image.

 

 

 

Pré requis

 

.Net Framework 3.5 doit être installé

L’outil est packagé en 64 bits. Donc un OS en 64 bit est nécessaire pour son exécution. L’outil DISM_64bits_Mount-Unmount nécessite au minimum l’utilisation de Windows 7 qui intègre la version DISM 6.1.7600.16385.

Facultatif : vous pouvez installer les outils de déploiement présent dans une version d’ADK pour changer la version de DISM utilisé durant les opérations de l’outil.

 

 

 

Récupération et installation du Windows Kits (ADK 10) [Facultatif]

 

Vous pouvez récupérer la dernière version de ADK en version 10 via le lien suivant :

http://download.microsoft.com/download/8/1/9/8197FEB9-FABE-48FD-A537-7D8709586715/adk/adksetup.exe

 

Installer les outils de déploiement.

image

 

 

 

 

Modification de la politique d’exécution PowerShell

 

Il est nécessaire de modifier la politique d’exécution PowerShell pour lancer l’outil DISM_64bits_Mount-Unmount.

Lancer une fenêtre PowerShell en tant que administrateur.

 

image

 

 

Lancer la commande

Set-ExecutionPolicy unrestricted et valider.

image

 

Nous allons désormais lancer l’outil et voir ces possibilités.

 

 

 

Changer de version DISM [ nécessite l’installation du Windows Kits]

 

Lancer l’outil en tant que administrateur.

image

 

 

L’interface se lance

image

 

 

Vous pouvez sélectionner l’emplacement ou se situe votre répertoire Windows Kits. Celui ci détectera les versions d’ADK présente sur votre système.

image

 

 

Les version d’ADK installés dans le Windows Kits apparaissent. En sélectionnant une version d’ADK, vous utiliserez l’exécutable DISM associé pour les différentes actions de l’outil.

image

 

 

le bouton Unlock  permet de retirer la sélection du Windows Kits et donc la version ADK choisie. La version DISM utilisé sera alors celle présente dans votre OS nativement.

image

 

 

 

Monter une image WIM

 

Lancer l’outil en tant que administrateur.

image

 

 

L’interface se lance

image

 

 

Sélectionner l’image Wim et l’index.

image

 

 

Sélectionner le répertoire de montage

image

 

 

Cliquer sur le bouton Mount pour lancer les opérations de montage

image

 

 

Une fenêtre PowerShell se lance pour effectuer les opérations de montage.

image

 

 

L’image est maintenant monté.

image

 

 

 

 

Ajout de Drivers

 

Lancer l’outil en tant que administrateur.

image

 

 

L’interface se lance

image

 

 

Sélectionner le répertoire ou votre image est montée.

image

 

 

Sélectionner le répertoire ou se situe les drivers à injecter

image

 

 

Cliquer sur Add-Drivers pour procéder à l’injection des drivers.

image

 

 

Une fenêtre PowerShell se lance pour effectuer le traitement

image

 

 

 

Ajout de Package

 

Lancer l’outil en tant que administrateur.

image

 

 

L’interface se lance

image

 

 

Sélectionner le répertoire ou votre image est montée

image

 

 

Cocher le type d’extensions ou répertoire que vous souhaitez parcourir pour l’ajout de Package et sélectionner le Package à ajouter.

image

 

 

Cliquer sur Add pour procéder à l’injection du Package.

image

 

 

Une fenêtre PowerShell se lance pour le traitement des instructions.

image

 

 

 

Démonter une image WIM

 

Lancer l’outil en tant que administrateur.

image

 

 

L’interface se lance

image

 

 

Sélectionner le répertoire ou est monté l’image WIM.

image

 

 

Cliquer sur le bouton radio Commit ou Discard et cliquer sur Unmount

Commit enregistre les modifications apportées à l’image wim.

Discard n’enregistre pas les modification apportées à l’image wim.

image

 

 

Une fenêtre PowerShell se lance pour effectuer le démontage.

image

 

 

L’image est maintenant démontée.

image

 

 

 

 

Création d’une image ISO WinPe [nécessite le Windows Kits]

 

 

Lancer l’outil en tant que administrateur.

image

 

 

L’interface se lance

image

 

 

Pour profiter de la fonctionnalité ISO de l’outil, vous devez utiliser Windows Kits.

image

 

 

Sélectionner l’environnement de construction de votre WinPe

Exemple d’environnement  de construction :

 

image

 

 

Donner un nom à votre ISO puis cliquer sur le bouton Build.

image

 

 

Une fenêtre PowerShell se lance pour la création de l’ISO.

image

 

 

Votre ISO est désormais créée dans l’environnement de construction précédemment définit.

image

 

 

 

Création d’un VHDX

 

Lancer l’outil en tant que administrateur.

image

 

 

L’interface se lance

image

 

La section VHD permet la création de VHDX.

Pour la création du VHDX vous pouvez choisir si celui ci sera  de type

  • Fixed
  • Dynamic

 

  • MBR
  • GPT

Vous pouvez également choisir la taille du VHDX et son emplacement de création.

Une fois les éléments de configuration du VHDX sélectionnés et définis, cliquer sur le bouton Create.

 

Remarque : lors de la création du VHDX, celui ci sera formaté en NTFS et monté dans l’explorateur.

image

 

 

Une fenêtre PowerShell se lance pour effectuer les opérations.

image

 

 

Le VHDX est maintenant créé et monté dans l’explorateur de fichier

image

 

 

 

 

Appliquer une image WIM

 

Lancer l’outil en tant que administrateur.

image

 

 

L’interface se lance

image

 

 

Sélectionner l’image WIM et l’index que vous désirez appliquer

image

 

 

Sélectionner maintenant l’emplacement ou vous désirez appliquer l’image WIM.

image

 

 

Cliquer sur le bouton Apply pour lancer l’application de l’image.

image

 

 

L’application de l’image est désormais effectuée.

image

 

 

Remarque : Si vous appliquez une arborescence d’un OS Windows tel que Windows 10 ou WinPe par exemple sur une racine de lecteur, l’outil va alors détecter qu’il s’agit d’une arborescence type “OS Microsoft” et vous proposer de copier les fichiers de démarrages dans la partition système.

image

 

 

Si vous cliquez sur oui

 

image

 

 

Les entrées du magasin BCD ont été mis à jour.

image

 

 

Au prochain redémarrage du poste, il vous sera possible de démarrer sur l’OS depuis le VHD.

image

 

 

 

Obtenir des informations sur un VHDX (Module Hyper-V nécessaire)

 

Lancer l’outil en tant que administrateur.

image

 

 

L’interface se lance

image

 

 

Cliquer sur le bouton ci joint et sélectionner votre VHDX

image

 

 

Cliquer sur le bouton Infos VHDX

image

 

 

Des informations apparaissent sur la configuration du VHDX sélectionné.

image

 

 

 

 

Capturer une image WIM

 

Lancer l’outil en tant que administrateur.

image

 

 

L’interface se lance

image

 

 

Sélectionner un répertoire à capturer en image WIM

image

 

 

Sélectionner maintenant le répertoire ou sera créé l’image WIM.

image

 

 

Taper le nom de fichier de l’image WIM ainsi que le nom qui sera donné à l’index; cocher des options si besoin.

image

 

 

Cliquer sur Go pour lancer la capture

image

 

 

L’opération s’effectue.

image

 

 

L’image WIM est désormais créée.

image

 

 

Vous pouvez obtenir des informations de la WIM créée en sélectionnant l’image dans la section WIM.

image

 

 

 

Ajouter du contenu (index) à une image WIM

 

Lancer l’outil en tant que administrateur.

image

 

 

L’interface se lance

image

 

 

Sélectionner le répertoire à capturer.

image

 

 

Cocher la case Append

image

 

 

Sélectionner l’image WIM à éditer

image

 

 

Ajouter le nom qu’aura le nouvel index dans l’image WIM.

image

 

 

Cliquer sur Go pour lancer les opérations

image

 

 

L’opération s’effectue.

image

 

 

Vous pouvez obtenir des informations sur l’image WIM en sélectionnant l’image dans la section WIM.

image

ADK 10 (10.0.10240.16384) disponible + Mise à jour du GeneratorWinPE_1.1

 

ADK 10

 

Vous pourrez trouver la version de ADK 10 (10.0.10240.16384) disponible via ce lien :

http://download.microsoft.com/download/8/1/9/8197FEB9-FABE-48FD-A537-7D8709586715/adk/adksetup.exe

 

une fois le kit de déploiement installé, la version détectée au travers de appwiz.cpl est 10.0.26624

clip_image002

 

En utilisant la build précédente de l’ADK, lors de l’ajout de Powershell dans le PE celui ci s’ajoutait correctement.

 

Cependant lors de son utilisation un message d’erreur apparaissait.

Avec cette build, l’intégration de PowerShell est fonctionnellePouce levé

 

image

 

GeneratorWinPE 1.1

 

L’application a été mis à jour.

 

Disponible ici :

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

 

il est maintenant nécessaire de sélectionner le Path du Windows Kits.

 

clip_image002[5]

 

Une fois celui ci définit, les versions d’ADK présentes s’’affichent :

 

clip_image004

 

Cette action permet de s’affranchir d’une installation avec le Path par défaut de Windows Kits sur C: par exemple.

 

Rappel : Présentation  de GeneratorWinPE  http://blog.piservices.fr/post/Apps-Generateur-de-WinPE.aspx

 

Vous pouvez maintenant via GeneratorWinPE créer votre WinPe 10 avec l’utilisation de cette version d’ADK   Clignement d'œil

Utilisation de la commande Powershell New-TimeSpan sur des cultures différentes

 

Vous avez besoin de connaitre la différence entre deux variables de temps différente

 

Exemple :

 

$source="23/06/2015 11:43:50"

$dest="23/06/2015 18:42:38"

 

La commande New-TimeSpan nous permet de calculer cette différence.

 

Cependant, les valeurs de nos 2 variables ont été récupérées sur un ordinateur ou la culture était fr-FR.

 

L’interprétation de la commande New-TimeSpan ne posera pas de problème si celle-ci est exécutée sur un poste ayant une culture fr-Fr

 

Exemple :

image

 

Cependant, si la culture du poste est différente de fr-FR. Cela peut poser problème.

 

Exemple : avec un poste ayant une culture en-US, la commande New-TimeSpan n’est pas capable de bien interprété la valeur de nos 2 variables qui sont formatés dans une culture fr-FR.

 

image

 

 

Si nous voulons que la commande New-TimeSpan puisse interpréter correctement la valeur de nos 2 variables, il va donc falloir les formater correctement.

 

[System.Globalization.CultureInfo]$French = 'fr-FR'

[System.Globalization.CultureInfo]$English = 'en-US'

 

$DateTime = [datetime]::Parse($source, $French)
$source = $DateTime.ToString($English)
 
 
$DateTime = [datetime]::Parse($dest, $French)
$dest = $DateTime.ToString($English)
 
 
 

Résultats :

 

image

 

New-TimeSpan peut maintenant calculer la différence des deux variables

 

image

Exchange / Powershell : EWS et Impersonation

Introduction

Les Exchanges Web Services (EWS) sont très pratiques pour manipuler le contenu d'une boite aux lettres. Ceux-ci ont été créés pour s'intégrer dans des applications en C# mais peuvent aussi être utilisés dans un script Powershell. Grâce aux EWS, nous pouvons manipuler des dossiers, des messages, le calendrier. Il est possible de réaliser des opérations de créations (comme l'envoi d'un email), suppressions et modifications. Cependant, nous verrons qu'il est nécessaire d'avoir des droits sur la boite aux lettres d'un utilisateur ou d'utiliser un mécanisme d'impersonation pour réaliser ces opérations.


Contexte

Cet article est basé sur un retour d'expérience d'utilisation des EWS dans un environnement Exchange 2010 SP3. Le système de réservation de ressources d'une entreprise (salle, équipements) devait migrer vers Exchange. Un mécanisme de reprise de l'existant a dû être mis en place pour créer les réservations dans les calendriers des ressources et des personnes réservant la ressource.


EWS

Afin d'utiliser les Exchange Web Services dans un script Powershell, il faut installer le package permettant d'interagir avec ceux-ci.


Ce dernier est actuellement en version 2.2 et peuvent s'interfacer avec toutes les versions d'Exchange de 2007 SP1 à la dernière en date : 2013 SP1 (Les cumulatives updates n'ont pas d'importance).


Il est disponible en suivant le lien ci-dessous :

http://www.microsoft.com/en-us/download/details.aspx?id=42951


Impersonation

Les Exchange Web Services utilisent l'autodiscover pour communiquer avec une boite aux lettres spécifique.


Exemple de connexion aux EWS :



Cependant, dès que j'effectuerai une opération sur la boite aux lettres, il me faudra des droits sur cette boite aux lettres comme le contrôle total. Dans le cas contraire, j'obtiendrai des erreurs.


Donner des droits sur un grand nombre de boites aux lettres n'est pas recommandable car cela complexifie l'administration. il existe donc une seconde option permettant de se faire passer pour le compte utilisateur de la boite aux lettres. Il s'agit de l'impersonation. C’est un rôle à attribuer à un compte de service (via le mécanisme RBAC). Cette solution offre plusieurs avantages :


  • Simplicité d'administration : on peut rapidement ajouter ou supprimer les droits d'impersonation à un compte.
  • Contrôle des comptes visés : le scope des utilisateurs pouvant être "remplacer" par un compte de service peut facilement être modifié sans devoir changer les propriétés de chaque boite aux lettres.
  • Décoreller des délégations : le processus d'impersonation n'apparait pas dans les délégations et il est ainsi plus simple de faire la différence entre les deux mécanismes et les différentes autorisations.

Implémentation RBAC

Le rôle permettant l'impersonation est nommé ApplicationImpersonation. Pour l'implémenter, nous allons d'abord créer un scope, c’est-à-dire définir les utilisateurs sur lesquels le compte de service pourra faire de l'impersonation.


Dans l'exemple ci-dessous, nous créons un scope contenant toutes les boites aux lettres utilisateurs :

Puis, nous ajoutons le rôle ApplicationImpersonation à l'utilisateur souhaité en spécifiant le scope créé précédemment.


NB : Pensez à changer la valeur MYUSER par le nom d'utilisateur de du compte réalisant de l'impersonation.


Script

Ci-dessous vous trouverez différentes fonctions Powershell commentées permettant la création d’une réunion avec la possibilité de réserver une salle mais aussi la validation que ces réunions ont bien été créées. Ces fonctions gèrent l’impersonation tant que le compte avec lequel la connexion aux EWS possède ce droit sur les boites aux lettres visées.

 

Fonction de création de réunions :


 

Fonction de validation de la réunion dans le calendrier utilisateur :

Cette fonction valide qu’une réunion possédant les bonnes ressources ainsi que les bonnes dates de début et de fin existe dans le calendrier de l’utilisateur.


 

Elle permet aussi de vérifier qu’il n’y a pas eu de création de doublons dans le calendrier (utile si un script de création de réunion à été exécuté plusieurs fois).

 

Fonction de validation de la réunion dans le calendrier de la boîte aux lettres de ressources :

Cette fonction cherche une réservation de la ressource en validant les dates et heures ainsi que le nom de la personne ayant créé cet objet. Cette vérifications s‘effectue sur le calendrier de la boite aux lettres de ressource. Le statut de la réservation est aussi vérifié (valeur attendue : Accept) afin d’être certain que la ressource n’ait pas été réservée pas une autre personne.


Tips

La création de nombreuses réservations peut engendrer un grand nombre d'envoi d'email aux utilisateurs ayant réservés ces ressources. En effet, ils vont recevoir des réponses des ressources (acquittement ou refus de la demande) si le système de réservation automatique a été activé (Resource booking attendant). Une solution de contournement peut être mise en place pendant la phase de migration. Elle consiste à limiter le nombre de destinataires à 0 lors de l'envoi d'un mail par la boite aux lettres de ressources.


Pour réaliser cette opération, il suffit de lancer une invite de commande Powershell Exchange (EMS) et d'exécuter la commande suivante :


Ou bien, si l'on souhaite changer la valeur sur toutes les boites aux lettres de salles en une seule commande (on peut remplacer RoomMailbox par EquipmentMailbox pour les boites aux lettres d'équipements).


NB : Pensez à remplacer IDENTIFIANT_BAL par l'identifiant de la boite aux lettres de ressources (Alias par exemple).

Nagios – NRPE: Exemple de supervision AD

 

L’exemple suivant montre l’utilisation du plugin check_nrpe avec un script vbs check_ad.vbs pour la supervision des principaux services Active Directory. (NB: Le script check_ad parse la sortie de dcdiag.exe pour déterminer des états)

Prérequis:

      • Sur le serveur Nagios: Serveur NRPE actif
        • Sur le contrôleur de domaine cible: utilitaire dcdiag.exe ; Agent NSCP actif ; NRPE Server activé dans le fichier nsclient.ini (NRPEServer = 1)
               
      Le script utilisé est disponible sur le lien

https://exchange.nagios.org/components/com_mtree/attachment.php?link_id=2332&cf_id=241/

      on copie le script en tant que check_ad.vbs, dans le dossier des scripts de l’agent nscp (par défaut “C:\Program Files\NSClient++\scripts”

2/

    on indique dans le fichier de configuration nsclient.ini l’alias et le chemin correspondant de la manière suivante

; A list of scripts available to run from the CheckExternalScripts module. Syntax is: <command>=<script> <arguments>
[/settings/external scripts/scripts]

check_ad=cscript.exe //Nologo scripts\\check_ad.vbs

 

3/ on redémarre le service NSClient++

 

4/ Sur le serveur Nagios depuis le répertoire des plugins contenant check_nrpe, on teste la commande:   ./check_nrpe -H 192.168.0.55 -c check_ad

 

5/ Définition de la commande dans le fichier command.cfg

#####################################
### COMMANDES VIA CHECK_NRPE #######

# 'check_ad' command definition
define command{
        command_name    check_ad
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_ad
        }

 

6/ Création du service correspondant dans le fichier contenant les definitions de services:

define service{
        use                             local-service
        host_name                       homeserv1
        service_description             AD DCDIAG Result
        check_command                   check_ad

 

 

7/ Le résultat après quelques secondes dans l’affichage d’état du contrôleur de domaine concerné:

image

Script Powershell – Nagios: Alimentation de fichiers d’hôtes

 

Le script suivant:

- interroge l’AD pour récupérer une liste des machines serveurs à superviser

- Détermine si la machine est reconnu (DNS)

- Détermine si la machine répond au ping

- Détermine si la machine héberge le client NSClient++ (NSCP)

- Sur la base de ces infos, des fichiers de config d’hôtes sont construit, une archive du jour (tar.gz) des fichiers à remplacer est créé dans le même répertoire. Les fichiers de conf sont ensuite envoyés par FTP dans le répertoire « /usr/local/nagios/etc/objects/HOME/HOSTS/ » du serveur nagios.

Le demon nagios est redémarré à la suite.

 

 

SCOM - Savision: Dashboard gratuit

 

Savision, éditeur spécialisé dans le développement de solution de maps et dashboard pour System Center et VMWare, fourni une version gratuite de Dashboard by Savision.

https://www.savision.com/scom-dashboards

L’idée est de regrouper sous forme de dashboard a la sauce HTML5 les infos d’état et de performance des objets scom et d’avoir une solution modulaire et extensible de dashboards.

De plus, l’affichage est compatible pour une utilisation sur mobile.

 

dashboard

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