Description : Cette procédure décrit les commandes de base de PowerShell qui est un langage de script développer par Microsoft. Si vous connaissez un peu DOS ou le shell Linux, il vous faudra un petit temps d’adaptation avant de vous familiariser avec PowerShell. Bien que des alias aient été créé afin que vous puissiez utiliser certaines commandes des langages que vous connaissiez,ce guide est fait pour vous et vous rappel les principales lignes de commandes à connaître :
Pré-requis :
- Avoir PowerShell installé
1 – La commande « Get-ChildItem » (Ou en abrégé GCI) vous permet de lister le contenu d’un répertoire comme le ferait la commande « Dir » sous DOS ou encore « ls » sous Linux :
NB : La commande « Get-ChildItem » possède plusieurs options. Lorsque la commande est exécuté, cette dernière indique plusieurs informations sur les objets listés (Nom, date de dernière modification, etc…)
– d : représente un répertoire
– a : représente une archive
– r : représente un objet en lecture seule
– h : représente un objet caché
– s : représente un objet système
Get-ChildItem -Recurse : Permet de lister le contenu d’un répertoire ainsi que les sous répertoires
Get-ChildItem D:\ -Include *.mp3 -Recurse : Permet de recherche l’ensemble des fichiers MP3 sur le lecteur D:\
Get-ChildItem C:\Windows | Where-Object {$_.Length -gt 50KB} : Permet de rechercher les objets ayant une taille supérieure à 50KB
Get-ChildItem C:\Windows | Where-Object {$_.LastWriteTime -gt ’01/01/2012′} : Permet de rechercher les objets ayant une date de dernière modification supérieure au 01/01/2012 [MM/JJ/AAAA]
Get-ChildItem -Force : Permet de lister le contenu d’un répertoire en affichant les fichiers cachés
Get-ChildItem Alias: : Permet de lister l’ensemble des alias déclarés
Get-ChildItem Env: : Permet de lister l’ensemble des variables d’environnement
Get-ChildItem variable: : Permet de lister l’ensemble des variables du système
2 – La commande « Get-Alias <Alias_Commande> » permet de savoir à quelle commande PowerShell se rapporte l’alias passé en paramètre.
Exemple : Get-Alias ls (Permet de savoir quelle commande PowerShell est exécuté lorsqu’on saisie l’alias « ls »)
NB : Si vous tapez la commande « Get-Alias » seule, vous obtiendrez toute la liste des alias existant sur votre système
3 – La commande « Set-Location <Chemin> » (Ou en abrégé SL) permet de changer de répertoire comme le ferait la commande CD (Change Directory) sous DOS ou Linux :
Exemple 1 : Set-Location C:\Windows (Cette commande aura pour but de vous déplacer dans le répertoire C:\Windows)
Exemple 2 : Set-Location C:\ (Cette commande aura pour but de vous déplacer à la racine du lecteur C:\)
4 – La commande « Get-Process » permet de récupérer la liste des processus actif sur votre système :
5 – La commande « Get-Service » Permet de récupérer la liste des services Windows de votre système :
Pour récupérer uniquement l’état d’un service particulier, il suffira de taper la commande :
Get-Service <Nom_du_service_Windows>
Exemple : Get-Service Spooler
6 – Commandes de bases pour naviguer dans la console :
[Flèche en haut]/[Flèche en bas] : Permet de faire défiler l’historique des commandes déjà frappées
7 – Pour connaitre le nom de toutes les commandes PowerShell : Get-Command
8 – Pour connaitre le nom de toutes les fonctions PowerShell : Get-Command -CommandType Function
9 – Pour connaitre le nombre de commandelettes disponible pour PowerShell : Get-Command -CommandType Cmdlet | Measure-Object
NB : Le nombre totale de commandelettes disponible varie en fonction de la version de PowerShell installée, des rôles ou autres composant installés sur le système d’exploitation
10 – Pour obtenir de l’aide sur une commande : Get-Help Get-Command ou Help Get-Command
11 – Pour obtenir de l’aide détaillé sur une commande : Get-Help Get-Command -Detailed | More
12 – Pour obtenir de l’aide complète sur une commande : Get-Help Get-Command -Full | More
13 – Pour obtenir la liste des commandes dont le verbe commence par le verbe listé en paramètre :
Get-Command -verb Set
Get-Command -verb Get
Get-Command -verb Get*
Get-Command -verb Write
14 – Pour obtenir la liste des commandes dont le nom commence par le nom listé en paramètre :
Get-Command -Noun Item
Get-Command -Noun Object
Get-Command -Noun Obj*
Get-Command -Noun *Item
15 – Pour obtenir la liste des commandes dont le type est le suivant :
Alias : Get-Command -CommandType Alias
Function : Get-Command -CommandType Function
Cmdlet : Get-Command -CommandType Cmdlet
Externalscript: Get-Command -CommandType Externalscript
Application : Get-Command -CommandType Application
16 – Pour obtenir la liste des méthodes applicable à un objet, on utilise Get-Member :
Déclarons la variable suivante : $TestVariable = ‘Bienvenue sur Infonovice.fr’
$TestVariable | Get-Member
NB : On récupère ainsi la liste des méthodes et propriétés possible de l’object
Exemple :
Obtenir le type de l’objet : $TestVariable.GetType()
Mettre la valeur en majuscule : $TestVariable.ToUpper()
Afficher le nombre de caractère : $TestVariable.Length
NB : N’oubliez pas de mettre les parenthèses lors de l’utilisation d’une méthode sur un objet.
17 – La commande « Get-Location » (Ou en abrégé gl et son alias pwd) permet d’afficher le répertoire courant à l’identique de la commande « pwd » existante sous Linux :
18 – La commande « New-Item » (Ou en abrégé ni et son alias md) permet de créer des répertoires ou des fichiers
Création d’un répertoire : New-Item -ItemType directory -Name ‘TEST 1’ -Path C:\infonovice
Création d’un fichier : New-Item -Name Testfile.txt -ItemType file -Value ‘Bienvenue sur le site Infonovice.fr’ -Path ‘C:\Infonovice\TEST 1’
Wha le bordel c’est quoi cette syntaxe ?! Go unix quickly
tellement XD UNIX !!! (0_0)