tady s dovolím nesouhlasit - všechny ty věci (včetně OneDrive) odstranit jde, jen to neuděláte přes nějaké to GUI klikátko, ale musíte do konzole (resp. poweshell). i proto my přišlo jako racionálnější vzít systém s omězeným nastavením, které si uživatel upraví sám poměrně jednoduše (nebo které bych mu nastavoval já). ale zpět k věci. odinstalace defaultní appek se dělá v podstatě takhle:
odstranění aplikace Mail a Kalednář:
Get-AppxPackage *communi* | Remove-AppxPackage
odinstalace Xbox:
Get-AppxPackage *xbox* | Remove-AppxPackage
atd.
pro Windows Media Player to pak nedělíte přes Get-AppxPackage (není to Modern/Metro appka), ale takhle:
dism /online /Disable-Feature /FeatureName:MediaPlayback /Quiet /NoRestart
pro OneDrive je to ještě o řád složitější:
Stop-Process -Name OneDrive
Start-Sleep -s 3
$onedrive = [System.Environment]::ExpandEnvironmentVariables("%SYSTEMROOT%\SysWOW64\OneDriveSetup.exe")
If (!(Test-Path $onedrive)) {
$onedrive = [System.Environment]::ExpandEnvironmentVariables("%SYSTEMROOT%\System32\OneDriveSetup.exe")
}
Start-Process $onedrive "/uninstall" -NoNewWindow -Wait
Start-Sleep -s 3
Stop-Process -Name explorer
Start-Sleep -s 3
Remove-Item ([System.Environment]::ExpandEnvironmentVariables("%USERPROFILE%\OneDrive")) -Force -Recurse | Out-Null
Remove-Item ([System.Environment]::ExpandEnvironmentVariables("%LOCALAPPDATA%\Microsoft\OneDrive")) -Force -Recurse | Out-Null
Remove-Item ([System.Environment]::ExpandEnvironmentVariables("%PROGRAMDATA%\Microsoft OneDrive")) -Force -Recurse | Out-Null
If (Test-Path ([System.Environment]::ExpandEnvironmentVariables("%SYSTEMDRIVE%\OneDriveTemp"))) {
Remove-Item ([System.Environment]::ExpandEnvironmentVariables("%SYSTEMDRIVE%\OneDriveTemp")) -Force -Recurse | Out-Null
}
If (!(Test-Path "HKCR:")) {
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT | Out-Null
}
Remove-Item -Path "HKCR:\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" -Recurse
Remove-Item -Path "HKCR:\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" -Recurse