Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Удаление onedrive с помощью powershell (http://forum.oszone.net/showthread.php?t=317550)

zegordo 05-08-2016 22:30 2657265

Удаление 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% функциональность в павершеле

Kazun 07-08-2016 12:16 2657575

В чем проблема сохранить как бат файл и выполнить?

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

Цитата:

Цитата Kazun
В чем проблема сохранить как бат файл и выполнить? »

Все команды делаются для запуска при свежей установке винды, не хочу плодить сущности и всё запихиваю в 1 файл(с комментариями ессно).
павершел именно потому, что только он может удалить встроенные аппы.

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


Время: 00:52.

Время: 00:52.
© OSzone.net 2001-