Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » WMI - [решено] Фильтр отсутствия установленной программы

Ответить
Настройки темы
WMI - [решено] Фильтр отсутствия установленной программы

Новый участник


Сообщения: 34
Благодарности: 5

Профиль | Отправить PM | Цитировать


Необходимо было создать 2 WMI-фильтра для управлениями групповыми политиками средствами WQL
1) Выбрать компьютеры с установленным Office любой версии. Тут все получилось
Код: Выделить весь код
SELECT * FROM Win32_Product WHERE Name LIKE "Microsoft Office%"
2) Выбрать те компьютеры, где MS Office не установлен, т.е. обратный первому. Просто вставить NOT перед LIKE не получилось. Можете помочь с написанием данного скрипта.

p.s. Еще столкнулся с проблемой определения компьютеров с 32-битной ОС. В 7-ке есть параметр "OSArchitecture", но в XP его нет и крипт вызывает ошибку.

Отправлено: 17:15, 08-06-2011

 

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


1) SELECT * FROM Win32_Product WHERE NOT Name LIKE "Microsoft Office%"
2) Для Xp -
x86 - SELECT * FROM Win32_OperatingSystem WHERE Caption='Microsoft Windows XP professional'
x64 - SELECT * FROM Win32_OperatingSystem WHERE Caption='Microsoft(R) Windows(R) XP professional x64 edition'

Отправлено: 17:40, 08-06-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 34
Благодарности: 5

Профиль | Отправить PM | Цитировать


1) Запрос выполняется, но при этом выводится все ПО, которое не относится к MS Office, а необходимо, чтобы он возращал NULL при этом.
2) Необходимо учитывать Windows 2000, Windows Vista и Windows 7, которые могут быть 32-разрядными. Пока напрашивается перечисление через OR всех Caption, но это не красивое решение.

Отправлено: 17:59, 08-06-2011 | #3


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Для 2000 можно сделать,тот же фильтр что и для XP. А начиная с Vista можно использовать OSArchitecture.

Отправлено: 18:02, 08-06-2011 | #4


Новый участник


Сообщения: 34
Благодарности: 5

Профиль | Отправить PM | Цитировать


Как в одном фильтре учесть все системы, ведь в групповой политике можно указать лишь один фильтр?

Отправлено: 18:08, 08-06-2011 | #5


Аватара для cameron

Ветеран


Сообщения: 4677
Благодарности: 1092

Профиль | Отправить PM | Цитировать


я бы попробовала так:
SELECT * FROM Win32_Product WHERE Name LIKE "Microsoft Office%" IS NULL
или так:
SELECT NULL FROM Win32_product WHERE Name LIKE "Microsoft Office%"
Цитата iMirRor:
Необходимо учитывать Windows 2000 »
win2k не работает с WMI Filters.
Цитата iMirRor:
p.s. Еще столкнулся с проблемой определения компьютеров с 32-битной ОС. В 7-ке есть параметр "OSArchitecture", но в XP его нет и крипт вызывает ошибку. »
SELECT * FROM Win32_ComputerSystem WHERE SystemType="x64-based PC"
SELECT * FROM Win32_ComputerSystem WHERE SystemType="x86-based PC"
на ХР отрабатывает.

-------
в личке я не консультирую и не отвечаю на профессиональные вопросы. для этого есть форум.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:12, 08-06-2011 | #6


Новый участник


Сообщения: 34
Благодарности: 5

Профиль | Отправить PM | Цитировать


В wbemtest первые запросы дают ошибку, а за определение битности - спасибо, работает.

Отправлено: 08:36, 09-06-2011 | #7


Аватара для cameron

Ветеран


Сообщения: 4677
Благодарности: 1092

Профиль | Отправить PM | Цитировать


SELECT * FROM Win32_Product WHERE Caption <>"Microsoft Office%"
а так?

-------
в личке я не консультирую и не отвечаю на профессиональные вопросы. для этого есть форум.


Отправлено: 15:51, 09-06-2011 | #8


Новый участник


Сообщения: 34
Благодарности: 5

Профиль | Отправить PM | Цитировать


Скрипт работает, но он выводит все установленные программы, которые не совпадают с "Microsoft Office%". А необходимо при наличии хотя бы одной записи об офисе возращать NULL (или FALSE) и, соответсвенно, не NULL при отсутствии записей о установленном MS Office. Просто нужно, чтобы групповая политика выполнилась для той группы компьютеров, где не установлен MS Office. Жаль, что нельзя Not применить к самому фильтру и не работает функция, возвращающая количество записей.

Отправлено: 18:30, 09-06-2011 | #9


Аватара для cameron

Ветеран


Сообщения: 4677
Благодарности: 1092

Профиль | Отправить PM | Цитировать


ошибка

-------
в личке я не консультирую и не отвечаю на профессиональные вопросы. для этого есть форум.


Отправлено: 22:18, 09-06-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » WMI - [решено] Фильтр отсутствия установленной программы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Определение установленной в системе антивирусной программы 4zz Скриптовые языки администрирования Windows 1 21-02-2011 17:33
Debian/Ubuntu - Проблема изза отсутствия места r1sh Общий по Linux 1 19-01-2011 17:44
Прочее - Логирование присутствия и отсутствия интернета Koluna Сетевые технологии 1 25-08-2009 19:40
Разное - отсутствия звука после Гибернации. pvv-pvv Microsoft Windows 7 0 22-02-2009 09:12
Невозможно открыть папки из-за установленной программы Harry Potter Хочу все знать 6 11-05-2008 17:14




 
Переход