Uses registry, file system, and process commands to uninstall OneDrive, clean leftovers, and restore defaults—freeing RAM, CPU, and I/O by eliminating its background sync and startup tasks.
$OneDrivePath=$($env:OneDrive)Write-Host"Removing OneDrive"$regPath="HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\OneDriveSetup.exe"if(Test-Path$regPath){$OneDriveUninstallString=Get-ItemPropertyValue"$regPath"-Name"UninstallString"$OneDriveExe,$OneDriveArgs=$OneDriveUninstallString.Split(" ")Start-Process-FilePath$OneDriveExe-ArgumentList"$OneDriveArgs /silent"-NoNewWindow-Wait}else{Write-Host"Onedrive dosn't seem to be installed anymore"-ForegroundColorRedreturn}# Check if OneDrive got Uninstalledif(-not(Test-Path$regPath)){Write-Host"Copy downloaded Files from the OneDrive Folder to Root UserProfile"Start-Process-FilePathpowershell-ArgumentList"robocopy '$($OneDrivePath)' '$($env:USERPROFILE.TrimEnd())\' /mov /e /xj"-NoNewWindow-WaitWrite-Host"Removing OneDrive leftovers"Remove-Item-Recurse-Force-ErrorActionSilentlyContinue"$env:localappdata\Microsoft\OneDrive"Remove-Item-Recurse-Force-ErrorActionSilentlyContinue"$env:localappdata\OneDrive"Remove-Item-Recurse-Force-ErrorActionSilentlyContinue"$env:programdata\Microsoft OneDrive"Remove-Item-Recurse-Force-ErrorActionSilentlyContinue"$env:systemdrive\OneDriveTemp"regdelete"HKEY_CURRENT_USER\Software\Microsoft\OneDrive"-f# check if directory is empty before removing:If((Get-ChildItem"$OneDrivePath"-Recurse|Measure-Object).Count-eq0){Remove-Item-Recurse-Force-ErrorActionSilentlyContinue"$OneDrivePath"}Write-Host"Remove Onedrive from explorer sidebar"Set-ItemProperty-Path"HKCR:\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}"-Name"System.IsPinnedToNameSpaceTree"-Value0Set-ItemProperty-Path"HKCR:\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}"-Name"System.IsPinnedToNameSpaceTree"-Value0Write-Host"Removing run hook for new users"regload"hku\Default""C:\Users\Default\NTUSER.DAT"regdelete"HKEY_USERS\Default\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"/v"OneDriveSetup"/fregunload"hku\Default"Write-Host"Removing startmenu entry"Remove-Item-Force-ErrorActionSilentlyContinue"$env:userprofile\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\OneDrive.lnk"Write-Host"Removing scheduled task"Get-ScheduledTask-TaskPath'\'-TaskName'OneDrive*'-eaSilentlyContinue|Unregister-ScheduledTask-Confirm:$false# Add Shell folders restoring default locationsWrite-Host"Shell Fixing"Set-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"AppData"-Value"$env:userprofile\AppData\Roaming"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"Cache"-Value"$env:userprofile\AppData\Local\Microsoft\Windows\INetCache"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"Cookies"-Value"$env:userprofile\AppData\Local\Microsoft\Windows\INetCookies"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"Favorites"-Value"$env:userprofile\Favorites"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"History"-Value"$env:userprofile\AppData\Local\Microsoft\Windows\History"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"Local AppData"-Value"$env:userprofile\AppData\Local"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"My Music"-Value"$env:userprofile\Music"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"My Video"-Value"$env:userprofile\Videos"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"NetHood"-Value"$env:userprofile\AppData\Roaming\Microsoft\Windows\Network Shortcuts"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"PrintHood"-Value"$env:userprofile\AppData\Roaming\Microsoft\Windows\Printer Shortcuts"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"Programs"-Value"$env:userprofile\AppData\Roaming\Microsoft\Windows\Start Menu\Programs"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"Recent"-Value"$env:userprofile\AppData\Roaming\Microsoft\Windows\Recent"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"SendTo"-Value"$env:userprofile\AppData\Roaming\Microsoft\Windows\SendTo"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"Start Menu"-Value"$env:userprofile\AppData\Roaming\Microsoft\Windows\Start Menu"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"Startup"-Value"$env:userprofile\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"Templates"-Value"$env:userprofile\AppData\Roaming\Microsoft\Windows\Templates"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"{374DE290-123F-4565-9164-39C4925E467B}"-Value"$env:userprofile\Downloads"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"Desktop"-Value"$env:userprofile\Desktop"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"My Pictures"-Value"$env:userprofile\Pictures"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"Personal"-Value"$env:userprofile\Documents"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"{F42EE2D3-909F-4907-8871-4C22FC0BF756}"-Value"$env:userprofile\Documents"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"-Name"{0DDD015D-B06C-45D5-8C4C-F59713854639}"-Value"$env:userprofile\Pictures"-TypeExpandStringWrite-Host"Restarting explorer"taskkill.exe/F/IM"explorer.exe"Start-Process"explorer.exe"Write-Host"Waiting for explorer to complete loading"Write-Host"Please Note - The OneDrive folder at $OneDrivePath may still have items in it. You must manually delete it, but all the files should already be copied to the base user folder."Write-Host"If there are Files missing afterwards, please Login to Onedrive.com and Download them manually"-ForegroundColorYellowStart-Sleep5}else{Write-Host"Something went Wrong during the Unistallation of OneDrive"-ForegroundColorRed}