OneDrive komplett aus Windows deinstallieren

OneDrive aus Windows 10 und Windows 11 entfernen, möchte man auf die Vorinstallierte Microsoft Cloud-App verzichten, lässt sich OneDrive komplett aus Windows deinstallieren, auch die Symbole werden aus der Taskleiste und dem Explorer sowie aus dem Startmenü entfernt. Wir zeigen, wie man OneDrive aus Windows entfernt – und so geht’s

Im ersten Schritt werden die folgenden Zeilen in einen Editor eingefügt, einfach geht es mit dem Texteditor notepad.exe.

@echo off
REM OneDrive deinstallation
taskkill /f /im OneDrive.exe
IF EXIST %SystemRoot%\SysWOW64\OneDriveSetup.exe %SystemRoot%\SysWOW64\OneDriveSetup.exe /uninstall
IF EXIST %SystemRoot%\System32\OneDriveSetup.exe %SystemRoot%\System32\OneDriveSetup.exe /uninstall
REG ADD "HKCR\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /v "System.IsPinnedToNameSpaceTree" /t REG_DWORD /d "0" /f
REG ADD "HKCR\WOW6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /v "System.IsPinnedToNameSpaceTree" /t REG_DWORD /d "0" /f

Die Code Zeilen mit Copy Paste in den Notepad Editor einfügen.

OneDrive komplett aus Windows deinstallieren

Den Inhalt von Notepad speichern als Datei onedrive-deinstall.cmd, beispielsweise in den Ordner Dokumente.

Dann im zweiten Schritt die Batchdatei onedrive-deinstalll.cmd ausführen. Hierzu drücke die Windows Taste gefolgt von Eingabeaufforderung auf der Tastatur, wähle Als Administrator ausführen.

Windows 11 Eingabeaufforderung als Administrator ausführen

In der geöffneten Eingabeaufforderung wechsle zum Verzeichnis in diesem die Datei onedrive-deinstall.cmd gespeichert ist, mit der Befehlseingabe cd %userprofile%\documents dann die Batchdatei ausführen.

Die gespeicherte Batchdatei kann nun auf andere Systeme kopiert werden, um ggf. OneDrive aus weiteren Installationen zu entfernen.

Erstellen eines neuen selbstsignierten Zertifikats mit PowerShell

Manchmal benötigen wir ein selbstsigniertes Zertifikat für Webseiten über HTTPS, insbesondere in Labs und zu Testzwecken, etwa um eine Web-App zu testen oder für das Intranet Portal. Dieses Tutorial zeigt hier mit Windows 11, die Vorgehensweise um einfach selbstsignierte Zertifikate in der PowerShell auszustellen und zu installieren.

Inhalt

Zuvor musste man sich mit makecert.exe behelfen welches ein Teil von Microsoft Windows SDK ist, um selbstsignierte Zertifikate auszustellen. Ab Windows 8 kann dies in der PowerShell erfolgen, so gibt es das cmdlet New-SelfSignedCertificate. Es lassen sich SSL/TLS-Zertifikate ausstellen, für die asymmetrischen Kryptografie, die Client- und Server-Authentifizierung oder die Code-Signierung.

Zertifikat erstellen mit New-SelfSignedCertificate

Öffne hierzu die PowerShell als Administrator und führe die folgenden Befehlszeilen aus.

New-SelfSignedCertificate -DnsName "localdomain.local", "dev.ops.local" -CertStoreLocation "cert:\LocalMachine\My"
$pass=ConvertTo-SecureString "pass123" -AsPlainText -force
$file="$env:temp\SelfSignedCert.pfx"
Export-PFXCertificate -cert cert:\LocalMachine\My\<Thumbprint output during first command> -file $file -Password $pass
Import-PfxCertificate -FilePath $file cert:\LocalMachine\root -Password $pass

In diesem Beispiel wird ein selbstsigniertes SSL-Serverzertifikat im Zertifikatsspeicher des Computers erstellt, wobei der alternative Antragstellername auf localdomain.local, dev.ops.local und der Antragsteller und Ausstellername auf localdomain.local festgelegt ist.

Erstellen eines neuen selbstsignierten Zertifikats mit PowerShell

  Platzhalter mit dem tatsächlichen Fingerabdruck (Thumbprint) ersetzen, der anstelle von Thumbprint output during first command eingefügt wird.

Hinweis: Lege die PowerShell-Ausführungsrichtlinie von Restricted auf RemoteSigned oder Unrestricted fest, damit lokale PowerShell-Skripts ausgeführt werden können.

PS C:\> Set-ExecutionPolicy RemoteSigned

Nach erstellen des Zertifikats wird dieses in das PFX-Format exportiert um es anschließend in den Zertifikatsspeicher zu importieren.

Das Zertifikat das gerade ausgestellt wurde, findet man jetzt im Zertifikatsmanager (CERTLM.MSC) der Microsoft Management Console (mmc) unter Vertrauenswürdige Stammzertifizierungsstellen.

Zertifikatsmanager CERTLM.MSC der Microsoft Management Console
Zertifikate Lokaler Computer: CERTLM.MSC

Selbstsignierte Zertifikate automatisch erstellen

Das Automatische Erstellen des selbstsignierten Zertifikats ohne Eingaben, weitere Aktionen sind nicht erforderlich, es wird der Computername und, falls vorhanden, der Domänenname verwendet, um das selbstsignierte Zertifikat auszustellen.

New-SelfSignedCertificate -DnsName "$env:COMPUTERNAME.$env:USERDNSDOMAIN" -CertStoreLocation "cert:\LocalMachine\My"
$pass=ConvertTo-SecureString "pass123" -AsPlainText -force
$file="$env:temp\SelfSignedCert.pfx"
$thumbprint=Get-ChildItem -Path Cert:\LocalMachine\MY | Where-Object {$_.Subject -Match "$env:COMPUTERNAME.$env:USERDNSDOMAIN"} | Select-Object Thumbprint -ExpandProperty "Thumbprint"
Export-PFXCertificate -cert cert:\LocalMachine\My\"$thumbprint" -file $file -Password $pass
Import-PfxCertificate -FilePath $file cert:\LocalMachine\root -Password $pass

Der Fingerabdruck wird in Zeile 4 in die Variable „$thumbprint“ geschrieben, um ihn dann im Export Befehl übergeben zu können.

PS C:\> Get-ChildItem -Path Cert:\LocalMachine\MY | Where-Object {$_.Subject -Match "$env:COMPUTERNAME.$env:USERDNSDOMAIN"} | Select-Object Thumbprint

Mit diesem Befehl kann das gerade erstellte selbstsignierte Zertifikat zur Überprüfung angezeigt werden.

Wenn für das Zertifikat ein bestimmter Common Name (CN) benötigt wird, kann dieses Skript ausgeführt werden. Es fordert dazu auf ein Common Name einzugeben, um das selbstsignierte Zertifikat der URL entsprechend zu erstellen.

$CommonName=Read-Host -Prompt 'Enter a Common Name (CN)'
if ($CommonName) {
	Write-Output "Self-Signed Certificate [$CommonName] processing.."
} else {
	Write-Warning -Message "Missing Common Name (CN)!"
	Break;
}
New-SelfSignedCertificate -DnsName "$CommonName" -CertStoreLocation "cert:\LocalMachine\My"
$pass=ConvertTo-SecureString "pass123" -AsPlainText -force
$file="$env:temp\$CommonName.pfx"
$thumbprint=Get-ChildItem -Path Cert:\LocalMachine\MY | Where-Object {$_.Subject -Match "$CommonName"} | Select-Object Thumbprint -ExpandProperty "Thumbprint"
Export-PFXCertificate -cert cert:\LocalMachine\My\"$thumbprint" -file $file -Password $pass
Import-PfxCertificate -FilePath $file cert:\LocalMachine\root -Password $pass