À l’ère de la sécurité des données, l’élimination correcte des données contenues dans les disques durs est cruciale. Pour les professionnels de l’informatique et les fournisseurs de services gérés (MSP), il est essentiel de disposer d’outils fiables pour ces tâches. Dans cet article, nous allons plonger dans les détails d’un script PowerShell polyvalent conçu pour un nettoyage sécurisé et efficace des disques. Nous également fournir des conseils essentiels pour garantir la réussite de l’exécution et de la suppression des données.
La puissance de PowerShell pour la gestion des disques
PowerShell, le puissant langage de script de Microsoft, offre de vastes possibilités pour gérer et sécuriser les données. Grâce à ses fonctionnalités robustes, telles que la possibilité de formater les disques et d’effacer les disques durs, PowerShell devient un outil inestimable pour tous ceux qui sont confrontés à des tâches fréquentes de gestion des données.
Exploiter le potentiel du script PowerShell pour l’effacement à distance
Le script PowerShell dont il est question ici est conçu pour exécuter un nettoyage à distance sur un appareil. Il est capable d’exécuter plusieurs méthodes, chacune offrant différents niveaux de suppression des données et de réinitialisation du système afin de répondre aux différentes exigences en matière de sécurité des données.
Mais comment s’assurer que ce script s’exécute correctement et que toutes les données sont bien effacées du disque dur ? Voici quelques conseils :
- Vérifiez la compatibilité : S’assurer que le système cible est compatible avec la méthode choisie. Par exemple, les méthodes « WipeProtected » et « WipePersistUserData » ne sont prises en charge que sur certaines versions de Windows 10 ou ultérieures.
- Vérifiez le nom de l’ordinateur : Le paramètre ComputerName doit correspondre au nom de l’ordinateur sur lequel le script s’exécute. Si ce n’est pas le cas, le script se termine sans apporter de modifications. Le commutateur ComputerNameBypass peut être utilisé pour outrepasser cela.
- Testez avant de déployer : Testez toujours le script dans un environnement contrôlé avant de le déployer dans un environnement de production. Cela permet d’identifier et de rectifier les problèmes avant qu’ils n’affectent les systèmes critiques.
- Surveillez l’exécution des scripts : Gardez un œil sur l’exécution du script. Prêtez attention à toute erreur ou exception déclenchée par le script. Ces messages peuvent donner des indications précieuses sur les problèmes éventuels.
- Vérifiez l’effacement des données : Après l’exécution du script, vérifiez que l’effacement des données a réussi. Pour ce faire, il faut tenter de récupérer les données du disque. Si la récupération est impossible, l’effacement des données peut être considéré comme réussi.
- Documentez le processus : Conservez un enregistrement de l’ensemble du processus, de l’exécution initiale du script à la vérification de l’effacement des données. Cette documentation peut constituer une ressource précieuse pour des références ultérieures ou en cas d’audit.
Le script : Effacement à distance d’un appareil Windows
#Requires -Version 5.1 <# .SYNOPSIS Remote Wipe a device. .DESCRIPTION Remote Wipe a device via InvokeMethod from a Cim Session. doWipe, doWipeProtected, doWipePersistUserData, and doWipePersistProvisionedData are supported. See examples for how to use each. .EXAMPLE -Method Wipe -ComputerName "PC-001" Runs the doWipe method. Equivalent to running "Reset this PC > Remove everything" from the Settings app, with Clean Data set to No and Delete Files set to Yes. ComputerName needs to match the computer name of the computer the script is running on. If it doesn't then the script will exit, doing nothing. .EXAMPLE -Method Wipe -ComputerNameBypass Runs the doWipe method. Equivalent to running "Reset this PC > Remove everything" from the Settings app, with Clean Data set to No and Delete Files set to Yes. Will bypass the computer name check and run regards less. .EXAMPLE -Method WipeProtected -ComputerName "PC-001" Runs the doWipeProtected method. Performs a remote reset on the device and also fully cleans the internal drive. Windows 10 build version 1703 and above. ComputerName needs to match the computer name of the computer the script is running on. If it doesn't then the script will exit, doing nothing. .EXAMPLE -Method WipePersistUserData Runs the doWipeProtected method. Equivalent to selecting "Reset this PC > Keep my files" when manually starting a reset from the Settings app. Windows 10 build version 1709 and above. ComputerName needs to match the computer name of the computer the script is running on. If it doesn't then the script will exit, doing nothing. .EXAMPLE -Method WipePersistProvisionedData Runs the doWipeProtected method. Provisioning packages in the %SystemDrive%ProgramDataMicrosoftProvisioning folder will be retained and then applied to the OS after the reset. The information that was backed up will be restored and applied to the device when it resumes. ComputerName needs to match the computer name of the computer the script is running on. If it doesn't then the script will exit, doing nothing. .NOTES Reference: https://docs.microsoft.com/en-us/windows/client-management/mdm/remotewipe-csp Release Notes: Initial Release By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/terms-of-use. Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA). #> [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [ValidateSet("Wipe", "WipeProtected", "WipePersistProvisionedData", "WipePersistUserData")] [String] $Method, [Parameter()] [String] $ComputerName, [Parameter()] [switch] $ComputerNameBypass ) # ComputerNameBypass was used, continue on. if ($PSBoundParameters.ContainsKey("ComputerNameBypass") -and $ComputerNameBypass) { Write-Host "Bypassing Computer Name check." } else { # If computer name matches, continue on. if ($ComputerName -notlike $env:COMPUTERNAME) { Write-Error "Computer Name does not match." exit 1 } } # Check if the requested Method is supported or not $BuildVersion = [System.Environment]::OSVersion.Version.Build if ($BuildVersion -lt 1703 -and $Method -like "WipeProtected") { Write-Host "WipeProtected is only supported on Windows 10 build version 1703 and above." exit 1 } if ($BuildVersion -lt 1709 -and $Method -like "WipePersistUserData") { Write-Host "WipePersistUserData is only supported on Windows 10 build version 1709 and above." exit 1 } $session = New-CimSession $params = New-Object Microsoft.Management.Infrastructure.CimMethodParametersCollection $param = [Microsoft.Management.Infrastructure.CimMethodParameter]::Create("param", "", "String", "In") $params.Add($param) $CimSplat = @{ Namespace = "rootcimv2mdmdmmap" ClassName = "MDM_RemoteWipe" Filter = "ParentID='./Vendor/MSFT' and InstanceID='RemoteWipe'" } try { $instance = Get-CimInstance @CimSplat $session.InvokeMethod($CimSplat["Namespace"], $instance, "do$($Method)Method", $params) } catch { Write-Error $_ exit 1 }
Accédez à plus de 700 scripts dans le Dojo NinjaOne
Les scripts PowerShell, comme celui présenté dans cet article de blog, peuvent être des outils puissants pour les professionnels de l’informatique et les entreprises MSP, offrant une efficacité et une solide sécurité des données. En comprenant bien le script et en suivant ces conseils, vous pouvez garantir une exécution réussie et un effacement sécurisé des données. Dans le domaine de la gestion des données, disposer d’outils et de connaissances aussi fiables est inestimable.
Vous vous demandez peut-être ce qu’il en est de l’effacement d’un disque dur de Mac ? Consultez notre article « Comment effacer un disque dur Mac avec un script Bash« .
Comment NinjaOne peut aider
Pour les entreprises qui souhaitent faire passer la sécurité des données et la gestion informatique au niveau supérieur, l’intégration d’une solution telle que NinjaOne peut faire une différence significative. Bien que les scripts PowerShell soient puissants pour des tâches telles que l’effacement de disque, la gestion de ces scripts sur un grand nombre d’appareils peut s’avérer fastidieuse. NinjaOne rationalise ce processus en offrant des capacités centralisées de déploiement et d’automatisation des scripts. Vous pouvez déployer vos scripts PowerShell pour effacer les données à distance sur plusieurs appareils, à partir d’un seul tableau de bord.
De plus, NinjaOne propose des rapports et des analyses avancés, ce qui vous permet de vérifier facilement le succès de vos opérations d’effacement de données et de maintenir les enregistrements de conformité. Si le script rencontre des problèmes ou des exceptions, la surveillance en temps réel de NinjaOne vous alertera, ce qui vous permettra d’intervenir rapidement. Cela minimise les risques et garantit que votre processus de suppression des données est complet et sécurisé.
Ainsi, que vous soyez un professionnel de l’informatique ou un fournisseur de services gérés (MSP), l’intégration de NinjaOne dans vos pratiques de gestion et de sécurité des données peut offrir un niveau supplémentaire d’efficacité et de fiabilité. Il ne s’agit pas seulement d’exécuter un script, mais de le gérer efficacement au sein de votre entreprise, et NinjaOne peut vous aider à le faire. Regardez une démo et découvrez pourquoi NinjaOne a été élu logiciel N°1 de gestion des terminaux sur G2 Crowd.