Войти

Показать полную графическую версию : [решено] Удаление onedrive с помощью powershell


zegordo
05-08-2016, 22:30
Доброго дня!
Есть 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, выдаст следующие ошибки:
http://image.prntscr.com/image/1c5c97fdbbcf43df951f6ce33a51712f.png

на втором скрине - аргументы /q /s заменяются на -force и -recursive соответственно, и в этом случае даст ошибку как и на первом скрине.

http://image.prntscr.com/image/085a9b9bf5ad42de92af6686c5c5d5ab.png


Отсюда вопрос: каким образом через павершел дать ему понимание переменных сред, ну и как заменить команду /uninstall.
в двух словах - как и что исправить, чтобы скрипт сохранил 100% функциональность в павершеле

Kazun
07-08-2016, 12:16
В чем проблема сохранить как бат файл и выполнить?

Переписать для 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

zegordo
08-08-2016, 13:55
В чем проблема сохранить как бат файл и выполнить? »
Все команды делаются для запуска при свежей установке винды, не хочу плодить сущности и всё запихиваю в 1 файл(с комментариями ессно).
павершел именно потому, что только он может удалить встроенные аппы.

кстати, первый ответ в рунете как удалить его с помощью павершела. надо бы гугл с яндексом на эту тему натравить.




© OSzone.net 2001-2012