locked
Report of machines with Fonts installed RRS feed

  • Question

  • We have been asked by a software vendor to provide information on machines that have any of a specified list of fonts installed. The list of font file names in question is over 5000 long.

    I do not see any easy way to populate SCCM with the list of fonts installed on all machines, much less report on them.

    Any ideas?

    Thanks.

    Tuesday, February 8, 2011 10:23 PM

Answers

  • Yeah, that's all I can think of for fonts; becuase of the quantity of fontnames they want.

    Software Inventory:  *.ttf from %windir%\fonts

    POTENTIAL hardware inventory method...

    - Install all of the fonts they are looking for on a test computer (so they are installed)
    - Use RegKeytoMof to build a mof edit using hklm\software\microsoft\windows nt\currentversion\fonts
    - Manually edit the mof snippet to switch to "FALSE" all of the fonts that are NOT on their list of things to report on (less data).
    - end result; if a box has (for example "Fubar Bold (TrueType)"), then in that new v_gs_fonts0 view, you'll have a value returned, if fubar font isn't installed, it'll be null.

    Edit: forget that... 5000 fonts. I forgot you wrote that.  that's too many for a hinv mof edit.  what a nightmare.  Just do the sinv method; but only turn it on for a week, then yank those rules right back out.


    Standardize. Simplify. Automate.
    Wednesday, February 9, 2011 8:18 PM
  • nice find, Garth!  completely untested, test this in a LAB environment first.  Place at the bottom of sms_def.mof.  absolutely no idea if it will work.  and an interactive wmi query took a long time to enumerate.  Might be horrid for performance on a client in the inventoryagent.log.  TEST TEST TEST.

    [ SMS_Report (TRUE),
      SMS_Group_Name ("FontFiles"),
      SMS_Class_ID ("CUSTOM|FontFiles|1.0") ]
    class Win32_fontinfoaction : SMS_Class_Template
    {
      [SMS_Report (TRUE), key] string File;
    };

     


    Standardize. Simplify. Automate.
    • Marked as answer by JakeMan6731 Monday, February 28, 2011 4:05 AM
    Thursday, February 10, 2011 4:32 PM

All replies

  • Wow.  Kinda icky request.   Well, is that list a list of filenames, like   ArialB.ttf ?  or is it the longer name, Arial Bold?

    Maybe we could turn around the request... "why do they need to know what fonts are installed?"  No, really, why?  Instead of finding out who has what fonts installed, if it's a pre-requisite that a specific set of fonts are installed in order to run a certain application, just install those fonts as part of the install.  If a box already has them, so what, it gets them again.

    Or is this an audit request?  I.e., were these 'purchased' fonts?  If it's an audit request, they should provide you with how to inventory for the font existence.


    Standardize. Simplify. Automate.
    Wednesday, February 9, 2011 12:56 AM
  • Sherry;

    Yes it is an icky request, And yes, it is for an audit. I have asked for information on how to go about getting the required font information from the vendor. I couldn't believe it when I saw the list of Font names. (Both file names and the longer font names were included.) They also wanted to know about 180+ executables and what machines they are installed on. That list was fairly easy to report on. I just don't see any easy way to get the font information other than messing with  the Software Inventory, and I would prefer to leave that be.

    Wednesday, February 9, 2011 6:28 PM
  • Yeah, that's all I can think of for fonts; becuase of the quantity of fontnames they want.

    Software Inventory:  *.ttf from %windir%\fonts

    POTENTIAL hardware inventory method...

    - Install all of the fonts they are looking for on a test computer (so they are installed)
    - Use RegKeytoMof to build a mof edit using hklm\software\microsoft\windows nt\currentversion\fonts
    - Manually edit the mof snippet to switch to "FALSE" all of the fonts that are NOT on their list of things to report on (less data).
    - end result; if a box has (for example "Fubar Bold (TrueType)"), then in that new v_gs_fonts0 view, you'll have a value returned, if fubar font isn't installed, it'll be null.

    Edit: forget that... 5000 fonts. I forgot you wrote that.  that's too many for a hinv mof edit.  what a nightmare.  Just do the sinv method; but only turn it on for a week, then yank those rules right back out.


    Standardize. Simplify. Automate.
    Wednesday, February 9, 2011 8:18 PM
  • I did a quick look within WMI and there is a font class therefore you could write a mof edit for this info, look at Win32_fontinfoaction.


    http://www.enhansoft.com/
    Thursday, February 10, 2011 3:11 AM
  • nice find, Garth!  completely untested, test this in a LAB environment first.  Place at the bottom of sms_def.mof.  absolutely no idea if it will work.  and an interactive wmi query took a long time to enumerate.  Might be horrid for performance on a client in the inventoryagent.log.  TEST TEST TEST.

    [ SMS_Report (TRUE),
      SMS_Group_Name ("FontFiles"),
      SMS_Class_ID ("CUSTOM|FontFiles|1.0") ]
    class Win32_fontinfoaction : SMS_Class_Template
    {
      [SMS_Report (TRUE), key] string File;
    };

     


    Standardize. Simplify. Automate.
    • Marked as answer by JakeMan6731 Monday, February 28, 2011 4:05 AM
    Thursday, February 10, 2011 4:32 PM