Magic Quadrant™ pour la gestion des accès privilégiés 2025 : Netwrix reconnue pour la quatrième année consécutive. Téléchargez le rapport.

Plateforme
Centre de ressourcesBlog
Commandes PowerShell essentielles : Une feuille de triche pour les débutants

Commandes PowerShell essentielles : Une feuille de triche pour les débutants

Jan 16, 2025

PowerShell est un interpréteur de ligne de commande et un langage de script pour automatiser l'administration Windows et gérer des systèmes à travers différentes plateformes. Les débutants devraient maîtriser des cmdlets comme Get-Help, Get-ChildItem, Get-Process, Set-Location, New-Item, et Export-Csv. PowerShell prend en charge les pipelines basés sur des objets, des alias pour l'efficacité, des sessions à distance, et des politiques d'exécution pour la sécurité. Avec de la pratique, ces commandes constituent la base de l'automatisation, de la gestion des systèmes et de l'écriture de scripts sécurisés.

Introduction à PowerShell

Qu'est-ce que PowerShell ?

PowerShell est un interpréteur de ligne de commande puissant qui prend en charge les langages de script et fournit des outils pour gérer les ressources informatiques localement et à distance.

Avantages de PowerShell pour l'administration Windows

Les commandes Windows PowerShell permettent l'automatisation des tâches répétitives telles que la gestion des utilisateurs, des services, des fichiers ou des scripts. PowerShell peut également être utilisé pour la gestion des systèmes, l'administration à distance et l'intégration de systèmes comme Active Directory, Entra ID et Exchange.

Différences entre PowerShell et l'invite de commande

PowerShell et la ligne de commande diffèrent en termes de fonctionnalités, de conception et de capacités. Pour choisir la bonne option pour la tâche à accomplir, considérez ce qui suit :

-

Ligne de commande

PowerShell

Syntaxe de commande

Simple et limité aux tâches de base

Commandes complexes au format verbe-nom

Scripting

Capacités de script limitées

Capacités de script avancées

Output

Texte brut

Peuvent être des objets structurés tels que des tableaux et des listes

Extensibilité

Extensibilité limitée

Hautement extensible grâce aux modules et aux bibliothèques .Net, cmdlets personnalisés et fonctions

Pipelines

Prend en charge le transfert de texte brut d'une commande à une autre

Prend en charge le transfert d'objets avec des propriétés

Composants clés des commandes PowerShell

Cmdlets PowerShell : Structure Verbe-Nom

Les commandes PowerShell utilisent une syntaxe verbe-nom. La partie verbe spécifie l'action à effectuer, et la partie nom de la commande définit l'objet sur lequel l'action sera effectuée. Des exemples incluent Get-process, New-item, Set-Date et Remove-Item.

Les verbes communs incluent :

  • Obtenir : Récupère des données
  • Set: Modifie les propriétés d'un objet
  • Ajouter : Ajoute un élément à une collection
  • Arrêt : Arrête un processus ou un service
  • Démarrer : Lance un processus ou un service
  • Effacer : Supprime tous les éléments d'une collection

Alias PowerShell : Raccourcis et support de l'héritage

Les alias sont des noms courts pour les cmdlets, fonctions et scripts. Les alias sont utilisés pour l'efficacité de la frappe et pour prendre en charge les versions antérieures. Vous pouvez voir tous les alias définis dans la session PowerShell actuelle en saisissant la commande Get-Alias.

Voici quelques alias couramment utilisés :

  • Ls —Alias pour Get-ChildItem
  • Gci —Un autre alias pour Get-ChildItem
  • Gc —Alias pour Get-Content
  • Rm — Alias pour Remove-Item
  • Cd —Alias pour Set-Location
  • Cls — Alias pour Clear-Host
  • Dir — Alias pour Get-ChildItem

Comprendre les paramètres dans les commandes PowerShell

Les paramètres sont utilisés pour passer des valeurs ou des options aux commandes, fonctions et scripts afin de modifier leurs actions. Pour voir les détails concernant les paramètres d'un cmdlet, exécutez Get-Help.

Les types de base de paramètres sont les suivants :

  • Les paramètres positionnels sont passés dans un ordre spécifique sans les nommer explicitement, comme le montre cet exemple :
      Copy-Item "C:\File1.txt" "D:\Backup\"
      
  • Les paramètres nommés sont spécifiés avec le préfixe et peuvent être fournis dans n'importe quel ordre.
      Get-Process -Name "notepad" -Id 1234
      
  • Les paramètres de commutation ne nécessitent pas de valeur car ils fonctionnent comme des indicateurs booléens: la présence du commutateur active une fonctionnalité et son absence la désactive.
      Remove-Item "C:\temp\file.txt" -Confirm
      
  • Les paramètres obligatoires doivent être fournis ; si l'un est omis, PowerShell demandera une valeur.
      Get-MyProcess -ProcessName "chrome"
      

Commandes PowerShell essentielles pour les débutants

Commandes de base pour commencer

L'une des commandes PowerShell de base à connaître est Get-Help, qui affichera des informations sur un cmdlet que vous souhaitez apprendre à utiliser. Ajouter le paramètre -examples fournira également des exemples.

Par exemple, pour en savoir plus sur la Get-ChildItem cmdlet, vous pourriez entrer Get-Help Get-ChildItem ou Get-Help Get-ChildItem -examples, comme illustré ci-dessous.

Image

Un autre cmdlet utile est Get-Command. Par exemple, en saisissant Get-Command *Service* cela listera toutes les commandes qui contiennent « Service » dans leur nom.

Image

Affichage du contenu du système de fichiers

Cette commande affiche les éléments dans le répertoire actuel :

      Get-ChildItem
      

Et celui-ci affiche les éléments dans le répertoire Office :

      Get-ChildItem D:\Office
      
Image

Travailler avec des objets

La cmdlet suivante obtiendra le processus de l'application Notepad sur l'ordinateur local :

      Get-Process -Name "notepad"
      

Et celui-ci récupérera les processus qui utilisent plus de 10 % de la RAM :

      Get-Process | Where-Object {$_.CPU -gt 10}
      

La commande ci-dessous récupérera chaque instance de Notepad et arrêtera le processus par ID.

      Get-Process | Where-Object { $_.Name -eq "notepad" } | ForEach-Object { Stop-Process -Id $_.Id }
      
Image

Vérification des informations de base du système

La commande ci-dessous permettra de récupérer les services Windows ayant le statut de running:

      Get-Service | Where-Object { $_.Status -eq 'Running' }
      

Cette commande va récupérer les 10 premiers journaux d'événements :

      Get-EventLog -LogName System -Newest 10
      

Et cette commande permettra d'obtenir les statistiques de l'adaptateur réseau nommé “Wi-fi” :

      Get-NetAdapterStatistics -Name "Wi-fi"
      
Image

Commandes PowerShell pour la gestion des fichiers et dossiers

Navigation des répertoires : Set-Location et Get-ChildItem

Cette cmdlet définira l'emplacement actuel de PowerShell sur D:\Office\Project:

      Set-Location -Path "D:\Office\Project"
      

Pour obtenir le contenu d'un répertoire, utilisez cette commande :

      Get-ChildItem, dir, ls
      

Pour afficher les fichiers et dossiers dans le répertoire Project , utilisez ce code :

      Get-ChildItem "D:\Office\Project"dir  "D:\Office\Project"
      

Cette commande va lister les fichiers dans le répertoire Project :

      Get-ChildItem "D:\Office\Project" -file
      

Cette commande va lister les dossiers dans le répertoire Project :

      dir  "D:\Office\Project" -directory
      
Image

Création, copie et suppression de fichiers : New-Item, Copy-Item, Remove-Item

Cette commande va créer le fichier texte myfile dans le dossier Project :

      New-Item -Path "D:\Office \Project\myfile.txt" -ItemType File
      

Cette commande va copier myfile.txt du dossier Project vers le dossier startup :

      Copy-Item -Path "D:\Office \Project\myfile.txt" -Destination "D:\Office \Project\startup\myfile.txt"
      

Cette commande va supprimer myfile.txt du dossier Project :

      Remove-Item -Path "D:\Office \Project\myfile.txt"
      

La commande ci-dessous supprimera le dossier Project, y compris tout son contenu :

      Remove-Item -Path "D:\Office \Project" -Recurse
      

Vérification du contenu des dossiers et recherche : Get-ChildItem, Select-String

Cette commande va lister tous les fichiers de type .txt:

      Get-ChildItem -Path "D:\Office\Project" -Filter "*.txt"
      

La commande suivante listera tous les fichiers cachés :

      Get-ChildItem -Path "D:\Office\Project" -Hidden
      

Cette commande va rechercher la chaîne de caractères error dans le fichier Projectlogs.txt:

      Select-String -Path "D:\Office\Project\projectlogs.txt" -Pattern "error"
      
Image

Gestion des systèmes et des processus

Gestion des services système : Get-Service, Start-Service, Stop-Service

Cette commande va récupérer tous les services contenant la chaîne SQL dans leur nom :

      Get-Service -Name "*SQL*"
      
Image

Cette commande va récupérer tous les services dont les noms commencent par la chaîne Windows:

      Get-Service -DisplayName "Windows *"
      
Image

Utilisez le cmdlet ci-dessous pour obtenir tous les services configurés pour démarrer automatiquement :

      Get-Service | Where-Object {$_.StartType -eq "Automatic"}
      
Image

Le nom d'affichage d'un service peut différer de son véritable nom de service. Assurez-vous de fournir le nom de service avec les commandes ci-dessous.

Pour démarrer un service, utilisez une commande comme celle-ci :

      Start-Service -Name "spooler"
      

Pour arrêter un service, utilisez une commande comme celle-ci :

      Stop-Service -Name "autotimesvc"
      

Travailler avec les processus : Get-Process, Start-Process, Stop-Process

Vous pouvez obtenir un processus en utilisant le paramètre -Name, comme montré ici :

      Get-Process -Name notepad
      

La commande ci-dessous récupère les processus et les transmet pour obtenir les résultats dans un tableau qui affiche leur nom, ID et utilisation du CPU :

      Get-Process | Format-Table Name, Id, CPU -AutoSize
      
Image

Cette applet de commande démarrera chrome.exe et ouvrira le site spécifié :

      Start-Process chrome.exe "https://www.google.com"
      
Image

Voici comment démarrer le Bloc-notes :

      Start-Process -FilePath "notepad.exe"
      

Le script suivant va démarrer le Bloc-notes, attendre 5 secondes, puis arrêter tous les processus du Bloc-notes :

      Start-Process -FilePath "notepad.exe" -PassThruWrite-Host "Notepad started."Start-Sleep -Seconds 5write-host "waiting for 5 seconds"stop-process -name notepadWrite-host "Notepad stopped"
      
Image

Pour arrêter un seul processus, utilisez une commande comme celle-ci :

      Stop-Process -Name notepad
      

Pour arrêter plusieurs processus, listez-les comme montré ici :

      Stop-Process -Name notepad, chrome
      

Accès et surveillance des journaux système : Get-EventLog, Get-WinEvent

Pour obtenir des entrées de journal des événements, vous pouvez utiliser l'ancien cmdlet Get-EventLog. Par exemple, voici comment obtenir les 10 dernières entrées d'erreur du journal des événements d'application :

      Get-EventLog -LogName Application -EntryType Error -newest 10
      
Image

Alternativement, vous pouvez utiliser la cmdlet plus moderne Get-WinEvent. Voici comment obtenir les 10 entrées les plus récentes dans le journal des applications :

      Get-WinEvent -LogName Application -MaxEvents 10
      
Image

Commandes de gestion des données et du contenu

Lecture et écriture de fichiers : Get-Content, Set-Content, Out-File

Pour lire le contenu du fichier myfile.txt dans le dossier Project, utilisez cette commande :

      Get-Content -Path "D:\Office\Project\myfile.txt"
      

Pour lire uniquement les cinq premières lignes, modifiez la commande comme indiqué ici :

      Get-Content -Path "D:\Office\Project\myfile.txt" -TotalCount 5
      
Image

Pour écrire du texte dans myfile.txt, vous pouvez utiliser la cmdlet Set-Content :

      Set-Content -Path "D:\Office\Project\myfile.txt"" -Value "Welcome to PowerShell blog"
      

Alternativement, vous pourriez utiliser Add-Content, comme ceci :

      Add-Content -Path "D:\Office\Project\myfile.txt" -Value "Are you new to PowerShell?"
      

Le cmdlet Out-File envoie la sortie vers un fichier ; il est couramment utilisé pour la sortie formatée. Le cmdlet ci-dessous écrit Hello, World! dans myfile.txt :

      "Hello, World!" | Out-File -FilePath "D:\Office\Project\myfile.txt "
      

Tutoriel de script Windows PowerShell (PDF) pour débutants

En savoir plus

Exportation et Importation de données : Export-Csv, Import-Csv

Cette commande va récupérer des informations sur le processus notepad pour les paramètres spécifiés et les exporter vers le fichier processes.csv:

      Get-Process -Name notepad | Select-Object Name, Id, CPU | Export-Csv -Path "D:\Office\Project\Processes.csv" -NoTypeInformation
      

Pour importer un fichier csv, utilisez Import-Csv. Cette commande importe le fichier CVS que nous venons de créer dans un autre cmdlet, qui itère à travers les objets et obtient le processus par la colonne Id :

      Import-Csv -Path "D:\Office\Project\Processes.csv" | ForEach-Object { Get-Process -Id $_.Id }
      
Image

Gestion et conversion des formats de données : ConvertTo-Html, ConvertTo-Json

La commande suivante permettra d'obtenir des informations sur deux processus en cours et de les convertir au format HTML :

      Get-Process -Name "notepad" , "chrome" | Select-Object Name, Id, CPU | ConvertTo-Html -Property Name, Id, CPU -Title "Process Report" | Out-File "D:\Office\Project\ProcessReport.html"
      
Image

De même, les commandes suivantes permettront d'exporter les informations au format JSON :

      Get-Process -Name "notepad" , "chrome"  | Select-Object Name, Id, CPU, StartTime| ConvertTo-Json -Depth 2 | Out-File "D:\Office\Project\Processes.json"
      
Image

Gestion de réseau et à distance

Vérification de la connectivité : Test-Connection, Resolve-DnsName

La commande Test-Connection envoie une requête d'écho ICMP (ping) à l'hôte distant défini et vérifie s'il est accessible.

Par exemple, cette commande tente d'établir une connexion avec google.com sur Internet :

      Test-Connection -ComputerName google.com
      

Et cette commande vérifie la connectivité avec deux hôtes spécifiés par leur nom et un spécifié par son adresse IP :

      Test-Connection -ComputerName "google.com" , "microsoft.com" , "192.168.0.1"
      

Pour vérifier des ports TCP spécifiques, utilisez le paramètre -Port :

      Test-NetConnection -ComputerName google.com -Port 443
      
Image

Cette commande testera la résolution de nom d'un ordinateur pour vérifier si un ordinateur spécifique existe dans notre réseau :

      Resolve-DnsName -Name DC1
      
Image

Alternativement, nous pouvons spécifier un appareil par son adresse IP :

      Resolve-DnsName -Name 192.168.0.108
      
Image

Pour interroger un type particulier d'enregistrements, ajoutez le paramètre -Type avec une valeur telle que A (adresse), AAAA (IPv6), CNAME ou MX (échange de courrier).

Travailler avec des sessions à distance : Enter-PSSession, Exit-PSSession

PowerShell peut être utilisé pour gérer des hôtes à distance, à condition que le PowerShell remoting soit activé sur l'hôte. Pour activer le PowerShell remoting sur un hôte, exécutez la commande suivante avec des privilèges administratifs :

      Enable-PSRemoting -Force
      

Pour vous connecter à l'hôte distant, utilisez la commande suivante :

      Enter-PSSession -ComputerName "DC1"
      

Si vous n'exécutez pas PowerShell dans un contexte utilisateur privilégié, il vous sera demandé de fournir des informations d'identification pour le contexte utilisateur de la session à distance.

Après avoir établi une session PowerShell à distance, vous pouvez exécuter des commandes et des scripts sur l'hôte cible selon les privilèges dont vous disposez sur ce serveur. Par exemple, l'exécution de Get-Process permettra de récupérer des informations depuis l'ordinateur distant :

Image

Pour quitter la session, utilisez simplement la commande suivante.

      Exit-PSSession.
      

Gestion des commandes à distance : Invoke-Command, New-PSSession

Pour exécuter une commande de manière non interactive sur un hôte distant, utilisez le cmdlet Invoke-Command. Par exemple, pour obtenir le processus Notepad sur l'hôte cible DC1, exécutez ce cmdlet :

      Invoke-Command -ComputerName DC1 -ScriptBlock { Get-Process -Name Notpad }
      

Si vous souhaitez établir une session persistante pour des opérations répétées, utilisez New-PSSession. Voici comment établir une nouvelle session PS et la stocker dans une variable :

      $session = New-PSSession -ComputerName DC1
      

Ensuite, exécutez cette commande pour entrer dans la session PowerShell à distance :

      Enter-PSSession -Session $session
      

Après cela, nous pouvons exécuter des commandes sur l'hôte cible comme si nous exécutions des commandes nativement sur notre hôte local, comme montré ici :

      Get-Process notepad
      
Image

Politiques de sécurité et d'exécution

Politique d'exécution PowerShell : Get-ExecutionPolicy, Set-ExecutionPolicy

La politique d'exécution de PowerShell aide à prévenir l'exécution de scripts non autorisés ou malveillants. Il existe différents types de politiques et de portées.

Types de politique d'exécution

  • Restreint — Aucun script n'est autorisé à s'exécuter ; seules les commandes interactives peuvent être exécutées. C'est le paramètre par défaut pour les nouvelles installations de Windows.
  • AllSigned — Seuls les scripts signés par un éditeur de confiance peuvent s'exécuter. Le système invite l'utilisateur à confirmer l'éditeur d'un script, même s'il était précédemment considéré comme fiable.
  • RemoteSigned — Les scripts créés localement peuvent s'exécuter sans signature. Un éditeur de confiance doit signer les scripts téléchargés depuis internet.
  • Sans restriction — Tous les scripts peuvent s'exécuter sans restriction. Demande de confirmation lors de l'exécution de scripts téléchargés depuis Internet.
  • Contournement — Aucune restriction ni avertissement ; tous les scripts peuvent s'exécuter quelle que soit leur origine.
  • Indéfini — Aucune politique d'exécution n'est définie dans la portée actuelle. Le système hérite de la politique d'exécution d'une portée plus large, par exemple, LocalMachine.

Portées pour la politique d'exécution

  • CurrentUser — Affecte l'utilisateur actuellement connecté et persiste pour les futures sessions de cet utilisateur.
  • LocalMachine — S'applique à tous les utilisateurs et sessions sur l'ordinateur. Nécessite des privilèges administratifs pour modifier.
  • Processus — Affecte uniquement la session PowerShell actuelle. Ne persiste pas après la fin de la session.

Vérification et modification de la politique d'exécution

Pour vérifier la politique d'exécution effective, tapez cette commande :

      Get-ExecutionPolicy
      

Pour définir la politique d'exécution, utilisez la commande ci-dessous, en spécifiant le nom de la politique. Si vous le souhaitez, vous pouvez spécifier la portée à l'aide du paramètre -Scope.

      Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
      
Image

Gestion des autorisations et des rôles : Get-ACL, Set-ACL

Une liste de contrôle d'accès (ACL) contrôle les permissions des utilisateurs et des groupes sur les fichiers, dossiers et autres objets. Les permissions de base d'une ACL sont lire, écrire, exécuter, supprimer et modifier.

Pour obtenir la liste de contrôle d'accès d'un fichier, utilisez la cmdlet Get-ACL et fournissez le chemin vers le fichier :

      Get-Acl -Path "D:\Office\Project\Processes.csv"
      
Image

Pour copier la liste de contrôle d'accès d'un fichier et l'appliquer à un autre fichier, suivez les étapes suivantes :

  1. Obtenez l'ACL du fichier source et stockez-la dans une variable :
      $SourcefileACL = Get-Acl -Path "D:\Office\Project\Processes.csv"
      
  • Définissez l'ACL stocké sur le fichier désiré :
      Set-ACL -Path "D:\Office\Project\Processes1.json" -AclObject $SourceACL
      

Pour vérifier que l'ACL a été défini correctement, utilisez la commande suivante :

      Get-Acl -Path "D:\Office\Project\Processes1.json"
      
Image

Sécurisation des scripts avec des certificats : Set-AuthenticodeSignature, ConvertTo-SecureString

Création et application de certificats

Utilisez le cmdlet Set-AuthenticodeSignature pour appliquer une signature numérique à un script ou un fichier. Cette signature assure aux utilisateurs que le script provient d'une source fiable et qu'il n'a pas été modifié depuis sa signature.

Vous pouvez utiliser un certificat émis par une Autorité de Certification (CA) de confiance ou créer un certificat auto-signé pour un usage interne. Voici un exemple de création d'un certificat auto-signé :

      New-SelfSignedCertificate -Type CodeSigningCert -Subject "CN=MyCert" -CertStoreLocation Cert:\CurrentUser\My
      
Image

Localisez le certificat dans le magasin de certificats et enregistrez-le dans une variable pour l'utiliser plus tard afin de signer les fichiers :

      $cert = Get-ChildItem Cert:\CurrentUser\My | Where-Object { $_.Subject -like '*MyCert*' }
      

Ensuite, utilisez Set-AuthenticodeSignature pour signer votre script :

      Set-AuthenticodeSignature -FilePath "C:\Temp\Script.ps1" -Certificate $cert
      

Après la signature, vérifiez la signature à l'aide de cette commande :

      Get-AuthenticodeSignature -FilePath "C:\Temp\Script.ps1"
      
Image

Convertir des données en une chaîne sécurisée

ConvertTo-SecureString crée une chaîne sécurisée pour le mot de passe ou les données sensibles et la stocke dans un fichier. Par exemple, vous pouvez convertir un mot de passe en texte clair en une chaîne sécurisée en utilisant cette commande :

      $securePsw = ConvertTo-SecureString "MyPassword123" -AsPlainText -Force
      

Ensuite, vous pouvez enregistrer la chaîne sécurisée dans un fichier en utilisant ce cmdlet :

      $securePsw | ConvertFrom-SecureString | Out-File "D:\Office\Project\EncryptedPassword.txt"
      

PowerShell pour la configuration du système Windows

Récupération des informations système : Get-ComputerInfo, Get-Host, Get-WmiObject

Get-ComputerInfo

Cette cmdlet récupère des informations détaillées sur le matériel de l'ordinateur, le système d'exploitation et la configuration :

      Get-ComputerInfo
      
Image

Pour limiter la sortie à des propriétés spécifiques, utilisez un cmdlet comme ceci :

      Get-ComputerInfo | Select-Object CsName, WindowsVersion, WindowsBuildLabEx, OsArchitecture
      
Image

Vous pouvez récupérer des informations en utilisant le caractère générique avec le paramètre -Property, comme indiqué ci-dessous :

      Get-ComputerInfo -Property "OS*"
      
Image

Get-Host

Cette cmdlet fournit des informations sur l'environnement hôte PowerShell actuel, ce qui est utile pour le débogage et d'autres objectifs :

      Get-Host
      

Pour récupérer des propriétés spécifiques, utilisez une commande similaire à l'une des suivantes :

      (Get-Host).Version(Get-Host).Name
      
Image

Get-WmiObject

Get-WmiObject est un cmdlet puissant pour interroger les objets de l'Instrumentation de gestion Windows (WMI). Il fournit des informations détaillées sur différents composants du système et services.

Cette cmdlet récupérera les informations du système d'exploitation :

      Get-WmiObject -Class Win32_OperatingSystem
      
Image

Et celui-ci récupérera les informations du BIOS :

      Get-WmiObject -Class Win32_BIOS
      
Image

Pour récupérer les informations du processeur, utilisez cette commande :

      Get-WmiObject -Class Win32_Processor | Select-Object Name, NumberOfCores, MaxClockSpeed
      
Image

Conseils utiles pour les utilisateurs de PowerShell

Utilisation de Get-Help et Get-Command pour la référence des commandes

La commande Get-Help est pratique pour rechercher la syntaxe d'autres commandes :

      Get-Help Get-Process
      
Image

Get-Command peut être utilisé pour obtenir des commandes, fonctions, alias, scripts et modules PowerShell. Il affiche leurs types, nom, version et détails de source.

      Get-Command Get-Process
      
Image

Vous pouvez utiliser des caractères génériques (*) pour explorer des commandes basées sur des noms partiels. Par exemple, voici comment afficher tous les cmdlets et fonctions avec Service dans leurs noms :

      Get-Command *Service*
      
Image

Explorer les propriétés d'objet avec Get-Member

La commande Get-Member est principalement utilisée pour comprendre la structure et les capacités des objets en explorant leurs propriétés et méthodes. Par exemple, la commande suivante listera toutes les propriétés de la commande Get-Date:

      Get-Date | Get-Member -MemberType property
      
Image

Création d'alias et de fonctions personnalisés pour l'efficacité

Vous pouvez créer de nouveaux alias et fonctions pour faciliter l'utilisation de PowerShell et automatiser les tâches fréquentes. Par exemple, la commande suivante créera l'alias p pour la commande Get-process :

      New-Alias -Name p -Value Get-Process
      
Image

Les fonctions vous permettent de regrouper plusieurs commandes dans un bloc réutilisable. Le script ci-dessous crée une fonction simple pour lister et compter les fichiers dans un répertoire :

      function ListAndCountFiles {    param (        [string]$directory    )    Get-ChildItem -Path $directory    $fileCount = (Get-ChildItem -Path $directory).Count    Write-Host "Total files in $($directory): $fileCount"}
      

Pour utiliser cette fonction plus tard, utilisez simplement cette commande :

      ListAndCountFiles -directory "C:\Temp"
      
Image

Conclusion

La pratique est essentielle pour acquérir une expertise en PowerShell. Pour commencer, utilisez Get-Help pour voir les détails sur d'autres cmdlets, naviguez dans votre système de fichiers en utilisant Get-ChildItem et Set-Location, et récupérez des informations système en utilisant Get-ComputerInfo, Get-Host et Get-WmiObject. Passez ensuite à des tâches plus avancées comme la manipulation de données, la signature de scripts, le démarrage et l'arrêt de services, et la gestion d'objets. Si vous avez besoin de gérer des hôtes à distance, assurez-vous de revoir le matériel sur les politiques d'exécution à distance et les sessions.

Assurez-vous de télécharger ou de mettre en signet ce blog afin de pouvoir rapidement consulter les cmdlets nécessaires pour utiliser PowerShell efficacement.

Netwrix Directory Manager

FAQ

Combien de commandes PowerShell existe-t-il ?

Le nombre de commandes PowerShell disponibles dépend de la version de PowerShell et des modules que vous avez installés. Pour obtenir le nombre total de commandes, utilisez la commande suivante :

      Get-Command | Measure-Object
      

Quelles commandes sont utilisées dans PowerShell ?

Les commandes PowerShell offrent une large gamme de fonctionnalités, telles que la manipulation de données, la gestion de fichiers et de dossiers, et l'administration système. Quelques commandes importantes incluent Get-Help, Get-ChildItem, Set-Location, Get-Process et Export-Csv.

Comment obtenir une liste de commandes PowerShell ?

Pour voir toutes les commandes disponibles, exécutez cette cmdlet :

      Get-Command
      

Quelles choses cool pouvez-vous faire avec PowerShell ?

PowerShell permet aux utilisateurs d'automatiser des tâches répétitives, de gérer des serveurs à distance, de travailler avec des services web et des API, d'analyser les ressources système et de gérer des ressources cloud.

Comment utiliser Windows PowerShell ?

Pour lancer PowerShell depuis le menu Démarrer de Windows, entrez simplement la commande PowerShell.

Qu'est-ce que PowerShell et les commandes de base ?

PowerShell est un interpréteur de commandes et un langage de script. Certaines commandes de base incluent :

  • Get-Help
  • Get-Service
  • Définir l'emplacement
  • New-Item

Qu'est-ce que PowerShell pour les débutants ?

PowerShell peut être amusant pour les débutants. Sa structure verbe-nom est facile à utiliser. Avec de la dévotion et des outils comme ce blog, on peut facilement maîtriser les tâches de base et devenir un praticien intermédiaire ou avancé en quelques semaines.

Partager sur

En savoir plus

À propos de l'auteur

Asset Not Found

Jonathan Blackwell

Responsable du développement logiciel

Depuis 2012, Jonathan Blackwell, ingénieur et innovateur, a fourni un leadership en ingénierie qui a placé Netwrix GroupID à l'avant-garde de la gestion de groupes et d'utilisateurs pour les environnements Active Directory et Azure AD. Son expérience en développement, marketing et ventes permet à Jonathan de comprendre pleinement le marché de l'Identity Management et la façon de penser des acheteurs.