Удаление приложений с помощью Wyse Management Suite
Summary: В этой статье объясняется, как определить команды для удаленного удаления приложений с помощью сценария PowerShell, доставленного с помощью Wyse Management Suite (WMS).
Instructions
Затронутые платформы:
- «Тонкие» клиенты Dell
Затронутые продукты:
- Wyse Management Suite
Затронутые операционные системы:
- Windows 10 IoT LTSC 2021
На тонких клиентах Windows 10 IoT LTSC 2021 несколько приложений предустановлены с завода и включены в образ восстановления. Некоторые администраторы могут захотеть удалить приложения, которые не используются в среде. Для этого необходимо определить соответствующие команды удаления. В этом документе описывается процесс и приводятся примеры команд для нескольких часто устанавливаемых приложений.
Шаги по определению соответствующих строк команд удаления:
- Войдите в систему от имени администратора на устройстве, на котором установлены целевые приложения
- Откройте Редактор реестра (regedit.exe).
- Перейдите в раздел HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- Выполните поиск по подразделам реестра имени приложения, которое необходимо удалить, и обратите внимание на значок
DisplayName, Publisher или другие идентифицирующие данные, которые можно использовать для запроса PowerShell. - Перейдите в ключ HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
- Выполните поиск по подразделам реестра имени приложения, которое необходимо удалить, и обратите внимание на значок
DisplayName, Publisher или другие идентифицирующие данные, которые можно использовать для запроса PowerShell.Примечание.- С разделами реестра и командами удаления может быть связано несколько разделов реестра, поэтому просмотрите все разделы реестра, чтобы убедиться, что вы записали все необходимые команды удаления.
- Возможно, будет проще экспортировать два раздела реестра удаления и использовать текстовый редактор для поиска информации.
- Найдя соответствующие разделы реестра, запишите значения реестра, которые являются общими для удаляемых приложений (например, все записи реестра клиента VMware Horizon для удаления содержат VMware в
DisplayName, в то время как Citrix этого не делает, и проще использовать поле Publisher для удаления Citrix). - Обратите внимание на используемые команды строки удаления. Большинство программ используют команду MsiExec.exe для удаления, но в некоторых, например в Citrix, могут быть дополнительные или другие команды, которые должны учитываться в сценарии PowerShell.
Удаление рабочего пространства Citrix.
Чтобы удалить клиент Citrix Workspace с тонкого клиента, выполните поиск по разделам реестра, чтобы определить общую строку поиска среди ключей. На приведенном ниже снимке экрана показан пример одного из разделов реестра, связанного с клиентом Citrix Workspace.

Обратите внимание на запись Publisher , которая используется в приведенном ниже примере сценария для поиска соответствующих ключей. Кроме того, обратите внимание на UninstallString, которая в данном случае не использует команду MsiExec.exe для удаления, поэтому необходимо проявлять особую осторожность при обработке этой записи вместе со стандартными командами MsiExec.
В приведенном ниже примере сценария из тонкого клиента Windows 10 удаляется Citrix Workspace и связанные приложения.
# this script will uninstall any program with Citrix Systems or Cloud Software Group in the Publisher field
# version 1 - August 6,2024
# search through the uninstall keys in the registry and find any entries with Citrix Systems or Cloud Software Group in the name of the software publisher
# and create a collection from the entries
$programs = Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall,HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall | Get-ItemProperty | Where-Object {$_.Publisher -match "Citrix Systems" -or $_.Publisher -match "Cloud Software Group"} | Select-Object -Property DisplayName,Publisher,UninstallString
# for each registry entry in the collection, run the uninstall command
foreach ($program in $programs) {
# if the uninstall command uses the MSIEXEC.exe run it with following parameters
if ($program.uninstallstring -match "msiexec.exe"){
start-process cmd.exe -ArgumentList "/c""$($program.uninstallstring) /quiet /norestart""" -Wait
}
# special command for the TrolleyExpress command to uninstall the main Citrix component as it does not rely on MSIEXEC.exe to uninstall
else {
start-process cmd.exe -ArgumentList "/c""$($program.uninstallstring) /silent""" -Wait
}
}
# check to see if the Citrix Workspace shortcut is on the desktop and delete it
if (test-path "C:\Users\Public\Desktop\Citrix Workspace.lnk") {
remove-item "C:\Users\Public\Desktop\Citrix Workspace.lnk"
}
Создайте файл PowerShell (ps1) и скопируйте его на сервер WMS, чтобы использовать в политике удаления приложений.
Удаление клиента VMware Horizon.
Чтобы удалить клиент VMware Horizon с тонкого клиента, выполните поиск по разделам реестра, чтобы определить общую строку поиска среди ключей. На следующем снимке экрана показан пример одного из разделов реестра, связанных с клиентом VMware Horizon.

Обратите внимание на DisplayName , которая используется в приведенном ниже примере сценария для поиска соответствующих ключей. Кроме того, обратите внимание на UninstallString Чтобы убедиться, что все команды удаления выполняются MSiExec.exe.
Приведенный ниже пример сценария удаляет VMware Horizon и связанные приложения с тонкого клиента Windows 10.
# this script will uninstall any program with VMWare in the title
# version 1 - August 6,2024
#
# search through the uninstall keys in the registry and find any with VMWare in the Name of the application (DisplayName) and create a collection of the entries
$programs = Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall,HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall | Get-ItemProperty | Where-Object {$_.DisplayName -match "VMWare"} | Select-Object -Property DisplayName,UninstallString
# for each registry entry in the collection, run the uninstall command
foreach ($program in $programs) {
start-process cmd.exe -ArgumentList "/c""$($program.uninstallstring) /quiet /norestart""" -Wait
}
Создайте файл PowerShell (ps1) и скопируйте его на сервер WMS, чтобы использовать в политике удаления приложений.
- Данный документ был разработан и протестирован на ноутбуке Latitude 3440, работающем под управлением ОС Windows 10 IoT Enterprise LTSC 2021, сборка версии 10.05.15.12.23.00. При использовании другой сборки сведения о разделе реестра могут немного отличаться.
- Иногда для удаления дополнительных файлов, например ярлыков, также необходимо создать сценарий, как в случае с удалением Citrix. Необходимо провести тестирование, чтобы определить, завершено ли удаление.