Script PowerShell pour surveiller l’espace libre sur un disque local

Script PowerShell pour surveiller l’espace libre sur un disque local avec seuil configurable et messages d’état clairs pour une gestion efficace du stockage.

Brève Introduction

Script PowerShell pour surveiller l’espace libre sur un disque local (powershell)
DESCRIPTION :
Ce script PowerShell permet de surveiller l'espace libre sur un disque local spécifié par l'utilisateur. Il renvoie des informations détaillées sur le disque et signale si l'espace libre descend en dessous d'un seuil configurable.

NOTES SUPPLÉMENTAIRES :
Le script nécessite de spécifier la lettre du disque à surveiller au format 'C:'. Le seuil d'espace libre est optionnel et par défaut fixé à 10 %. Le script est conçu pour être exécuté dans des environnements Windows avec PowerShell 5.1 ou supérieur.

EXPLICATIONS :
- La fonction Get-DriveFreeSpace utilise Get-PSDrive pour récupérer des informations sur le disque spécifié.
- L'espace libre et total est calculé en gigaoctets pour une lecture plus intuitive.
- Le pourcentage d'espace libre est calculé pour le comparer au seuil configuré.
- Si le disque n'existe pas ou n'est pas monté, le script affiche une erreur et se termine.
- L'utilisation de param permet de passer les paramètres clairement et de valider la lettre du disque.
- Les messages dans la console aident l'utilisateur à comprendre l'état actuel de l'espace disque.

Code d'Exemple : powershell

# Script pour surveiller l'espace libre sur un disque local

param(
    [Parameter(Mandatory=$true)]
    [ValidatePattern('^[A-Z]:$')]
    [string]$DriveLetter,

    [int]$SogliaPercentuale = 10
)

# Fonction pour obtenir des informations sur le disque
function Get-DriveFreeSpace {
    param(
        [string]$Drive
    )

    # Obtenir les informations du disque via Get-PSDrive
    $driveInfo = Get-PSDrive -Name $Drive.Substring(0,1) -ErrorAction SilentlyContinue

    if (-not $driveInfo) {
        Write-Error "Le disque $Drive n'a pas été trouvé. Assurez-vous que la lettre est correcte et que le disque est monté."
        return $null
    }

    # Calculer l'espace libre et total en Go
    $freeGB = [math]::Round($driveInfo.Free / 1GB, 2)
    $totalGB = [math]::Round($driveInfo.Used / 1GB + $freeGB, 2)

    # Calculer le pourcentage d'espace libre
    $freePercent = [math]::Round(($freeGB / $totalGB) * 100, 2)

    return [PSCustomObject]@{
        Drive = $Drive
        FreeSpaceGB = $freeGB
        TotalSpaceGB = $totalGB
        FreeSpacePercent = $freePercent
    }
}

# Obtenir les données du disque
$info = Get-DriveFreeSpace -Drive $DriveLetter

if ($info -eq $null) {
    exit 1
}

# Afficher les informations à l'écran
Write-Host "Disque : $($info.Drive)"
Write-Host "Espace total : $($info.TotalSpaceGB) Go"
Write-Host "Espace libre : $($info.FreeSpaceGB) Go ($($info.FreeSpacePercent)%)"

# Vérifier si l'espace libre est en dessous du seuil
if ($info.FreeSpacePercent -lt $SogliaPercentuale) {
    Write-Warning "Attention : l'espace libre est inférieur à $SogliaPercentuale%!"
} else {
    Write-Host "Espace libre suffisant."
}

# Fin du script
×
×
×
Veux-tu régénérer la réponse ?
×
Exporter le chat
Choisissez le format d'export
⏳ Generazione PDF in corso…
Allegati
×
⚠️ Vous êtes sur le point de fermer le chat et de passer au générateur d’images. Si vous n’êtes pas connecté, vous perdrez notre conversation. Confirmez-vous ?
👁 Tu consultes une discussion partagée en mode temporaire. Elle ne sera pas enregistrée.
💬
×
Prompts enregistrés
×
Note privée
×
Étiquette
×
Rechercher dans toutes les discussions
×
Vos insights
Analyse en cours…
×
Préférences IA
Nom de l'assistant 30
Longueur des réponses
Modèle IA
Réponses structurées
Inclure des exemples
Utiliser des emojis
Guide-moi, ne résous pas Des indices et des questions plutôt que la réponse toute faite
Plus de réglages →
×
Partager cette discussion
Toute personne ouvrant ce lien pourra consulter la discussion ou l'ajouter à son profil comme discussion personnelle.
⚠️ Attention : les pièces jointes de la discussion seront également partagées. Qui l'ajoutera recevra une copie des fichiers dans son dossier.
Discussion partagée
Quelqu'un a partagé une discussion avec toi. Veux-tu seulement la consulter ou l'ajouter à tes discussions ?
⚠️ Attention : les pièces jointes de la discussion seront également partagées. Qui l'ajoutera recevra une copie des fichiers dans son dossier.
×

📌 Messages enregistrés

Chargement...

×

Historique des discussions

programmes-exemples · HISTORIQUE DU CHAT

Chargement...

Préférences IA

×
  • 🟢 BasiqueRéponses rapides et essentielles pour étudier
  • 🔵 MoyenQualité supérieure pour étude et programmation
  • 🟣 AvancéRaisonnement complexe et analyses détaillées
Expliquer les étapes

Qu'est-ce qu'il faut ?

PowerShell version 5.1 ou supérieure

Module intégré : Get-PSDrive

Entrée utilisateur : lettre du disque à surveiller (ex. C)

CONFIG : seuil d'espace libre en pourcentage (par défaut 10 %)

Sortie : messages dans la console avec l'état de l'espace libre

Sujets Similaires

Utilitaire PowerShell pour générer des mots de passe aléatoires simples
Script PowerShell simple pour générer des mots de passe aléatoires avec lettres et chiffres selon la longueur définie par l’utilisateur, sans caractères spéciau
Script PowerShell pour renommer des fichiers selon la date de création
Script PowerShell pour renommer automatiquement les fichiers selon leur date de création au format YYYYMMDD, avec gestion des conflits et prévention des doublon
Utilitaire PowerShell pour rechercher des fichiers par extension dans un dossier
Script PowerShell simple pour rechercher des fichiers par extension dans un dossier avec gestion d’erreurs et sortie facile à utiliser en pipeline ou fichier.
Script PowerShell pour lister les processus en cours et les enregistrer en CSV
Script PowerShell pour lister les processus actifs et enregistrer leurs détails essentiels dans un fichier CSV pour une analyse facile et rapide.
Script PowerShell pour compter le nombre de fichiers dans chaque sous-dossier
Script PowerShell simple pour compter le nombre de fichiers dans chaque sous-dossier d’un dossier spécifié avec gestion des erreurs et sortie lisible.
Utilitaire PowerShell pour remplacer une chaîne dans tous les fichiers texte d’un dossier
Script PowerShell simple pour remplacer une chaîne dans tous les fichiers texte d’un dossier, avec gestion des erreurs et sans dépendances externes.
Script PowerShell pour créer une structure de dossiers par défaut pour un projet
Script PowerShell pour créer automatiquement une structure de dossiers standardisée pour un projet logiciel sous Windows avec PowerShell 5.1 ou supérieur.
Script PowerShell pour copier les fichiers modifiés au cours des dernières 24 heures
Script PowerShell pour copier les fichiers modifiés dans les dernières 24 heures en conservant la structure des dossiers source vers destination facilement.