Windows

如何使用 Powershell 安全擦除驅動器?

  • July 9, 2020

Powershell 是否有內置方法來安全擦除磁碟?通過安全擦除,我的意思是向整個磁碟寫入隨機數據或全零。磁碟是指整個物理磁碟,而不是單個文件、掛載的捲或文件系統。

我找到了Clear-Disk,但這似乎只是從分區表中擦除卷資訊。

我知道那裡有第三方實用程序,微軟自己的diskpart clean可以做到這一點,而且,甚至可以在 Windows 上進入 Linux並使用shred 或 dd讓數據小睡一下……

但是純香草Powershell可以做到嗎?(無需借助複雜的腳本或外部庫呼叫)

您可以在 PowerShell 中執行一些操作來有效保護磁碟上的數據,具體取決於您擦除/處置/回收驅動器的需要。不幸的是,沒有簡單的Erase-Disk -Securecmdlet。

ATA“SECURE ERASE”和“SANITIZE”命令可以發送到儲存設備控制器,通常是您快速安全地擦除整個磁碟的最佳技術選擇。但是,除非您在 WinPE 環境中執行,否則 Microsoft 的 AHCI 驅動程序會阻止這些命令。在正常 Windows 安裝中執行的任何軟體都不能傳遞 ATA 命令。https://docs.microsoft.com/en-us/windows-hardware/drivers/storage/security-group-commands

您可能可以建構一個執行 powershell 腳本以發送 ATA 命令的 WinPE 環境,但是您也可以使用可引導的 dban 映像。

您可以在 Windows 中使用 PowerShell 實現自動化的解決方案是 BitLocker。命令 BitLocker 通過 GUI 或 PowerShell 加密已用磁碟空間或所有磁碟空間,一旦加密,如果沒有 BitLocker 密鑰,您的數據將無法恢復。

https://docs.microsoft.com/en-us/windows/security/information-protection/bitlocker/bitlocker-device-encryption-overview-windows-10

您還可以在“回收”模式下嘗試 Windows 10 的內置重置功能,該功能可以安全擦除板載儲存。我找不到有關自動化流程的文件,只看到systemreset -cleanpc提到。如果有人能找到關於自動化的文件,我會更新我的答案。

引用自:https://serverfault.com/questions/1024409