Это действительно простой script, который просто удаляет приложение. Вот мой код:
$app = Get-WmiObject -Class Win32_Product -Filter "Name = 'Alliance Suite G5'"
Write-Host $app
$app.Uninstall()
Я поставил Write-Host только для того, чтобы убедиться, что он захватывает правильное приложение. Вот мой вывод.
\ COMPUTERNAME\корень\cimv2: Win32_Product.IdentifyingNumber = "{99B66721-7E75-487C-A0C8-A4F8C4325661}", Name= "Альянс Suite G5", Version = "2013.2.14226.1"
__ GENUS: 2
__ КЛАСС: __ ПАРАМЕТРЫ
__ SUPERCLASS:
__ DYNASTY: __PARAMETERS
__ RELPATH:
__ PROPERTY_COUNT: 1
__ DERIVATION: {}
__ SERVER:
__ NAMESPACE:
__ PATH:
ReturnValue: 0
PSComputerName:
Возвращаемое значение равно 0, но оно никогда не удаляет приложение. Любая помощь будет оценена! Я запускаю некоторые автоматические тесты в ночное время, и один из них устанавливает приложение, поэтому было бы неплохо, если бы я мог сделать запланированную powershell script, чтобы удалить ее.
Средство просмотра событий (ПРИМЕЧАНИЕ: продукт переконфигурируется несколько раз перед вторым сообщением):
Windows Installer reconfigured the product. Product Name: Microsoft Identity Extensions. Product Version: 2.0.1459.0. Product Language: 1033. Manufacturer: Microsoft Corporation. Reconfiguration success or error status: 0.
Beginning a Windows Installer transaction: {99B66721-7E75-487C-A0C8-A4F8C4325661}. Client Process Id: 8664.
Product: Alliance Suite G5 -- Removal completed successfully.
Windows Installer removed the product. Product Name: Alliance Suite G5. Product Version: 2013.2.14226.1. Product Language: 1033. Manufacturer: United Systems & Software. Removal success or error status: 0.
Результат при выполнении команды:
C:\Windows\system32>msiexec.exe /X "C:\AllianceInstall\G5\Alliance.G5.exe" /QN /
L*V "C:\msilog.log
=== Началось подробное ведение журнала: 8/18/2014 9:42:06 Тип сборки: SHIP UNICODE 5.00.9200.00 Процесс вызова: C:\Windows\system32\msiexec.exe === MSI (c) (5C: 74)
[09: 42: 06: 039]: сброс значений кэшированной политики MSI (c) (5C: 74)
[09: 42: 06: 039]: Значение политики машины "Отладка" - 0 MSI (С) (5C: 74) [09: 42: 06: 039]: * RunEngine: * Продукт: C:\AllianceInstall\G5\Alliance.G5.exe * Действие: * CommandLine: ****** MSI (c) (5C: 74)
[09: 42: 06: 039]: Клиентская сторона и > Пользовательский интерфейс - нет или базовый: Запуск целых
установить на сервер. MSI (c) (5C: 74)
[09: 42: 06: 039]: захватил мьютексы исполнения. MSI (c) (5C: 74)
[09: 42: 06: 061]: Cloaking включен. MSI (c) (5C: 74)
[09: 42: 06: 061]: Попытка включить все отключенные привилегии до вызов Установить на сервере MSI (c) (5C: 74)
[09: 42: 06: 064]: Увеличение счетчика для отключения выключения. Счетчик
после приращения: 0 MSI (s) (F8: 48) [09: 42: 06: 069]: Запуск установка внутри транзакции с несколькими пакетами C:\AllianceInstall\G5\Alliance.G5.exe MSI (F8: 48) [09: 42: 06: 069]: захватили мьютексы исполнения. MSI (F8: 64)
[09: 42: 06: 071]: сброс значений кэшированной политики MSI (s) (F8: 64) [09: 42: 06: 071]: Значение политики машины "Отладка" составляет 0 MSI (F8: 64) [09: 42: 06: 071]: * RunEngine:
******* Product: C:\AllianceInstall\G5\Alliance.G5.exe ******* Action: ******* CommandLine: ********** MSI (s) (F8:64)
[09: 42: 06: 072]: Примечание: 1: 2203 2: C:\AllianceInstall\G5\Alliance.G5.exe
3: -2147286960 MSI (s) (F8: 64)
[09: 42: 06: 073]: MainEngineThread
возвращает 1620 MSI (s) (F8: 48)
[09: 42: 06: 074]: значение пользовательской политики
'DisableRollback' равен 0 MSI (F8: 48)
[09: 42: 06: 074]: Политика машины
Значение "DisableRollback" равно 0 MSI (F8: 48)
[09: 42: 06: 074]:
Увеличение счетчика для отключения выключения. Счетчик после приращения: 0 MSI (s) (F8: 48)
[09: 42: 06: 074]: Примечание: 1:1402 2:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Откат\Scripts 3: 2 MSI (F8: 48)
[09: 42: 06: 074]: Примечание: 1:1402 2:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Откат\Scripts 3: 2 MSI (F8: 48)
[09: 42: 06: 075]: Уменьшить счетчик для отключения
завершение работы. Если counter >= 0, отключение будет отклонено. Счетчик после декремент: -1 MSI (c) (5C: 74)
[09: 42: 06: 076]: Декомпрессионный счетчик
отключить выключение. Если counter >= 0, отключение будет отклонено. счетчик после декремента: -1 MSI (c) (5C: 74)
[09: 42: 06: 076]: MainEngineThread
возвращает 1620
=== Подробное ведение журнала остановлено: 18.08.2012 9:42:06 ===