Windows powershell Ise est une interface de commande en ligne plus élaborée que la classique ligne de commande mais aussi que le powershell standard qui a lui peu évolué. En cas de problèmes, vous serez amené à faire une recherche sur internet et probablement à saisir quelques linges de commandes pour le résoudre. powershell Ise, simplement en vous permettant de faire un copier/coller des commandes facilitera l'opération. Ce n'est ici qu'un avant-goût des possibilités de powershell Ise pour vous donner envie d'aller plus loin.



1. ACCÈS (rappel)

Pour accéder à powershell ise, le plus simple est de passer par le menu démarrer.


menu démarrer
<clic g> sur
dérouler  
<clic d> sur
<clic g> sur


 

Épingler powershell ise à la barre des tâches avec 


2. AVANTAGES

Utiliser powershell ise présente de nombreux avantages :

*      Utilisation des mêmes commandes que dans la ligne de commande classique

*      Disponibilité du presse-papier et de ses raccourcis (pour copier/coller des commandes)

*      Possibilité de saisir directement la commande dans la console (fenêtre basse) avec <entrée> ou de saisir un script ( suite de commandes) dans l'éditeur (fenêtre haute)

*      Possibilité de lancer un script dans l'éditeur directement avec <f5> ou

*      Possibilité de lancer une sélection dans l'éditeur en appuyant sur <f8> ou

*      Possibilité de gérer la fenêtre powershell ise comme n'importe quelle fenêtre ( taille, position…)

*      Saisie intelligente : powershell ise propose automatiquement de compléter les commandes en cours

*      Compréhension et mise en évidence de la syntaxe (et des fautes)

*      Plusieurs onglets pour différents scripts

*      Possibilité de zoomer avec la souris


3. UTILISATION

Il est possible de travailler directement dans la fenêtre de commande (console) ou dans l'éditeur.


a) AFFICHER LA CONSOLE

L'idéal est d'afficher la console de commandes sous l'éditeur.


  outils powershell
<clic g> sur


b) UTILISER LA CONSOLE

L'utilisation est identique à celle de la ligne de l'invite de commande.


console
taper la commande
<entrée>


c) UTILISER L'ÉDITEUR

Il va permettre de saisir plusieurs commandes à la suite pour enregistrer un script.


éditeur
saisir les commandes
lancer le script avec <f5> ou
lancer une sélection en appuyant sur <f8> ou
<entrée>

 

Le script enregistré peut être lancé à partir de powershell mais ne peut pas directement être joué en dehors ; il doit être enregistré dans fichier .bat (éxécutable) avec l'instruction :
powershell c:\nom_du_script.ps1 (.ps1 est une terminaison de fichier powershell )


4. COMMANDES DE BASE

On retrouve ici des commandes dont le nom et la fonction ont perdurés depuis l'ancien dos mais qui sont en fait des alias vers les nouvelles commandes Windows.


a) CHEMIN

Le chemin ou path donne les indications nécessaires pour arriver à un fichier à partir du dossier racine.


cd
cd c:\dossier\sous-dossier
dans laquelle cd + path        déplace vers le dossier indiqué
                               cd..      redescend d'un dossier dans la hiérarchie
                               cd\       revient au dossier racine
                               cd        affiche le dossier actuel


 

cd c:\windows\system32 permet d'accéder au sous-dossier system32 du dossier Windows

 

Afficher les fichiers de cd c:\windows\system32



b) CRÉER UN DOSSIER

La création d'un dossier permet le stockage d'un ensemble de données homogènes.


md
md c:\nom du dossier
dans laquelle - md signifie Main Directory
                             - c: nom de l'unité logique que vous voulez utiliser
                             - \ (
antislasch )

 

md c:\essai\donnees crée un sous-dossier "données" dans le dossier "essai"

 

Créer un sous-dossier "données" dans le dossier "essai"


c) SUPPRIMER UN DOSSIER

Un dossier inutile doit être supprimé pour ne pas charger inutilement la structure du disque.


rd
rd c:\nom du dossier

 

rd c:\essai\donnees supprime le sous-dossier "données" du dossier "essai"

 

Supprimer le sous-dossier "données"


ce dernier doit être vide  sinon la suppression est refusée


d) LISTER LES FICHIERS

Il peut être nécessaire de lister les fichiers contenus dans un dossier afin d'en assurer la gestion.


dir
dir c:\dossier\sous-dossier

pour afficher le contenu du sous-dossier "xxxxx" du dossier "xxxx"

 

dir c:\essai\donnees affiche le contenu du sous-dossier "données" du dossier "essai"

 

Afficher le contenu du sous-dossier "données"



Les caractères génériques viennent remplacer dans le nom du fichier les caractères réels afin d'élargir la recherche ou pour pallier à un oubli.


caractères génériques ? *
? remplace un caractère dans la recherche
* remplace autant de caractères que nécessaire dans la recherche

 

dir c:\essai\donnees \*.xlsx (à partir de C) affiche tous les fichiers excel du dossier "données"
dir *.xlsx  affiche tous les fichiers excel du dossier en cours


 


dir lettre?.docx  affiche tous les fichiers word du dossier en cours qui commence par "lettre" quelle que soit le caractère suivant



e) COPIER DES FICHIERS

Les fichiers peuvent être copiés entre les unités logiques et les disques, sous un nom identique ou sous un nom différent.


copy
copy c:\nom du dossier1\nom du fichier c:\nom du dossier2\
pour copier un fichier d'un dossier à un autre
copy c:\nom du dossier1\nom du fichier1c:\nom du dossier2\\nom du fichier2
pour copier un fichier d'un dossier à un autre sous un autre nom

 

copy c:\essai\donnees\lettre1.docx  c:\essai\documents\lettre9.docx  
copie le fichier "lettre1.docx" sur le dossier "document" sous le nom "lettre9.docx"

 

Copier le fichier" lettre1.docx" sur le dossier "document" sous le nom "lettre9.docx"



f) RENOMMER DES FICHIERS

Un ou plusieurs fichiers peuvent être renommés ; ceci peut entre autres éviter d'écraser un fichier par un autre de même nom.


rename
ren c:\dossier\*.docx  *.savx
renomme tous les fichiers .docx de dossier avec une extension .savx.
ren c:\dossier\xxxxxx.docx  yyyyyyy.docx
renomme le fichier xxxxxxx.docx de dossier "xxxxxxx" en yyyyyyy.docx

 

un fichier ne peut être renommé sous un nom déjà existant

 

 

ren lettre1.docx  lettre8.docx  
renomme le fichier "lettre1.docx" du dossier en cours en "lettre8.docx"
ren *.docx *.savx
renomme les fichier word du dossier en cours en fichiers .savx

 

Renommer le fichier" lettre1.docx" du dossier "donnees" en "LETTRE8.DOCX"



g) DÉTRUIRE DES FICHIERS

Les fichiers inutiles doivent être détruits.


del
del c:\dossier\*.docx
détruit tous les fichiers word de dossier

 

del lettre8.docx  
supprimer le fichier "lettre8.docx" du dossier en cours

 

Supprimer le fichier" lettre8.docx" du dossier "donnees"



h) ATTRIBUTS DE FICHIER

Un certain nombre d'attributs viennent caractériser les fichiers. La commande "attrib" ne permet de gérer que les attributs réguliers hors attributs étendus.


attributs réguliers

*      a  archive : le fichier a été sauvegardé

*      r  lecture seule : le fichier ne peut être modifié ou supprimé

*      h  caché : le fichier n'apparait pas dans les listes

*      s  système : le fichier est un fichier système et n'est pas affiché


ATTRIBUTS étendus

*      Parcours du dossier/exécuter le fichier

*      Liste du dossier/lecture de données

*      Attributs de lecture

*      Lire les attributs étendus

*      Création de fichier/écriture de données

*      Création de dossier/ajout de données

*      Attributs d’écriture

*    Écriture d’attributs étendus

*      Suppression de sous-dossiers et de fichiers

*      Supprimer

*      Autorisations de lecture

*      Modifier les autorisations

*    Appropriation

*    Synchroniser

 


attrib
attrib c:\dossier\xxxx.docx
affiche les attributs du fichier xxxx.docx
attrib +r c:\dossier\xxxx.docx
assigne l'attribut "archive" au fichier  xxxx.docx

 

+r Définit l'attribut de fichier Lecture seule.
-r Supprime l'attribut de fichier Lecture seule.
+a Définit l'attribut de fichier archive.
-a Supprime l'attribut de fichier archive.
+s Définit l'attribut Fichier système.
-s Supprime l'attribut Fichier système.
+h Définit l'attribut Fichier caché.
-h Supprime l'attribut Fichier caché.

 

attrib  somme.xlsx  
affiche les attributs du fichier "somme.xlsx" du dossier en cours
attrib  +r somme.xlsx
assigne l'attribut "archive" au fichier 

 

afficher les attributs du fichier " somme.xlsx" "
lui assigner l'attribut "archive"



L'application opensource suivante crée un menu contextuel accessible par le <clic d> permettant de changer facilement les attributs d'un fichier :
Get Attribute Changer 8.20  (© Copyright 1999 - 2016 Romain PETGES / All Rights Reserved)


i) COPIER UN DOSSIER

Il peut être très rapide de copier le contenu d'un dossier d'un disque à un autre et si nécessaire en créant le dossier même dans l'unité cible.


xcopy
xcopy c:\données c:\sauveg
copie le contenu du dossier données de c: dans le dossier sauveg en créant le cas échéant le dossier sauveg  - les sous-dossiers de données ne sont pas créés et leur contenu n'est pas copié)
xcopy c:\données c:\sauveg /s /e
copie le contenu du dossier données de c: dans le dossier sauveg en créant le cas échéant le dossier sauveg   (y compris un dossier éventuellement vide - les dossiers et sous-dossiers sont créés et leur contenu copié)

 

xcopy c:\essai\donnees c:\sauveg /s /e
copie le sous-dossier "donnees" de "essai" dans le dossier "sauveg" en le créant

 

copier le sous-dossier "donnees" de "essai" dans le dossier "sauveg" en le créant



5. COMMANDES WINDOWS

Elles sont accessibles par la fenêtre de commandes et sont regroupées par nature dans des modules.


fenêtre de commandes
sélectionner le module
sélectionner la commande dans la liste
<clic g> sur
renseigner éventuellement les paramètres
<clic g> sur  pour éxécuter la commande dans la console
<clic g> sur  puis coller la commande dans l'interpréteur

 

Les commandes permettant d'afficher des informations (type show… ou get…) ne sont pas dangereuses mais les commandes de type set… modifient la configuration et peuvent gravement l'endommager


 

Pour afficher les paramètres de sécurité du firewall
je choisis le module
je choisis la commande
je clique sur
je clique sur

 

Afficher les paramètres de sécurité du firewall



6. ECRIRE UN SCRIPT SIMPLE

Un script est un programme qui peut inclure :

*      Des variables

*      Des boucles

*      Des tests

*      Des commandes…


a) AUTORISER LES SCRIPTS

La politique de sécurité de Powershell interdit l'exécution de scripts. Il faut donc la modifier.
PowerShell propose 4 modes de sécurité différents :

*      Restricted

*      AllSigned

*      RemoteSigned

*      Unrestricted

 


console
taper C:\> Set-ExecutionPolicy RemoteSigned
accepter la modification
Vérifier le changement avec C:\> Get-ExecutionPolicy



Modifier la politique de sécurité comme ci-avant



b) CRÉER UN SCRIPT SIMPLE

Il est possible de créer des scripts très simples comme de très compliqués.
Voici un script simple :


Saisir le script suivant en vous aidant de la saisie assistée :

$list = dir

 foreach ($item in $list) {

     $fn = $item.name + "_.txt"

     get-itemproperty $item | format-list | out-file $fn

 }

L'exécuter
éditer un des fichiers .txt



*      La liste des fichiers du dossier est stockée dans une variable appelée "list"

*      la boucle" foreach" passe en revue chaque élément (fichier) et les instructions entre crochets sont exécutées pour chacun

*      l'élément actuel de la liste est assigné à la variable "item", chaque "item" étant un objet décrivant les propriétés d'un fichier

*      une variable" fn" est déclarée avec pour valeur le nom du fichier, un soulignement et "txt"

*      les propriétés détaillées de chaque élément sont récupérées par get-itemproperty

*      l'élément est alors envoyé dans "format-list" pour obtenir une vue détaillée

*      les propriétés de l'élément sont écrites dans un fichier texte avec le nom défini auparavant


 



c) ENREGISTRER UN SCRIPT

Il faut enregistrer le script pour pouvoir le réutiliser.


  outils powershell
<clic g> sur
nommer le fichier
<clic g> sur

 

Enregistrer le script précédent sous le nom  "proprietes_fichiers" dans le dossier "essai"


 


d) CRÉER UN FICHIER BAT

Un script enregistré peut être lancé à partir de powershell mais ne peut pas directement être joué en dehors ; il doit être enregistré dans fichier .bat (exécutable) et ce dernier peut alors éventuellement être programmé dans le planificateur de tâches.


  éditeur de texte
ouvrir un éditeur de texte (
notepad++ par exemple : https://notepad-plus-plus.org/ )
saisir la ligne suivante
powershell c:\dossier\nom_du_script.ps1 (.
ps1 est une terminaison de fichier powershell)
enregistrer au format .bat

 

Bien indiquer dans le fichier bat le chemin d'accès au dossier à modifier

 

Enregistrer sur C:\ le fichier prop.bat :Cd c:\
cd sauveg

POWERSHELL C:\essai\proprietes_fichiers.ps1
L'exécuter

Modifié le: vendredi 24 mai 2019, 10:55