Назад | Перейти на главную страницу

Использование SCCM и WMI для получения информации о шрифтах

Мне нужно иметь возможность инвентаризации информации о шрифтах, установленных в настоящее время на наших машинах (около 200 000). Похоже, что некоторые пользователи установили шрифты, которые они не должны были устанавливать (из-за лицензионных ограничений и так далее), и теперь компания столкнулась с юридическими проблемами.

Проблема в том, что я знаю, как развертывать пакеты через SCCM, но я совершенно не знаком с инвентаризацией и разработкой. Я зашел в интернет в поисках решения и получил что-то вроде этого:

For Each objFont in colItems
    Set m = objFolder.ParseName(objFont.Name)
    foundry = objFolder.GetDetailsOf(m, 5)
    'msgbox fabricante
    objFile.WriteLine (objFont.Path & vbtab & objFont.Name & vbtab & foundry)
Next

Этот скрипт отлично работает, Для моей машины. Но, чтобы получить эту информацию со всех машин, мне сказали, что мне придется превратить ее в WMI класс, что инвентарь затем будет вызывать и получать / обрабатывать выходные данные. Это возможно?

Я сделал нечто подобное, но с Altiris, а не с SCCM. (Я полагаю, вы также можете запустить его через групповую политику.) Не с помощью WMI, а только с помощью сценариев. Что бы я сделал:

  1. Создайте сетевой ресурс. Предоставьте пользователю, который будет запускать сценарий (пользователю службы управления System Center, что угодно), право записи в общий ресурс.
  2. Измените сценарий так, чтобы записываемый файл был именем компьютера (strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" ))
  3. Использовать Анализатор журнала плевать данные во что-то более читаемое (SQL?)

С другой стороны, похоже, вы можете сделать настраиваемая программная отчетность для SCCM по типам файлов, поэтому может быть проще просто заставить его собирать файлы с расширением .fon и .ttf в каталоге% windir% \ fonts. Это в основном то, что кто-то предложил в TechNet.

Удачи!

Вы можете использовать класс Win32_FontInfoAction для получать информацию об установленных шрифтах, которые были зарегистрированы одновременно с установкой соответствующего программного элемента. Я выделил это определение, b / c класс пуст на моей машине, предположительно, b / c я не установил никаких шрифтов. Однако я отвечу на этот вопрос, поскольку он может сработать для вас:

Я бы запустил отчет, чтобы определить, какие шрифты установлены, запросив этот класс на каждом компьютере. Если вы решили просто запустить запрос, а не отчет, вы можете легко превратить этот запрос в новую коллекцию с некоторой копией пасты и несколькими изменениями, например, какие конкретные шрифты не лицензированы, как только вы увидите, как они отображаются в репо wmi.

https://msdn.microsoft.com/en-us/library/aa394150(v=vs.85).aspx