 |
|
Удаление onedrive с помощью powershell
Доброго дня!
Есть bat скрипт удаления onedrive
Код:
taskkill /f /im OneDrive.exe
ping 127.0.0.1 -n 5
%SystemRoot%\System32\OneDriveSetup.exe /uninstall
%SystemRoot%\SysWOW64\OneDriveSetup.exe /uninstall
ping 127.0.0.1 -n 5
rd %USERPROFILE%\OneDrive /Q /S
rd C:\OneDriveTemp\ /Q /S
rd %LOCALAPPDATA%\Microsoft\OneDrive /Q /S //тут кстати ругается, пишет нет доступа, хотя под админом запущен
rd %PROGRAMDATA%\"Microsoft OneDrive" /Q /S
REG DELETE "HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f
REG DELETE "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f
Reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\OneDrive" /v "DisableFileSyncNGSC" /t REG_DWORD /d "1" /f
Если это всё запустить в powershell, выдаст следующие ошибки:
Скрытый текст
на втором скрине - аргументы /q /s заменяются на -force и -recursive соответственно, и в этом случае даст ошибку как и на первом скрине.
Отсюда вопрос: каким образом через павершел дать ему понимание переменных сред, ну и как заменить команду /uninstall.
в двух словах - как и что исправить, чтобы скрипт сохранил 100% функциональность в павершеле
|
В чем проблема сохранить как бат файл и выполнить?
Переписать для PowerShell:
Код:
Stop-Process -Name OneDrive -Force -ErrorAction 0
"$env:SystemRoot\System32\OneDriveSetup.exe","$env:SystemRoot\SysWOW64\OneDriveSetup.exe" | Foreach {
if(Test-Path $_) {
Start-Process $_ -ArgumentList "/uninstall" -Wait
}
}
$dir = "$env:USERPROFILE\OneDrive","C:\OneDriveTemp\","$env:LOCALAPPDATA\Microsoft\OneDrive","$env:ProgramData\Microsoft OneDrive"
$dir | Foreach {
Remove-Item -LiteralPath $_ -Force -Recurse
}
REG DELETE "HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f
REG DELETE "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f
Reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\OneDrive" /v "DisableFileSyncNGSC" /t REG_DWORD /d "1" /f
|
Цитата:
Цитата Kazun
В чем проблема сохранить как бат файл и выполнить? »
|
Все команды делаются для запуска при свежей установке винды, не хочу плодить сущности и всё запихиваю в 1 файл(с комментариями ессно).
павершел именно потому, что только он может удалить встроенные аппы.
кстати, первый ответ в рунете как удалить его с помощью павершела. надо бы гугл с яндексом на эту тему натравить.
|
Время: 00:52.
© OSzone.net 2001-