Вопрос или проблема
Интересно, может ли кто-то успешно удалить OneDrive с помощью PowerShell в Windows 10/11. Флаг удаления в исполняемом файле не удаляет его, даже если процессы сначала завершены.
OneDriveSetup.exe /uninstall
Команда, похоже, ничего не делает. Необходимо удалить OneDrive, который поставляется с операционной системой, чтобы установить его таким образом, чтобы он был совместим с установщиком для всей машины Azure Virtual Desktop/AllUsersInstall. Удаление вручную из панели управления работает, но мне нужна автоматизированная процедура удаления для Azure Image Builder.
Буду признателен за помощь.
Я удалил OneDrive с помощью PowerShell следующим образом:
# как вы упомянули, завершите процесс OneDrive
taskkill /f /im OneDrive.exe
# удаление OneDrive
# для системы x64 (я тестировал на своем компьютере)
cmd -c "%SystemRoot%\SysWOW64\OneDriveSetup.exe /uninstall"
# для машин x86
cmd -c "%SystemRoot%\System32\OneDriveSetup.exe /uninstall"
По умолчанию OneDrive устанавливается для каждого пользователя на всех поддерживаемых версиях Windows. Но его можно установить для всей машины.
Чтобы найти команду удаления (строку) для вашей системы, вы можете заглянуть в реестр:
Установка для пользователя:
- Путь: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OneDriveSetup.exe
- Ключ: UninstallString
Затем вы можете использовать PowerShell для его удаления с помощью команд, как в предыдущем ответе:
# завершите процесс OneDrive
TASKKILL/F /IM OneDrive.exe
# Удалите OneDrive, используя значение UninstallString, найденное в реестре, например (может различаться в зависимости от версии OneDrive):
cmd -c "C:\Users\<USERNAME>\AppData\Local\Microsoft\OneDrive\21.245.1128.0002\OneDriveSetup.exe /uninstall"
Если ключ отсутствует, скорее всего, OneDrive установлен на компьютер, поэтому посмотрите здесь:
Установка для машины: (может различаться в зависимости от версии и варианта OneDrive)
- Путь: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OneDriveSetup.exe
- Ключ: UninstallString
Дополнительную информацию можно найти здесь:
https://docs.microsoft.com/en-us/onedrive/per-machine-installation
Для всех, кто столкнется с этим вопросом, теперь вы можете использовать winget
Он распространяется в пакете App Installer и должен быть уже установлен в последних версиях Windows 10/11
winget uninstall OneDriveSetup.exe
Ответ или решение
Удаление OneDrive с помощью PowerShell на Windows 10/11 может быть выполнено различными способами. Вот пошаговое руководство по удалению OneDrive с использованием PowerShell:
Шаг 1: Завершение процесса OneDrive
Перед тем, как удалить OneDrive, необходимо завершить его процессы. Для этого вы можете использовать следующую команду в PowerShell:
taskkill /f /im OneDrive.exe
Шаг 2: Удаление OneDrive
В зависимости от архитектуры вашей системы (x64 или x86), используйте одну из следующих команд для удаления OneDrive.
Для 64-битной системы:
cmd /c "%SystemRoot%\SysWOW64\OneDriveSetup.exe /uninstall"
Для 32-битной системы:
cmd /c "%SystemRoot%\System32\OneDriveSetup.exe /uninstall"
Шаг 3: Проверка установки OneDrive через реестр (при необходимости)
Если команда не сработала, возможно, OneDrive установлен в соответствии с настройками для конкретного пользователя. Вы можете проверить это в реестре:
- Для установки на уровне пользователя:
- Путь:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OneDriveSetup.exe
- Ключ:
UninstallString
- Путь:
Если вы найдете указанный путь и ключ, вы можете использовать строку удаления, которая там указана, чтобы удалить OneDrive:
cmd /c "<ПУТЬ_К_OneDriveSetup.exe> /uninstall"
Замените <ПУТЬ_К_OneDriveSetup.exe>
на фактический путь к установщику, полученный из реестра.
Шаг 4: Удаление для установки на уровне компьютера
Если не удается найти строку удаления в реестре, это может означать, что OneDrive установлен на уровне компьютера. Проверьте следующий путь:
- Для установки на уровне компьютера:
- Путь:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OneDriveSetup.exe
- Ключ:
UninstallString
- Путь:
Как и раньше, вы можете использовать полученное значение UninstallString
для удаления OneDrive.
Альтернативный способ: Использование winget
Если у вас установлена утилита winget
(которую обычно можно найти в последних версиях Windows 10 и 11), удалить OneDrive можно с помощью следующей команды:
winget uninstall OneDrive
Это самый простой способ, так как winget
автоматически определит и удалит OneDrive из вашей системы.
Заключение
С использованием данных команд и шагов вы сможете успешно удалить OneDrive с помощью PowerShell в Windows 10/11. Это особенно полезно для сценариев автоматизации, таких как Azure Image Builder, где требуется беззвучное удаление. Обязательно протестируйте команды в безопасной среде перед массовым использованием для избежания потенциальных проблем.