Для запуска команд на удалённом компьютере Windows можно использовать утилиту psexec.exe от Microsoft. Команды можно объединить в bat файл как обычно. Пример удаления установленной на удалённом компьютере программы utorrent:
- Завершаем запущенный процесс utorrent.exe
- Удаляем utorrent, ключ /s означает что удаление будет проходить без каких либо вопросов, т.е. пользователь не будет видеть и знать что сейчас удаляется программа.
- Удаляем каталог программы.
Утилита wmic.exe
Утилита wmic.exe позволяет управлять структурой WMI (Windows Management Instrumentation) не только на локальном компьютере, но и удалённо.
Введя в командной строке команду wmic , получим следующее приглашение:
wmic:rootcli>
Список установленных с помощью msi установщика программ:
/node:\192.168.1.3 product get name
Удаление программы 7-Zip:
wmic:rootcli>/node: \192.168.1.3 product where name=»7-Zip 9.20″ call uninstall
См. также
- Удаленное удаление программ с компьютера — более пространный источник для этой статьи.
Источник: sysadminwiki.ru
Как открыть список установленных программ Windows 10
Сбор данных об установленных программах во всем AD с Powershell
Получить список установленных программ powershell. Удаленное удаление программ при помощи WMI
В работе администратора часто возникает необходимость проверить, установлена ли на некотором компьютере в сети определённая программа и какой версии. Например, можно проверить, установлено ли важное обновление или все ли рабочие станции имеют правильную версию Office.
Как это сделать с помощью или скриптов (на примере ), рассказывается далее.
Идея основана на том факте, что информация об установленных программах находится в системном реестре по адресу:
HKLMSoftwareMicrosoftWindowsCurrentVersionUninstall
Указанная ветвь реестра перечисляет только программы, установленные «для всех пользователей», а программы «для этого пользователя» перечислены в ветви:
HKCUSoftwareMicrosoftWindowsCurrentVersionUninstall
В Windows x64 список программ сохраняется также в папке реестра:
HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall
Соответственно, для получения полного списка потребуется просканировать информацию из всех трёх ветвей реестра.
Например, на VBScript:
Const HKLM = strComputer strComputer VbCrLf For Each strSubkey In arrSubkeys intRet1 = objReg.GetStringValue(HKLM, strKey > 0 Then objReg.GetStringValue HKLM, strKey > «» Then WScript.Echo VbCrLf strValue1 End If objReg.GetStringValue HKLM, strKey > «» Then WScript.Echo «Install Date: » strSubkey, _ strEntry3, intValue3 objReg.GetDWORDValue HKLM, strKey > «» Then WScript.Echo «Version: » «.» strSubkey, _ strEntry5, intValue5 If intValue5 <> «» Then WScript.Echo «Estimated Size: » » megabytes» End If Next
Как посмотреть установленные программы в windows 10
Скрипт подключается к компьютеру с сетевым именем strComputer, просматривает раздел реестра SOFTWAREMicrosoftWindowsCurrentVersionUninstall и выводит информацию о программах.
Аналогичные действия можно выполнить в командном файле CMD. Этот командный файл выдаёт список программ:
Для проверки того, установлена ли конкретная программа (по названию) на каком-то одном компьютере, можно использовать следующий командный файл check-app-pc.cmd
Соответственно, команда check-app-pc.cmd KB2570791 ws_alex проверит, установлено ли обновление KB2570791 на компьютере WS_ALEX.
Теперь можно автоматизировать работу этого командного файла, добавив проверку большего количества компьютеров по списку. Для этого создаём командный файл check-app-pclist.cmd с циклом, перебирающим строчки текстового файла с сетевыми именами компьютеров.
Пример списка файлов pc.list
SERVER_DB SERVER_FILES WS_ALEX WS_RECEPTION
Теперь с помощью команды check-app-pclist.cmd KB2570791 pc.list можно проверить, установлено ли обновление KB2570791 на каждом компьютере, перечисленном в файле pc.list.
Список установленных программ по сети
В этой инструкции мы покажем несколько способов получить список установленных программ в Windows 10, Windows 8 или Windows 7 с помощью командной строки. Эта методика построения списка программ в системе может пригодиться перед переустановкой системы, когда нужно найти нежелательное ПО или при выполнении инвентаризации установленного ПО на компьютерах организации.
Рассмотрим два способа: первый подразумевает использование командной строки и утилиты wmic, второй — PowerShell.
Получение списка программ
Ключ реестра, который содержит все программы следующий:
Список программ можно получить так:
Если взглянуть на вывод, то можно подумать, что нам нужно свойство Name, так как оно лучше всего соответствует названию программы, но этот выбор будет некорректный. Вместо значений свойства Name можно увидеть идентификаторы приложения, а вот DisplayName выглядит корректно:
В примерах ниже я буду получать только значения из колонки Property DisplayName и DisplayVersion. Вы легко можете добавить другие значения, если вас заинтересуют, сами.
Команда, которая вернет только версию и отображаемое имя:
Примеры скриптов проверяются на Windows Server 2019 и Windows 10. На серверной версии появляются пустые строки связанные с нестандартными объектами:
Я решил их не включать в список программ, так как они относятся к системным программам установленными вместе с ОС. Скрипт, который исключит их, выглядит так:
Вывод списка программ с помощью утилиты WMIC
WMIC.exe — это служебная программа командной строки и оболочки PowerShell, которая используется для доступа к инструментарию управления Windows. Через WMIC можно легко получить список установленных в системе программ, она сделает это через пространство имен WMI, так сказать опросит его. Запускать описанную ниже команду вы можете как через командную строку, так и через PowerShell, я воспользуюсь последним, он выглядит позитивнее:
Вот так будет выглядеть полученный список в виде двух столбцов (Name и Version). Хочу отметить, что обращение к WMI может занимать секунд 30 и более, так что не пугайтесь, что информация не отобразилась сразу.
Для того, чтобы экспортировать полученный список программ, вам нужно использовать вот такую конструкцию:
В результате у меня будет сформирован текстовый файл содержащий весь список программ из моей системы Windows 11.
Пре желании вы можете произвести выгрузку и в CSV формате, для это введите:
Тут еще будет добавлено поле Node, содержащее имя компьютера откуда была произведена выгрузка списка.
Удаленное администрирование. Установка и удаление программ
Иногда удаленному выполнению команд может препятствовать антивирус или встроенный брандмауэр, в зависимости от настроек безопасности вашей сети. При необходимости отключаем их.
Отключить антивирус удаленно на примере KAV
psexec ComputerName «C:Program Files (x86)Kaspersky LabKaspersky Endpoint Security 10 for Windows SP2avp.com» exit / login = KLAdmin / password =
Отключение встроенного брандмауэра для всех профилей (только локально)
Для удаленного отключения брандмауэра должен быть доступен Сервер RPC. Доступ к которому блокирует включенный брандмауэр Такая рекурсия.
Поэтому, как всегда, пойдем обходным путем:
Команда на включение брандмауэра, соответственно, будет state on
Удаление программы
Установка программы
Тихая установка с предварительным копированием программы на удаленный хост
Установка с сетевого ресурса
Административные шары, такие как «C$»,
для подобной команды не функционируют.
Необходимо создать сетевую папку вручную
Получить список программ
Получать список установленных в системе программ лучше из реестра, нежели средствами WMI. Этот метод работает намного быстрее, чем при использовании
Get-WmiObject -Class Win32_Product
Get — ItemProperty HKLM : Software Microsoft Windows CurrentVersion Uninstall * | Select DisplayName | Sort DisplayName
Get — ItemProperty HKLM : SOFTWARE WOW6432Node Microsoft Windows CurrentVersion Uninstall * | Select DisplayName | Sort DisplayName
Из-за того что в системе могут быть установлены как 64, так и 32 битные приложения, необходимо получать значения обеих веток. Можно поместить весь список в одну переменную.
Так же читайте как в тихом режиме деинсталлировать любую программу по ее GUID
Класс Win32_Product или реестр
В инструментарии управления Windows Management Instrumentation (WMI) имеется класс Win32_Product, который позволяет регистрировать приложения, установленные на компьютере. В среде PowerShell эта возможность реализуется просто. Так, команда
Get-WmiObject Win32_Product
| select name
генерирует список всех приложений, установленных на исследуемом в данный момент компьютере. Однако надо сказать, что классу Win32_Product присущ ряд ограничений.
- Он считывает имена лишь тех приложений, которые были установлены с помощью службы Windows Installer. Имена приложений, установленных иными способами, с помощью данного класса не считываются. Это значит, что использование класса Win32_Product с целью осуществления общего аудита программных средств невозможно, кроме тех случаев, когда для установки пакетов используется исключительно установщик Windows, а это практически неосуществимо для большинства сетей.
- Считывание экземпляров класса Win32_Product выполняется весьма медленно.
- Не всегда возможно считывание экземпляров класса Win32_Product с удаленных компьютеров. Так, когда я пытаюсь выполнить подобную процедуру в своей сети, то получаю сообщение об ошибке Generic failure.
Из-за перечисленных проблем целесообразность применения класса WMI Win32_Product снижается. Однако имеется альтернативный метод получения информации об установленных приложениях — непосредственно из реестра. Данные об установленных на компьютере приложениях содержатся в разделе реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoft WindowsCurrentVersionUninstall. В каждом подразделе раздела Uninstall представлено установленное приложение, а значения в каждом подразделе отображают информацию о соответствующем приложении, как показано на экране. Таким образом, чтобы получить список приложений, можно «прочесать» раздел Uninstall и считать данные каждого подраздела, входящего в раздел Uninstall.
Провайдер реестра PowerShell дает возможность выполнять команду Get-ChildItem для получения списка имен приложений, установленных на исследуемом компьютере:
Get-ChildItem HKLM:SOFTWARE
MicrosoftWindowsCurrentVersion
Uninstall |
ForEach-object » |
Select-Object ComputerName
формирует список упомянутых в файле Computers.txt компьютеров, на которых установлена библиотека .NET Framework 2.0. Если вы хотите получить упорядоченный список установленных на исследуемой системе приложений Microsoft и их версии, отсортированные по именам приложений, воспользуйтесь командой
Get-InstalledApp -publisher
«Microsoft Corporation» -matchall |
Select-Object AppName, Version |
Sort-Object AppName
Однако в среде PowerShell 1.0 команда Get-ChildItem не обеспечивает доступ к провайдеру реестра на удаленном компьютере, поэтому для достижения цели администратору приходится задействовать StdRegProv, класс управления реестром инструментария WMI. Класс StdRegProv предусматривает возможность использования полезного набора методов, облегчающих считывание реестра вне зависимости от того, с какой системой осуществляется взаимодействие, локальной или удаленной. Дополнительную информацию о классе StdRegProv можно найти на странице StdRegProv Class на сайте MSDN (http://msdn.microsoft.com/en-us/library/aa393664.aspx).
Как посмотреть список установленных программ с помощью командной строки
Войдите в меню «Пуск», запустите командную строку от имени администратора, а затем ведите следующую команду:
Далее нажмите на кнопку «Enter».
В зависимости от того, что вы хотите: посмотреть в окне интерпретатора командной строки список установленных приложений, или сохранить список установленных программ на компьютер в виде текстового файла, выполните соответствующие команды.
Для просмотра списка программ, введите следующую команду:
После ввода соответствующей команды, не забывайте нажать на клавишу «Enter». Подождите немного, потому что список установленных приложений сформируется не моментально. Вы увидите список установленных программ в виде таблицы.
Для сохранения списка программ на компьютере, введите команду:
В таблице отображается имя программы и номер версии приложения.
Обратите внимание, в этой команде выбрано сохранение текстового файла «appsfile» на диске «С». Вы можете выбрать другой диск на своем компьютере для сохранения файла в формате «TXT».
Храните сгенерированные списки приложений на внешних носителях
Возможно, вы заметили, что каждый из методов, которые мы здесь упомянули, производит немного другой список программ. Таким образом, вы можете использовать более одного метода и хранить каждый отдельный список.
Не забудьте хранить свои списки программ на внешнем или сетевом диске, чтобы иметь доступ к нему после переустановки Windows. При сбросе (вместо переустановки) Windows 10 программы удаляются, но ваши данные сохраняются. Независимо от ситуации, рекомендуется создавать резервные копии списков при резервном копировании данных.
Удаление или обновление программного обеспечения Windows
Если вы предпочитаете оставаться организованным или если у вас слишком много компьютеров для обслуживания, создание списка установленных программ в Windows 10 может помочь вам найти программное обеспечение, которое необходимо удалить или обновить, чтобы освободить место на диске и повысить вашу безопасность.
Если вам не нужно удалять его, убедитесь, что вы найдете способы автоматического обновления программного обеспечения, чтобы получать последние исправления безопасности и исправления ошибок. Однако вы можете получить программное обеспечение, которое вам просто не нужно на вашем ПК. Если это так, обязательно удалите ненужное программное обеспечение с вашего компьютера, как только найдете его.
Источник: fobosworld.ru
Просмотр установленных программ на удаленной машине?
Мне было интересно, есть ли простой и легкий способ просмотра, какие программы установлены на удаленной машине? Я испытываю желание использовать Spiceworks, но я хотел бы что-то более легкое, как сценарий. Я немного поигрался с WMIC и могу получить список программ для своего компьютера, но я не знаю, смогу ли я сделать то же самое с ним для удаленного компьютера. Есть идеи?
Изменить: Извините, что я забыл ОС, мы используем в основном Windows XP и 7, я использую Windows 7. Я ищу что-то для запуска в фоновом режиме без пользователя, который в настоящее время использует компьютер, зная. Я хотел бы иметь возможность делать это в течение рабочего дня, пока люди работают и делают это, не прерывая их. Я ценю ответы Linux, так как я пытаюсь узнать больше о Linux и планирую лично измениться через некоторое время.
Это помогло бы узнать ОС машины.
Почему просто программы? В системе могут быть другие материалы, защищенные авторским правом (файлы шрифтов и mp3-файлы являются очевидными случаями)
Вы можете использовать один из инструментов Sysinternals PSinfo:
-u Specifies optional user name for login to remote computer. -p Specifies password for user name. -h Show installed hotfixes. -s Show installed software. -d Show disk volume information. -c Print in CSV format -t The default delimiter for the -c option is a comma, but can be overriden with the specified character. Use «t» to specify tab. filter Psinfo will only show data for the field matching the
PSinfo -s \ имя_компьютера
скажет вам, что установлено на удаленном компьютере.
Источник: qastack.ru