Nel momento che stiamo vivendo dal punto di vista della sicurezza dei dati, cancellare dati da un disco rigido in modo corretto è fondamentale. Per i professionisti IT e i fornitori di servizi gestiti (MSP), disporre di strumenti affidabili per queste attività è essenziale. In questo post sul blog, andremo a vedere nel dettaglio un versatile script PowerShell progettato per cancellare dati da un disco rigido in modo sicuro ed efficiente. E andremo anche a fornire suggerimenti essenziali per garantire il successo dell’esecuzione dello script e della rimozione dei dati.
La potenza di PowerShell per la gestione dei dischi
PowerShell, il potente linguaggio di scripting di Microsoft, offre importanti capacità di gestione e protezione dei dati. Grazie alle sue consolidate funzionalità, come la possibilità di formattare un’unità e di cancellare dati da un disco rigido, PowerShell diventa uno strumento prezioso per chiunque abbia a che fare con frequenti attività di gestione dei dati.
Sfruttare il potenziale dello script PowerShell per cancellare dati da un disco rigido da remoto
Lo script PowerShell di cui stiamo parlando è stato creato per cancellare dati da un disco rigido in modo definitivo, da remoto, su un dispositivo. È in grado di agire in diverse modalità, ognuna delle quali offre un livello diverso di eliminazione dei dati e di ripristino del sistema, per soddisfare diversi requisiti di sicurezza dei dati che hai bisogno di cancellare da un disco.
Ma come puoi essere sicuro che questo script venga eseguito correttamente e che quindi riesca a cancellare dati da un disco con successo? Ecco alcuni suggerimenti:
- Verifica la compatibilità: Assicurati che il sistema di destinazione sia compatibile con il metodo scelto. Ad esempio, i metodi “WipeProtected” e ” WipePersistUserData” sono supportati solo su build specifiche di Windows 10 o superiori.
- Verifica il nome del computer: Il parametro ComputerName deve corrispondere al nome del computer su cui viene eseguito lo script. In caso contrario, lo script verrà eseguito senza apportare alcuna modifica e quindi senza cancellare dati da un disco. Lo switch ComputerNameBypass può essere usato per escludere questa opzione.
- Testa prima della distribuzione: Testa sempre lo script in un ambiente controllato prima di distribuirlo in un ambiente di produzione e tentare di cancellare dati da un disco importante. Questo aiuta a identificare e correggere eventuali problemi prima che abbiano un impatto sui sistemi critici.
- Monitora l’esecuzione lo script: Tieni d’occhio l’esecuzione dello script. Fai attenzione a eventuali messaggi relativi a errori o eccezioni generati dallo script. Questi messaggi possono fornire indicazioni preziose su eventuali problemi che possono impedire allo script di cancellare dati da un disco.
- Verifica l’avvenuta cancellazione dei dati: Dopo l’esecuzione dello script, verifica che lo script sia riuscito a cancellare i dati da un disco con successo. Questo può essere fatto tentando di recuperare i dati dall’unità. Se il recupero è impossibile, puoi essere sicuro che lo script sia stato in grado di cancellare dati da un disco.
- Documenta il processo: Conserva una trascrizione dell’intero processo, dall’esecuzione dello script iniziale fino al momento in cui andrai a verificare che lo script sia riuscito a cancellare dati da un disco. Questa documentazione può essere una risorsa preziosa da usare come punto di riferimento in futuro o in caso di audit.
Lo script: Cancellare dati da un disco di un dispositivo Windows da remoto
#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 }
Accedi a oltre 700 script nel Dojo di NinjaOne Ottieni l’accesso
Gli script PowerShell, come quello di cui parliamo in questo post sul blog, possono essere strumenti potenti per i professionisti IT e gli MSP, utili a migliorare l’efficienza e la sicurezza dei dati. Con una chiara comprensione dello script e seguendo questi suggerimenti, potrai essere sicuro della corretta esecuzione dello script e del fatto che sia riuscito a cancellare dati da un disco. Nel campo della gestione dei dati, disporre di strumenti e conoscenze così affidabili ha un valore inestimabile.
A questo punto potresti chiederti, “E per cancellare dati da un disco in ambiente Mac?”, e possiamo aiutarti anche con questo. Dai un’occhiata al nostro post sul blog “Come cancellare dati da un disco in ambiente Mac con uno script Bash“.
Come NinjaOne può aiutare
Per le organizzazioni che desiderano portare la sicurezza dei dati e la gestione IT a un livello superiore, l’integrazione di una soluzione come NinjaOne può rappresentare una differenza significativa. Sebbene gli script PowerShell siano già di per sé potenti per attività come quella di cancellare dati da un disco rigido, la gestione di questi script su un gran numero di dispositivi può risultare complessa. NinjaOne semplifica questo aspetto offrendo funzionalità centralizzate di distribuzione e automazione degli script. È possibile distribuire gli script PowerShell per cancellare dati da un disco rigido da remoto su più dispositivi, il tutto da un’unica dashboard.
Inoltre, NinjaOne offre reportistica e analisi avanzate, permettendoti di verificare facilmente il successo delle operazioni di cancellazione dei dati e di mantenere i record di conformità. Nel caso in cui lo script incontri problemi a cancellare dati da un disco o eccezioni, il monitoraggio in tempo reale di NinjaOne ti avviserà, consentendoti di intervenire rapidamente. Questo riduce al minimo i rischi e garantisce che il processo di rimozione dei dati sia completo e sicuro.
Quindi, che tu sia un professionista IT o un fornitore di servizi gestiti, l’integrazione di NinjaOne nelle tue pratiche di gestione e sicurezza dei dati ti può offrire un ulteriore livello di efficienza e affidabilità. Non si tratta solo di eseguire uno script, ma di gestirlo efficacemente in tutta l’organizzazione, e NinjaOne può aiutarti a farlo. Guarda una demo per capire perché NinjaOne è stato votato come il software di gestione degli endpoint numero 1 su G2 Crowd.