Détection d'insertion d'un disque amovible avec PowerShell

Ce script PowerShell va vous permettre d'écouter les insertions de disques amovibles (Clé USB, Disque dur externe... etc)

Lorsqu'un disque amovible est connecté, un script est exécuté.

Vous pouvez changer le type de disque en modifiant la valeur de DriveType.

Vous pouvez consulter la documentation de la classe disque logique Win32 (Win32 logical disk)

Pour écouter l'insertion d'un disque amovible (DriveType = 2)

# Création de la requête pour Win32_LogicalDisk
# DriveType "2" est un disque amovible
$Query = "select * from __InstanceCreationEvent within 5 where TargetInstance ISA 'Win32_LogicalDisk' and TargetInstance.DriveType = 2";

# Pour exécuter un bloc de code
$Action = {
    # Affichage d'une fenêtre modale	
    [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms");
    [System.Windows.Forms.MessageBox]::Show("Un disque amovible vient d'être inséré");
};

# Pour exécuter un fichier script
# LA PERMISSION POUR EXÉCUTER LES FICHIERS SCRIPT DOIT ÊTRE ACTIVÉE
# $Action = { & C:\chemin\vers\script.ps1;  };

# Inscription à l'évènement
Register-WmiEvent -Query $Query -Action $Action -SourceIdentifier USBDriveListener;

Pour se désinscrire à l'évènement

# Pour se désinscrire de l'évènement
Unregister-Event  -SourceIdentifier USBDriveListener;

L'ID (SourceIdentifier) doit être le même que lors de l'inscription.

Commentaires