E. POWERSHELL ISE Débuter avec
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