![]() |
Как с помощью командой строки удалить приложение из системы
Допустим у нас есть приложение, которое было установлено через MSI. И мы знаете только имя приложения (в данном случае, только первую часть названия). Для использования команды MSIEXEC требуется, чтобы вы знали GUID, но все программы имеют разные GUID, более того, даже разные версии программы могут иметь различный GUID. Решение нашел в интернете. Это маленький кусочек кода который перебирает ключи реестра, чтобы получить этот самый GUID, у которого DisplayName начинается с определенного имени.
Ниже приведен пример, который удаляет все установленные приложения, названия которых начинается с «Windows Live ID Sign-in Assistant» Но почему то она не работает.. помогите разобраться..(Пробовал в Windows 8, может проблема в этом) Код:
for /f "tokens=7 delims=\" %%i in ('reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall ^| FIND "{"') do ( |
Вот рабочие идеи он они требуют точного ввода именны но так меня не устраивает
нужно исправить код с шапки кто может помочь |
|
ни чего полезного там не увидел..
Может поподробнее расскажешь сам?? |
Цитата:
Код:
#Powershell script. |
Добавлю только, что и «wmic.exe» понимает оператор «LIKE».
|
Iska Вроде же хорошо понимаешь в этом.. помоги пож..
|
Цитата:
Код:
wmic.exe Product where "Name LIKE 'Windows Live ID Sign-in Assistant%%'" call Uninstall |
Iska один момент , для уточнения...
Она сканировать будет DisplayName? Вот цель в чем. запись в реестре HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{7F646B03-B4B1-4784-83FF-947CA1059BA0}\DisplayName так вот {7F646B03-B4B1-4784-83FF-947CA1059BA0} невозможно всегда определиться так как он при новой версии может меняться... а вот DisplayName можно как то вычислить... но проблема в другом.. не знаю получиться или нет.. вот смотрите две записи DisplayName \{7F646B03-B4B1-4784-83FF-947CA1059BA0}\DisplayName ---> Данные 2ГИС г.Якутск 01.09.2013 и \{79B8B143-2948-468B-A139-CC6D1CFE146E}\DisplayName ---> 2ГИС 3.13.9.0 как видите много лишнего, в DisplayName , в одном дата присуствует а в другом версия. очень надеюсь что после запуске ключа Код:
wmic.exe Product where "Name LIKE '2ГИС%%'" call Uninstall было бы класс. Пошел пробовать.. спасибо за помощь. Посмотрим Цель Моих хотелок будет выполнено -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- в итоге вышло следующее и ни че не удалилось-(( Код:
Microsoft Windows [Version 6.2.9200] но что сделать с полученной информацие как заставить удалить?? а в идеале все одной строкой было бы |
Цитата:
Цитата:
|
Iska Класс . Заработало..
Осталось к общему виду привести... Запуск через админа исправил картину-) Только вот как в аддонах это под админкой это исполнить в голове не умешаеться-(( вот например Код:
RunProgram="wmic.exe Product where "Name LIKE '%%2ГИС%%'" call Uninstall" |
Не знаю, что такое «админка».
|
Цитата:
|
Права дочерними процессами наследуются. Возможно ли запустить аддон с административными привилегиями?
|
ну смотри в windows 7 запустить аддон с тихой установкой.. она же не будет выполнять эту команду правыльно , привилегий не хватит . по этому надо как то саму эту строчку внутри аддона запускать с правами администратора, вот как правильно сделать не понимаю... этот маленкий кусочек кода потом при созданый новых аддонов очень много раз будет помогать...
Цель такова.. Получается запускается аддон с тихим ключем, а дальше внутри сработает эта команда с правами администратора. он удалит старую версию программы и установить новую. |
Цитата:
|
Приветствую!
Похожая ситуация, но с другой ошибкой запускаю из CMD под админскими правами, все работает Запуская батник с админскими правами и нифига, выдает ошибку 1618 Кто-то знает что за фигня? код wmic /node:localhost /PRIVILEGES:ENABLE product where "name like '%%1C:Предприятие 8%%'" call uninstall /nointeractive pause wmic /node:localhost /PRIVILEGES:ENABLE product where "name like '%%1C:Enterprise 8%%'" call uninstall /nointeractive |
Нельзя запустить более одного процесса инсталляции/деинсталляции единовременно: MsiExec.exe and InstMsi.exe Error Messages - Windows applications | Microsoft Docs.
|
Iska, Спасибо!
Плохо искал, видимо. Хотя странно, задал запрос "wmi error code"... |
lcnet, я так полагаю, что под критерий where попадает больше одного экземпляра класса Win32_Product. Хотя, конечно, не факт.
|
Цитата:
|
Вместо продукта надёжнее писать ID.
Узнать можно в Powershell Код:
gwmi win32_product |? name -match "Windows Live ID" |
DJ Mogarych, Не, это понятно, но тогда скрипт получиться сильно мудреный...
Цель же какая? Удалить все версии программы 1С:Предприятие, а их по факту оказывается 2-3 штуки, поэтому и придумал такую штуку, но, как говориться, не тут-то было. Можно было бы данное действо организовать через ПШ, но в нашей организации, мы поставили безопастность выше удобства и ПШ работает только на нескольких компах, на остальных заблокирован. Поэтому приходиться мудрить через CMD. |
Цитата:
|
alpap, За то, за последние 2 года, как заблокировали выполнение на компах пользователей скрипты ps1, js, vbs, ни один комп не зашифровался, а в организации их около тысячи
|
Ничего мудрёного нет, две с половиной строчки.
Если в конторе есть Каспер (KSC), то там можно посмотреть и у кого стоят те или иные программы, и также увидеть строку деинсталляции. |
Цитата:
|
Iska, Тут дело не только в запрещении скриптов.
Я лично сталкивался с ситуациями, когда пользователи, не смотря на все предупреждения, радостно открывали вложения от неизвестных отправителей, после чего все их файлы можно было отправлять в мусор. Видимо у Вас пользователи грамотные... У нас же, помимо запрещенных скриптов, еще запрет запуска исполняемых файлов для пользователей из определенных расположений. Я придерживаюсь принципа - "Лучше перебздеть, чем недобздеть". Извиняюсь, за мой французский. |
Цитата:
Цитата:
Цитата:
А можно для всех прочих запретить, а для администраторов оставить возможность исполнения скриптов? Я тупо не помню, а смотреть больше негде ;). |
Iska, можно, так и сделано.
Только в 7-ке это разрешение работает криво, а в 10-ке норм. Единственное, это требует большого количества времени и, возможно, нервов. Поскольку придется перелопатить много политик. |
lcnet, спасибо, ясно.
|
Время: 20:12. |
Время: 20:12.
© OSzone.net 2001-