0% ont trouvé ce document utile (0 vote)
70 vues5 pages

Débuter avec PowerShell pour Admins

PowerShell est un langage de script et une interface en ligne de commande développée par Microsoft pour faciliter la gestion et l'automatisation des systèmes Windows. Le document décrit les concepts de base de PowerShell comme les cmdlets, variables, boucles et structures de contrôle, et fournit des exemples de commandes courantes et d'utilisation de PowerShell pour l'administration système.

Transféré par

arkh.celestris
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
70 vues5 pages

Débuter avec PowerShell pour Admins

PowerShell est un langage de script et une interface en ligne de commande développée par Microsoft pour faciliter la gestion et l'automatisation des systèmes Windows. Le document décrit les concepts de base de PowerShell comme les cmdlets, variables, boucles et structures de contrôle, et fournit des exemples de commandes courantes et d'utilisation de PowerShell pour l'administration système.

Transféré par

arkh.celestris
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Introduction à PowerShell

Introduction :

PowerShell est un puissant langage de script et une interface en ligne de commande


développée par Microsoft. Il a été conçu pour faciliter la gestion et l'automatisation des
tâches d'administration système sur les systèmes d'exploitation Windows. PowerShell offre
une syntaxe simple et expressive, ainsi qu'un accès facile aux fonctionnalités de
l'environnement Windows. Dans ce cours, nous explorerons les concepts de base de
PowerShell et apprendrons à utiliser ses fonctionnalités pour administrer un système
Windows.

Les fondamentaux de PowerShell :

PowerShell utilise une approche basée sur des cmdlets (command-lets), qui sont des
commandes spéciales fournies par le système ou par des modules supplémentaires. Les
cmdlets sont des fonctions pré-écrites qui effectuent des actions spécifiques.

Chaque cmdlet suit un format de nommage verbe-nom, où le verbe décrit l'action à


effectuer et le nom spécifie l'élément sur lequel l'action sera effectuée. Par exemple,
Get-Process récupère la liste des processus en cours d'exécution.

Les cmdlets peuvent être combinés en utilisant des pipelines (|) pour transmettre les
résultats d'une commande à une autre. Par exemple, Get-Process | Stop-Process
récupère la liste des processus en cours d'exécution et arrête ces processus.
Variables et types de données :

PowerShell prend en charge les variables pour stocker et manipuler des données. Une
variable peut être déclarée en utilisant le signe dollar ($) suivi du nom de la variable.
Par exemple, $name = "John" crée une variable nommée "name" avec la valeur "John".

PowerShell prend en charge différents types de données tels que les chaînes de caractères,
les entiers, les tableaux et les objets. Les variables PowerShell sont dynamiquement typées,
ce qui signifie qu'elles peuvent contenir des valeurs de différents types.

Pour afficher le contenu d'une variable, vous pouvez utiliser la commande Write-Host
$variable.
Les boucles et les structures conditionnelles :

PowerShell offre des structures de contrôle telles que les boucles et les structures
conditionnelles pour contrôler le flux d'exécution du script.2

La boucle foreach permet de parcourir une collection d'éléments. Par exemple, foreach
($item in $collection) { } exécute le bloc de code à l'intérieur des accolades pour chaque
élément de la collection.

La structure conditionnelle if permet d'exécuter un bloc de code si une condition spécifiée


est évaluée comme vraie. Par exemple, if ($condition) { } exécute le bloc de code si la
condition est vraie.

La gestion des fichiers et dossiers :

PowerShell permet de manipuler facilement les fichiers et dossiers du système de fichiers.


Vous pouvez utiliser les cmdlets Get-ChildItem, New-Item, Copy-Item, Move-Item et
Remove-Item pour effectuer des opérations sur les fichiers et dossiers.

Par exemple, Get-ChildItem C:\Temp récupère la liste des fichiers et dossiers dans le
répertoire "C:\Temp", New-Item -Path C:\Temp\file.txt -ItemType File crée un nouveau
fichier "file.txt" dans le répertoire "C:\Temp".

L'administration système :

PowerShell offre de nombreuses fonctionnalités pour l'administration système. Vous pouvez


utiliser les cmdlets Get-Process, Get-Service, Restart-Service, Set-ExecutionPolicy, etc.,
pour gérer les processus, les services et les paramètres système.

PowerShell vous permet également d'automatiser des tâches courantes en créant des
scripts PowerShell. Vous pouvez enregistrer une série de cmdlets dans un fichier avec
l'extension ".ps1" et les exécuter comme un script.
Exemple de commandes :

Voici une liste de commandes d'administration courantes sur PowerShell, accompagnées


d'une brève explication de chaque commande :

Get-Command : Cette commande affiche la liste de toutes les commandes disponibles


dans PowerShell. Elle est utile pour découvrir de nouvelles commandes ou pour rechercher
une commande spécifique.

Get-Help : Cette commande affiche l'aide détaillée pour une commande spécifique. Vous
pouvez l'utiliser en fournissant le nom de la commande après la commande Get-Help. Par
exemple, Get-Help Get-Process affichera l'aide pour la commande Get-Process.

Get-Process : Cette commande affiche les processus en cours d'exécution sur le système.
Elle fournit des informations telles que l'ID du processus, le nom, le temps d'exécution et
l'utilisation du processeur.

Stop-Process : Cette commande permet de mettre fin à un processus spécifique. Vous


devez fournir l'ID du processus ou le nom du processus après la commande Stop-Process.
Par exemple, Stop-Process -Name "notepad" arrêtera tous les processus Notepad en cours
d'exécution.

Get-Service : Cette commande affiche la liste des services en cours d'exécution sur le
système. Elle fournit des informations telles que le nom du service, son état (en cours
d'exécution, arrêté, etc.) et son type.

Restart-Service : Cette commande permet de redémarrer un service spécifique. Vous


devez fournir le nom du service après la commande Restart-Service. Par exemple,
Restart-Service -Name "Spooler" redémarrera le service Spooler.

Set-ExecutionPolicy : Cette commande permet de définir la stratégie d'exécution des


scripts PowerShell. La stratégie peut être définie sur différentes valeurs telles que
"Restricted" (par défaut), "RemoteSigned" ou "Unrestricted".

New-Item : Cette commande permet de créer un nouvel élément (fichier, dossier, etc.) dans
un emplacement spécifié. Vous devez fournir le chemin d'accès et le nom de l'élément après
la commande New-Item.
Remove-Item : Cette commande permet de supprimer un élément (fichier, dossier, etc.)
spécifié. Vous devez fournir le chemin d'accès et le nom de l'élément après la commande
Remove-Item.

Set-ItemProperty : Cette commande permet de modifier les propriétés d'un élément


spécifié. Par exemple, Set-ItemProperty -Path C:\Test\file.txt -Name "ReadOnly" -Value
$true définira la propriété "ReadOnly" du fichier "file.txt" sur "True".

Exemple de pratique sauvegarde de base de données MySQL pour


GLPI (Contexte GLPI sur IIS) :

● Installation des outils requis :

Assurez-vous d'avoir installé un client MySQL sur votre machine. Vous pouvez le
télécharger à partir du site officiel de MySQL.

Assurez-vous également que le module MySQL Connector/NET est installé. Vous pouvez
l'installer à l'aide de la commande PowerShell suivante : Install-Module -Name MySql.Data

● Création du script PowerShell :

Ouvrez un éditeur de texte et créez un nouveau fichier avec une extension ".ps1" (par
exemple, backup.ps1).

Commencez par importer le module MySQL Connector/NET en utilisant la commande


suivante : Import-Module -Name MySql.Data

Ensuite, définissez les variables pour les informations de connexion à la base de données
MySQL, telles que le nom d'hôte, le nom d'utilisateur, le mot de passe, le nom de la base de
données, etc.

Utilisez la commande New-Item pour créer un dossier où vous souhaitez stocker les
sauvegardes. Par exemple : New-Item -ItemType Directory -Path C:\Backup

Utilisez la commande Get-Date pour générer un horodatage pour le nom du fichier de


sauvegarde. Par exemple : $timestamp = Get-Date -Format "yyyyMMdd_HHmmss"

Utilisez la commande Invoke-MySqlBackup pour exécuter la commande de sauvegarde


MySQL. Par exemple : Invoke-MySqlBackup -Server $hostname -Database $database
-Username $username -Password $password -OutputFile
"C:\Backup\backup_$timestamp.sql"

● Planification de la tâche :

Une fois le script PowerShell créé, vous pouvez le planifier pour qu'il s'exécute
automatiquement à des intervalles réguliers en utilisant le Planificateur de tâches de
Windows.
Ouvrez le Planificateur de tâches (Task Scheduler) et créez une nouvelle tâche.
Configurez la tâche pour exécuter le script PowerShell à l'heure et à la fréquence
souhaitées.

Assurez-vous de spécifier le chemin complet du fichier PowerShell dans l'action de la tâche.


Ainsi, à chaque fois que la tâche planifiée s'exécute, le script PowerShell sera exécuté et
effectuera une sauvegarde de la base de données MySQL dans le dossier spécifié.

Vous aimerez peut-être aussi