Wie Sie eine Windows-Festplatte mit PowerShell sicher löschen

Im heutigen Zeitalter der Datensicherheit ist die ordnungsgemäße Vernichtung von Daten auf Festplatten entscheidend. Für IT-Fachleute und Managed Service Provider (MSPs) sind zuverlässige Tools für diese Aufgaben unerlässlich. In diesem Blog-Beitrag tauchen wir in die Details eines vielseitigen PowerShell-Skripts ein, das für die sichere und effiziente Löschung von Festplatten entwickelt wurde. Wir werden auch wichtige Tipps für die erfolgreiche Ausführung und Datenlöschung vorstellen.

Die Leistungsstärke von PowerShell für Disk Management

PowerShell, die leistungsstarke Skriptsprache von Microsoft, bietet umfangreiche Möglichkeiten zur Verwaltung und Sicherung von Daten. Mit seinen robusten Funktionen, wie z. B. der Möglichkeit, Datenträger zu formatieren und Festplatten zu löschen,wird PowerShell zu einem unschätzbaren Werkzeug für alle, die häufig mit Datenverwaltungsaufgaben zu tun haben.

Das Potenzials des PowerShell-Skripts für Remote Wipe erschließen

Das besprochene PowerShell-Skript wurde entwickelt, um eine Fernlöschung auf einem Gerät durchzuführen. Es kann mehrere Methoden ausführen, die jeweils unterschiedliche Stufen der Datenlöschung und des System-Resets bieten, um unterschiedlichen Anforderungen an die Datensicherheit gerecht zu werden.

Aber wie stellen Sie sicher, dass dieses Skript korrekt ausgeführt wird und alle Daten erfolgreich von der Festplatte gelöscht werden? Hier sind einige Tipps:

  1. Kompatibilität prüfen: Stellen Sie sicher, dass das Zielsystem mit der gewählten Methode kompatibel ist. So werden beispielsweise die Methoden „WipeProtected“ und „WipePersistUserData“ nur von bestimmten Windows 10-Build-Versionen oder höher unterstützt.
  2. Überprüfen Sie den Computernamen: Der Parameter ComputerName muss dem Namen des Computers entsprechen, auf dem das Skript ausgeführt wird. Ist dies nicht der Fall, wird das Skript beendet, ohne Änderungen vorzunehmen. Der Schalter ComputerNameBypass kann verwendet werden, um dies außer Kraft zu setzen.
  3. Test vor der Bereitstellung: Testen Sie das Skript immer in einer kontrollierten Umgebung, bevor Sie es in einer Produktionsumgebung einsetzen. So können Probleme erkannt und behoben werden, bevor sie sich auf kritische Systeme auswirken.
  4. Skript-Ausführung überwachen: Behalten Sie die Ausführung des Skripts im Auge. Achten Sie auf alle Fehler oder Ausnahmen, die das Skript auslöst. Diese Meldungen können wertvolle Hinweise auf eventuell auftretende Probleme liefern.
  5. Überprüfen Sie die Datenlöschung: Nachdem das Skript ausgeführt wurde, überprüfen Sie, ob die Datenlöschung erfolgreich war. Dies können Sie überprüfen, indem Sie versuchen, Daten vom Laufwerk abzurufen. Wenn ein Abruf nicht möglich ist, kann die Datenlöschung als erfolgreich angesehen werden.
  6. Dokumentieren Sie den Prozess: Dokumentieren Sie den gesamten Prozess, von der ersten Skriptausführung bis zur Überprüfung der Datenlöschung. Diese Dokumentation kann eine wertvolle Ressource für künftiges Nachschlagen oder für den Fall von Audits sein.

Das Skript: Fernlöschen eines Windows-Geräts

 #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
}

 


Zugriff auf über 300 Skripte im NinjaOne Dojo

Zugang erhalten

PowerShell-Skripte, wie das in diesem Blogbeitrag besprochene, können leistungsstarke Tools für IT-Experten und MSPs sein, die Effizienz und robuste Datensicherheit bieten. Mit einem genauen Verständnis des Skripts und diesen Tipps können Sie eine erfolgreiche Ausführung und eine sichere Datenlöschung gewährleisten. Im Bereich der Datenverwaltung ist es von unschätzbarem Wert, über solche zuverlässigen Werkzeuge und Kenntnisse zu verfügen.

Vielleicht fragen Sie sich: „Wie kann man eine Mac-Festplatte löschen?“, und wir haben die Lösung für Sie. Lesen Sie unseren Blog-Beitrag zum Thema „Mac-Festplatte mit einem Bash-Skript löschen„.

Wie NinjaOne helfen kann

Für Unternehmen, die ihre Datensicherheit und ihr IT-Management auf den nächsten Level heben wollen, kann die Integration einer Lösung wie NinjaOne einen großen Unterschied machen. PowerShell-Skripte sind zwar leistungsstark für Aufgaben wie das Löschen von Festplatten, aber die Verwaltung dieser Skripte über eine große Anzahl von Geräten kann mühsam sein. NinjaOne vereinfacht dies durch die zentrale Bereitstellung von Skripten und Automatisierungsfunktionen. Sie können Ihre PowerShell-Skripte zur Fernlöschung von Daten auf mehreren Geräten ausführen, und zwar von einem einzigen Dashboard aus.

Darüber hinaus bietet NinjaOne fortschrittliche Berichts- und Analysemöglichkeiten, so dass Sie den Erfolg Ihrer Datenlöschvorgänge leicht überprüfen und die Einhaltung der Compliance nachweisen können. Sollte das Skript auf Probleme oder Ausnahmen stoßen, werden Sie durch die Echtzeitüberwachung von NinjaOne gewarnt und können schnell eingreifen. Dies minimiert die Risiken und gewährleistet, dass Ihr Datenlöschungsprozess gründlich und sicher ist.

Egal, ob Sie ein IT-Experte oder ein Managed Service Provider sind, die Integration von NinjaOne in Ihr Datenmanagement und Ihre Sicherheitspraktiken kann Ihnen eine zusätzliche Ebene der Effizienz und Zuverlässigkeit bieten. Es geht nicht nur darum, ein Skript auszuführen, sondern es effektiv im gesamten Unternehmen zu verwalten, und genau dabei kann NinjaOne Ihnen helfen. Sehen Sie sich eine Demo an und erfahren Sie, warum NinjaOne auf G2 Crowd zur besten Endpunkt-Management-Software gewählt wurde.

Nächste Schritte

Der Aufbau eines effizienten und effektiven IT-Teams erfordert eine zentralisierte Lösung, die als einheitliches Tool für die Bereitstellung von IT-Dienstleistungen fungiert. NinjaOne ermöglicht es IT-Teams, all ihre Geräte zu überwachen, verwalten, sichern und zu unterstützen, unabhängig von ihrem Ort und komplexer Infrastruktur vor Ort.

Erfahren Sie mehr über NinjaOne Endpoint Management schauen Sie sich eine Live-Tour an oder starten Sie Ihre kostenlose Testversion der NinjaOne Plattform.

Kategorien:

Das könnte Sie auch interessieren

Umfassender Guide für die Proxmox-Cluster-Statusüberwachung unter Linux

Umfassender Guide zum Auflisten von Browsererweiterungen unter macOS

Schritt-für-Schritt-Guide zur Automatisierung der ConnectWise ScreenConnect-Installation unter Linux

Wie man mit einem Bash-Skript Absturzdateien unter MacOS entdeckt

Linux-Skript-Guide: Abruf vom Status des Netzwerk-Knoten-Speichers in Proxmox

Wie man TeamViewer-Dienste mit PowerShell neu startet und verwaltet

×

Sehen Sie NinjaOne in Aktion!

Mit dem Absenden dieses Formulars akzeptiere ich die Datenschutzerklärung von NinjaOne.

NinjaOne Allgemeine Geschäftsbedingungen für Skripte

Indem Sie unten auf die Schaltfläche „Ich akzeptiere“ klicken, erklären Sie Ihr Einverständnis mit den folgenden rechtlichen Bedingungen sowie mit unseren Nutzungsbedingungen:

  • Eigentumsrechte: NinjaOne besitzt und wird weiterhin alle Rechte, Titel und Interessen an dem Skript (einschließlich des Urheberrechts) behalten. NinjaOne gewährt Ihnen eine eingeschränkte Lizenz zur Nutzung des Skripts in Übereinstimmung mit diesen rechtlichen Bedingungen.
  • Einschränkung der Nutzung: Sie dürfen das Skript nur für Ihre legitimen persönlichen oder internen Geschäftszwecke verwenden und es nicht an Dritte weitergeben.
  • Verbot der Wiederveröffentlichung: Sie sind unter keinen Umständen berechtigt, das Skript in einer Skriptbibliothek, die einem anderen Softwareanbieter gehört oder von diesem kontrolliert wird, erneut zu veröffentlichen.
  • Gewährleistungsausschluss: Das Skript wird „wie gesehen“ und „wie verfügbar“ bereitgestellt, ohne jegliche Garantie. NinjaOne gibt keine Versprechen oder Garantien, dass das Skript frei von Fehlern ist oder dass es Ihre speziellen Bedürfnisse oder Erwartungen erfüllt.
  • Risikoübernahme: Die Verwendung des Skripts erfolgt auf eigene Gefahr. Sie erkennen an, dass die Nutzung des Skripts mit bestimmten Risiken verbunden ist, und Sie verstehen und übernehmen jedes dieser Risiken.
  • Verzicht und Freigabe: Sie machen NinjaOne nicht für nachteilige oder unbeabsichtigte Folgen verantwortlich, die sich aus Ihrer Nutzung des Skripts ergeben, und Sie verzichten auf alle gesetzlichen oder billigkeitsrechtlichen Rechte oder Rechtsmittel, die Sie gegen NinjaOne im Zusammenhang mit Ihrer Nutzung des Skripts haben könnten.
  • EULA: Wenn Sie ein NinjaOne-Kunde sind, unterliegt Ihre Nutzung des Skripts dem für Sie geltenden Endbenutzer-Lizenzvertrag (EULA).