Vous avez peut-être créé votre premier script PowerShell ou alors, vous cherchez à automatiser certaines tâches, comme la création d’un nouveau compte utilisateur, la sauvegarde / copie de fichiers, le nettoyage du disque, la surveillance du disque, la gestion des utilisateurs ou encore la gestion des processus. Dans cet article, vous trouverez cinq exemples de scripts PowerShell que vous pourrez adapter selon vos besoins.

Exemple 1 : Script PowerShell de sauvegarde / copie de fichiers

Ce script peut être utilisé pour copier des fichiers et des dossiers spécifiques sur votre ordinateur, un disque dur externe ou sur un réseau. Il peut être personnalisé pour sauvegarder des fichiers Windows à des intervalles réguliers, et peut être exécuté manuellement ou programmé pour s’exécuter automatiquement.

# Spécifiez les fichiers et dossiers à sauvegarder
$source = "C:\\\\Users\\\\Utilisateur\\\\Documents\\\\MonDossier", "C:\\\\Users\\\\Utilisateur\\\\Musique\\\\MaMusique.mp3"

# Spécifiez l'emplacement de la sauvegarde
$destination = "D:\\\\Sauvegarde"

# Créez un nouveau dossier de sauvegarde
New-Item -ItemType Directory -Path $destination -Force

# Sauvegardez les fichiers et dossiers spécifiés
Copy-Item -Path $source -Destination $destination -Recurse -Force

Ce script spécifie les fichiers et dossiers à sauvegarder en utilisant les variables $source et $destination. La commande New-Item crée un nouveau dossier de sauvegarde si nécessaire. La commande Copy-Item copie les fichiers et dossiers spécifiés vers l’emplacement de la sauvegarde.

Vous pouvez personnaliser les variables $source et $destination pour sauvegarder les fichiers et dossiers de votre choix. Vous pouvez également ajouter une tâche planifiée pour exécuter automatiquement le script à des intervalles réguliers.

Exemple 2 : Script PowerShell de nettoyage du disque

Ce script peut être utilisé pour nettoyer les fichiers inutiles et les fichiers temporaires de votre disque dur. Il peut être personnalisé pour supprimer certains types de fichiers ou pour supprimer tous les fichiers inutiles.

# Nettoie les fichiers temporaires et les fichiers de corbeille
Remove-Item -Path "$env:TEMP\\\\*" -Recurse -Force
Remove-Item -Path "$env:LOCALAPPDATA\\\\Temp\\\\*" -Recurse -Force
Clear-RecycleBin -Force

# Supprime les fichiers .tmp, .exe, .log du dossier de téléchargement
$downloads = [environment]::GetFolderPath("MyDocuments") + "\\\\Downloads"
Remove-Item -Path "$downloads\\\\*.tmp" -Recurse -Force
Remove-Item -Path "$downloads\\\\*.exe" -Recurse -Force
Remove-Item -Path "$downloads\\\\*.log" -Recurse -Force

# Supprime tous les fichiers du dossier de téléchargement
Remove-Item -Path "$downloads\\\\*" -Recurse -Force

Ce script utilise la commande Remove-Item pour supprimer les fichiers temporaires et les fichiers de corbeille. La variable $env:TEMP spécifie le dossier temporaire de l’utilisateur, tandis que $env:LOCALAPPDATA\\\\Temp spécifie le dossier temporaire de l’application.

Le script utilise également la commande Clear-RecycleBin pour vider la corbeille de l’utilisateur.

Le script supprime également les fichiers inutiles dans le dossier de téléchargement de l’utilisateur. Vous pouvez personnaliser le dossier de téléchargement en modifiant la variable $downloads. Les types de fichiers à supprimer peuvent être personnalisés en modifiant les paramètres de la commande Remove-Item.

Exemple 3 : Surveillance de l’utilisation du disque

Ce script peut être utilisé pour surveiller l’utilisation du disque dur de votre ordinateur ou de votre réseau. Il peut vous alerter lorsqu’un certain niveau d’utilisation est atteint, ou vous donner des informations sur l’utilisation actuelle du disque.

# Spécifiez le seuil d'utilisation du disque (en pourcentage)
$threshold = 80

# Récupérez les informations sur les disques
$disks = Get-PSDrive -PSProvider FileSystem | Where-Object {$_.Free -ne $null}

# Parcourez chaque disque
foreach ($disk in $disks) {
    # Calculez l'utilisation du disque en pourcentage
    $usage = ($disk.Used / $disk.Free) * 100

    # Vérifiez si l'utilisation est supérieure au seuil
    if ($usage -gt $threshold) {
        # Envoyer une alerte par e-mail
        $subject = "Alerte d'utilisation du disque"
        $body = "L'utilisation du disque $($disk.Name) a dépassé le seuil de $threshold%."
        Send-MailMessage -To "admin@example.com" -From "alert@example.com" -Subject $subject -Body $body -SmtpServer "smtp.example.com"
    }

    # Afficher les informations sur le disque
    $name = $disk.Name
    $size = [math]::Round($disk.Used / 1GB, 2)
    $free = [math]::Round($disk.Free / 1GB, 2)
    $used = [math]::Round($disk.Used / 1GB, 2)
    $usage = [math]::Round($usage, 2)
    Write-Host "$name - Taille: $size Go, Libre: $free Go, Utilisé: $used Go, Utilisation: $usage%"
}

Ce script spécifie le seuil d’utilisation du disque en pourcentage en utilisant la variable $threshold. La commande Get-PSDrive récupère les informations sur les disques et la commande Where-Object filtre les disques dont l’espace libre n’est pas nul.

Le script utilise ensuite une boucle foreach pour parcourir chaque disque et calcule l’utilisation du disque en pourcentage. Si l’utilisation dépasse le seuil spécifié, le script envoie une alerte par e-mail en utilisant la commande Send-MailMessage.

Le script affiche également les informations sur chaque disque, telles que la taille, l’espace libre, l’espace utilisé et l’utilisation en pourcentage.

Vous pouvez personnaliser le seuil d’utilisation du disque en modifiant la variable $threshold. Vous pouvez également personnaliser l’adresse e-mail de l’expéditeur et du destinataire en modifiant les paramètres de la commande Send-MailMessage.

Exemple 4 : Script PowerShell de gestion des utilisateurs

Ce script peut être utilisé pour gérer les comptes d’utilisateurs sur votre ordinateur ou sur un réseau. Il peut être utilisé pour créer de nouveaux comptes d’utilisateurs, modifier des comptes existants ou supprimer des comptes inutiles.

# Créer un nouveau compte utilisateur
New-LocalUser -Name "Nom_utilisateur" -Description "Description_utilisateur" -Password (ConvertTo-SecureString "Mot_de_passe" -AsPlainText -Force)

# Modifier un compte utilisateur existant
Set-LocalUser -Name "Nom_utilisateur" -Description "Nouvelle_description"

# Supprimer un compte utilisateur
Remove-LocalUser -Name "Nom_utilisateur"

Ce script utilise les commandes New-LocalUser, Set-LocalUser et Remove-LocalUser pour gérer les comptes d’utilisateurs.

La commande New-LocalUser est utilisée pour créer un nouveau compte utilisateur. Vous pouvez personnaliser le nom d’utilisateur, la description et le mot de passe en modifiant les paramètres de la commande.

La commande Set-LocalUser est utilisée pour modifier un compte utilisateur existant. Vous pouvez personnaliser le nom d’utilisateur et la description en modifiant les paramètres de la commande.

La commande Remove-LocalUser est utilisée pour supprimer un compte utilisateur existant. Vous pouvez personnaliser le nom d’utilisateur en modifiant les paramètres de la commande.

Notez que les commandes New-LocalUser et Remove-LocalUser nécessitent des privilèges d’administrateur pour fonctionner correctement et peuvent avoir des conséquences. Utilisez-les avec précautions.

Exemple 5 : Script PowerShell de gestion des processus

Ce script peut être utilisé pour gérer les processus en cours d’exécution sur votre ordinateur ou sur un réseau. Il peut être utilisé pour afficher les processus en cours d’exécution et pour terminer des processus inutiles.

Get-Process | Format-Table Id, ProcessName, CPU, Memory -AutoSize

$processId = Read-Host "Entrez l'ID du processus que vous souhaitez terminer"

Stop-Process -Id $processId -Force

Ce script utilise la commande Get-Process pour lister les processus en cours d’exécution sur votre ordinateur. Il utilise ensuite la commande Format-Table pour afficher les informations sur chaque processus de manière claire. Vous pouvez personnaliser les informations affichées en modifiant les paramètres de la commande Format-Table.

Le script demande ensuite à l’utilisateur d’entrer l’ID du processus qu’il souhaite terminer. Il utilise la commande Stop-Process pour terminer le processus sélectionné.

Notez que la commande Stop-Process peut être dangereuse si elle est utilisée de manière incorrecte. Assurez-vous de bien comprendre les conséquences de la commande avant de l’utiliser.

Partagez cet article

Avez-vous trouvé cet article utile ?
Article utile ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *