Запретить доступ для запуска определенного установленного программного обеспечения для пользователей - PullRequest
0 голосов
/ 06 мая 2010

У меня есть список установленного программного обеспечения, полученный из класса WMI select * from Win32_Product.
Я бы хотел отказать в праве выполнения некоторым пользователям некоторых программ, например:

  1. найти path to installed software
  2. рекурсивно удалить права на исполнение

Я нахожу path to installed software из столбца Win32_Product InstallLocation. Но ПРОБЛЕМА заключается в том, что не все строки в Win32_Product имеют значение для InstallLocation. Что я могу сделать, чтобы преодолеть это? Есть ли где-нибудь в реестре, где я могу найти этот путь?

1 Ответ

0 голосов
/ 07 мая 2010

В общем, нет. Крайний случай - установка Firefox на USB-диск. Это не оставит следов в реестре или Win32_Product InstallLocation.

Основная причина в том, что Win32_Product InstallLocation не имеет местоположения, когда путь отсутствует в реестре. По сути, это две точки зрения на одни и те же данные.

Существует также специальная проблема, заключающаяся в том, что определенному продукту могут даже не понадобиться права на исполнение. Например, если приложение написано на Perl, установленный «исполняемый файл» может быть. pl файлом. Тем не менее, созданный процесс Win32 будет регистрировать исполняемый файл для расширения .pl, то есть для интерпретатора Perl.

...