Check for non-standard Plug-Ins and Extensions for CS2/3/4/5 and QuarkXPress 6/7/8/9.

Not applicable

Hi,

I Like to create an Extension Attribute to pull inventory for all non-standard Plug-Ins, Extensions, Filters and XTensions for the following applications: Adobe InDesign CS2/3/4/5 Adobe Illustrator CS2/3/4/5 Adobe Photoshop CS2/3/4/5 QuarkXPress 6/7/8/9

Just wants to know if anyone can share the idea for creating Extension Attribute or if someone already did it?

Regards,
Vinay Washimkar

9 REPLIES 9

sean
Valued Contributor

Someone (I think it was DonM) asked this about a week or so ago.

Don, did you get anywhere with this?

Sean

donmontalvo
Esteemed Contributor III

Sorry for the late response. We actually had one of our scripting folks put together an Extension Attribute that queries for any third party Plug-ins and Extensions. If any are present it creates /Users/Shared/plugin-report.txt which contains the names of the items including paths.

It's a fairly long script used in an Extension Attribute, but works very quickly. Finds:

InDesign (any version) Photoshop (any version) Illustrator (any version) QuarkXPress (any version)

So we have a Smart Computer Group that looks for /Users/Shared/plugin-report.txt so the analyst can gather any that exist. There is nothing confidential in the script, happy to pass to anyone who asks.

Don

--
https://donmontalvo.com

ifbell
Contributor

Don,

Do you still have that extension attribute available?

donmontalvo
Esteemed Contributor III

Ask and ye shall receive...

#!/bin/sh
#
# This is a crude script that will walk through all Adobe CS plug-in folders as
# well as QuarkXPress plug-in folders to look for any non-standard items. If any
# are found this script will output a file listing the items:
#
#   /Users/Shared/plugin-report-<ComputerName>.txt
#
# Tested on Adobe CS2 through CS6, and QuarkXPress 6 and 7. This script *may* work on
# other versions since wildcards are used, but no guarantees. :)
#
# Make the script executable and place it wherever you put your client scripts:
#
#   /Library/YourCompanyName/Scripts/plugin-report.sh
#
# Trigger the script using a policy, we usually schedule it to run weekly.
#
# Many ways to gather the reports, including mounting an SMB share and copying
# the reports to a known folder (overwrite existing named reports). Or enable
# Postfix and email the reports to yourself, useful if you're hitting a small
# number of Macs.
#
# This script was cobbled together with help from colleagues, and is free for
# anyone to use, or to hack it into itty bitty pieces for use in other scripts.
#
# Don Montalvo Aug 13, 2013

if [ -s /Users/Shared/plugin-report-$(scutil --get ComputerName).txt ]; then 
    rm /Users/Shared/plugin-report-$(scutil --get ComputerName).txt 
fi

# $application Variable holds the path of the directory to be searched

pathFile=/Users/Shared/path.txt
targetFile=/Users/Shared/temp.txt
#for application in "/Applications/Adobe Illustrator CS*/Plug-ins.localized" "/Applications/Adobe InDesign CS*/Plug-Ins" "/Applications/Adobe Photoshop CS*/Plug-Ins" "/Applications/QuarkXPress */XTensions" "/Applications/QuarkXPress */XTensions Disabled"
rm $pathFile 2>/dev/null
ls -d /Applications/Adobe Illustrator CS*/Plug-ins.localized >> $pathFile 2>/dev/null
while read app
do
        #echo $app
        ls "$app" >> $targetFile
        flag=0
        while read line
        do
            if [ "$line" = ".localized" ] || [ "$line" = ".DS_Store" ] || [ "$line" = "Adobe Illustrator Startup_CMYK.ai" ] || [ "$line" = "Illustrator Formats.localized" ] || [ "$line" = "Adobe Illustrator Startup_RGB.ai" ] || [ "$line" = "PDFMessage.ai" ] || [ "$line" = "Adobe SVG Filters.svg" ] || [ "$line" = "Photoshop Effects.localized" ] || [ "$line" = "Bevels.ai" ] || [ "$line" = "Photoshop Filters.localized" ] || [ "$line" = "Extensions.localized" ] || [ "$line" = "Photoshop Formats.localized" ] || [ "$line" = "Text Filters.localized" ] || [[ "$line" == Icon* ]] || [ "$line" = "Tools.localized" ] || [ "$line" = "Illustrator Filters.localized" ] || [ "$line" = "PlugPlug.bundle" ] || [ "$line" = "Illustrator UI.localized" ] || [ "$line" = "Booklet" ] || [ "$line" = "Icon?" ] || [ "$line" = "PMPack" ] || [ "$line" = "Text" ] || [[ "$line" == Icon* ]] || [ "$line" = "XMedia" ] || [ "$line" = "Data Services" ] || [ "$line" = "InCopyWorkflow" ] || [ "$line" = "Page Item" ] || [ "$line" = "UI" ] || [ "$line" = "Dictionaries" ]|| [ "$line" = "Interactive" ] || [ "$line" = "Prepress" ]|| [ "$line" = "Utility" ]|| [ "$line" = "Filters" ]|| [ "$line" = "Layout" ]|| [ "$line" = "Script" ]|| [ "$line" = "Workflow" ]|| [ "$line" = "Graphics" ]|| [ "$line" = "Online" ]|| [ "$line" = "Tables" ]|| [ "$line" = "Workgroup" ] || [ "$line" = "Sandbox" ] || [ "$line" = ".DS_Store" ] || [ "$line" = "Automate" ] || [ "$line" = "Effects" ] || [ "$line" = "Image Stacks" ] || [ "$line" = "Measurements" ] || [ "$line" = "Extensions" ] || [ "$line" = "Import:Export" ] || [ "$line" = "Digimarc" ] || [ "$line" = "File Formats" ] || [ "$line" = "Parser" ] || [ "$line" = "Displacement Maps" ] || [ "$line" = "Filters" ] || [ "$line" = "ADM" ] || [ "$line" = "3D Engines" ] || [ "$line" = "Import-Export" ] || [ "$line" = "Panels" ] || [[ "$line" == Icon* ]] || [ "$line" = "Adobe ImageReady Only" ] || [ "$line" = "Adobe Photoshop Only" ]  || [ "$line" = "AltSpellchecker.xnt" ] || [ "$line" = "OPI.xnt" ] || [ "$line" = "CompositionZone.xnt" ] || [ "$line" = "PDF Filter.xnt" ] || [ "$line" = "Jabberwocky.xnt" ] || [ "$line" = "CompressedImage Import.xnt" ] || [ "$line" = "PNG Filter.xnt" ] || [ "$line" = "Custom Bleeds.xnt" ] || [ "$line" = "PSD Import XT.xnt" ] || [ "$line" = "Dejavu.xnt" ] || [ "$line" = "Quark Image Engine.dylib" ] || [ "$line" = "Dictionaries" ] || [ "$line" = "QuarkSWF.CW9.dylib" ] || [ "$line" = "DropShadow.xnt" ] || [ "$line" = "RTF Filter.xnt" ] || [ "$line" = "EditOriginal.xnt" ] || [ "$line" = "Resource" ] || [ "$line" = "ErrorReportingMac.xnt" ] || [ "$line" = "SWF Filter.xnt" ] || [ "$line" = "SWF Toolkit.xnt" ] || [ "$line" = "FullResPreview.xnt" ] || [ "$line" = "Scissors.xnt" ] || [ "$line" = "GlyphPalette.xnt" ] || [ "$line" = "Script.xnt" ] || [ "$line" = "Guide Manager.xnt" ] || [ "$line" = "Shape of Things.xnt" ] || [ "$line" = "HTML Text Import.xnt" ] || [ "$line" = "Super Step and Repeat.xnt" ] || [ "$line" = "HyphDieckmann.xnt" ] || [ "$line" = "Table Import.xnt" ] || [ "$line" = "Hyph_CNS_1.xnt" ] || [ "$line" = "Type Tricks.xnt" ] || [ "$line" = "Hyph_CNS_2.xnt" ] || [ "$line" = "Vista.xnt" ] || [ "$line" = "Hyph_CNS_3.xnt" ] || [ "$line" = "Word 6-2000 Filter.xnt" ] || [[ "$line" == Icon* ]] || [ "$line" = "WordPerfect Filter.xnt" ] || [ "$line" = "ImageMap.xnt" ] || [ "$line" = "XPress Tags Filter.xnt" ] || [ "$line" = "Index.xnt" ] || [ "$line" = "XSLT Export.xnt" ] || [ "$line" = "Jabberwocky.xnt    " ] || [ "$line" = "pdfInspektor3" ] || [ "$line" = "Kern-Track Editor.xnt" ] || [ "$line" = "pdfInspektor3.dylib" ] || [ "$line" = "AltSpellchecker.xnt" ] || [ "$line" = "OPI.xnt" ] || [ "$line" = "CompositionZone.xnt" ] || [ "$line" = "PDF Filter.xnt" ] || [ "$line" = "Jabberwocky.xnt" ] || [ "$line" = "CompressedImage Import.xnt" ] || [ "$line" = "PNG Filter.xnt" ] || [ "$line" = "Custom Bleeds.xnt" ] || [ "$line" = "PSD Import XT.xnt" ] || [ "$line" = "Dejavu.xnt" ] || [ "$line" = "Quark Image Engine.dylib" ] || [ "$line" = "Dictionaries" ] || [ "$line" = "QuarkSWF.CW9.dylib" ] || [ "$line" = "DropShadow.xnt" ] || [ "$line" = "RTF Filter.xnt" ] || [ "$line" = "EditOriginal.xnt" ] || [ "$line" = "Resource" ] || [ "$line" = "ErrorReportingMac.xnt" ] || [ "$line" = "SWF Filter.xnt" ] || [ "$line" = "SWF Toolkit.xnt" ] || [ "$line" = "FullResPreview.xnt" ] || [ "$line" = "Scissors.xnt" ] || [ "$line" = "GlyphPalette.xnt" ] || [ "$line" = "Script.xnt" ] || [ "$line" = "Guide Manager.xnt" ] || [ "$line" = "Shape of Things.xnt" ] || [ "$line" = "HTML Text Import.xnt" ] || [ "$line" = "Super Step and Repeat.xnt" ] || [ "$line" = "HyphDieckmann.xnt" ] || [ "$line" = "Table Import.xnt" ] || [ "$line" = "Hyph_CNS_1.xnt" ] || [ "$line" = "Type Tricks.xnt" ] || [ "$line" = "Hyph_CNS_2.xnt" ] || [ "$line" = "Vista.xnt" ] || [ "$line" = "Hyph_CNS_3.xnt" ] || [ "$line" = "Word 6-2000 Filter.xnt" ] || [[ "$line" == Icon* ]] || [ "$line" = "WordPerfect Filter.xnt" ] || [ "$line" = "ImageMap.xnt" ] || [ "$line" = "XPress Tags Filter.xnt" ] || [ "$line" = "Index.xnt" ] || [ "$line" = "XSLT Export.xnt" ] || [ "$line" = "Jabberwocky.xnt    " ] || [ "$line" = "pdfInspektor3" ] || [ "$line" = "Kern-Track Editor.xnt" ] || [ "$line" = "pdfInspektor3.dylib" ]
            then
                echo "$line" >> /Users/Shared/dump.txt
            else
                if [ $flag = 0 ]; then
                    echo "
 $app:" >> /Users/Shared/plugin-report-$(scutil --get ComputerName).txt
                    flag=1
                fi
                echo "$line" >> /Users/Shared/plugin-report-$(scutil --get ComputerName).txt
            fi
        done <"$targetFile"
        rm /Users/Shared/temp.txt 
        rm /Users/Shared/dump.txt  2>/dev/null
done <"$pathFile"
rm $pathFile


rm $pathFile 2>/dev/null
ls -d /Applications/Adobe InDesign CS*/Plug-Ins >> $pathFile 2>/dev/null
while read app
do
        #echo $app
        ls "$app" >> $targetFile
        flag=0
        while read line
        do
            if [ "$line" = ".localized" ] || [ "$line" = ".DS_Store" ] || [ "$line" = "Adobe Illustrator Startup_CMYK.ai" ] || [ "$line" = "Illustrator Formats.localized" ] || [ "$line" = "Adobe Illustrator Startup_RGB.ai" ] || [ "$line" = "PDFMessage.ai" ] || [ "$line" = "Adobe SVG Filters.svg" ] || [ "$line" = "Photoshop Effects.localized" ] || [ "$line" = "Bevels.ai" ] || [ "$line" = "Photoshop Filters.localized" ] || [ "$line" = "Extensions.localized" ] || [ "$line" = "Photoshop Formats.localized" ] || [ "$line" = "Text Filters.localized" ] || [[ "$line" == Icon* ]] || [ "$line" = "Tools.localized" ] || [ "$line" = "Illustrator Filters.localized" ] || [ "$line" = "PlugPlug.bundle" ] || [ "$line" = "Illustrator UI.localized" ] || [ "$line" = "Booklet" ] || [ "$line" = "Icon?" ] || [ "$line" = "PMPack" ] || [ "$line" = "Text" ] || [[ "$line" == Icon* ]] || [ "$line" = "XMedia" ] || [ "$line" = "Data Services" ] || [ "$line" = "InCopyWorkflow" ] || [ "$line" = "Page Item" ] || [ "$line" = "UI" ] || [ "$line" = "Dictionaries" ]|| [ "$line" = "Interactive" ] || [ "$line" = "Prepress" ]|| [ "$line" = "Utility" ]|| [ "$line" = "Filters" ]|| [ "$line" = "Layout" ]|| [ "$line" = "Script" ]|| [ "$line" = "Workflow" ]|| [ "$line" = "Graphics" ]|| [ "$line" = "Online" ]|| [ "$line" = "Tables" ]|| [ "$line" = "Workgroup" ] || [ "$line" = "Sandbox" ] || [ "$line" = ".DS_Store" ] || [ "$line" = "Automate" ] || [ "$line" = "Effects" ] || [ "$line" = "Image Stacks" ] || [ "$line" = "Measurements" ] || [ "$line" = "Extensions" ] || [ "$line" = "Import:Export" ] || [ "$line" = "Digimarc" ] || [ "$line" = "File Formats" ] || [ "$line" = "Parser" ] || [ "$line" = "Displacement Maps" ] || [ "$line" = "Filters" ] || [ "$line" = "ADM" ] || [ "$line" = "3D Engines" ] || [ "$line" = "Import-Export" ] || [ "$line" = "Panels" ] || [[ "$line" == Icon* ]] || [ "$line" = "Adobe ImageReady Only" ] || [ "$line" = "Adobe Photoshop Only" ]  || [ "$line" = "AltSpellchecker.xnt" ] || [ "$line" = "OPI.xnt" ] || [ "$line" = "CompositionZone.xnt" ] || [ "$line" = "PDF Filter.xnt" ] || [ "$line" = "Jabberwocky.xnt" ] || [ "$line" = "CompressedImage Import.xnt" ] || [ "$line" = "PNG Filter.xnt" ] || [ "$line" = "Custom Bleeds.xnt" ] || [ "$line" = "PSD Import XT.xnt" ] || [ "$line" = "Dejavu.xnt" ] || [ "$line" = "Quark Image Engine.dylib" ] || [ "$line" = "Dictionaries" ] || [ "$line" = "QuarkSWF.CW9.dylib" ] || [ "$line" = "DropShadow.xnt" ] || [ "$line" = "RTF Filter.xnt" ] || [ "$line" = "EditOriginal.xnt" ] || [ "$line" = "Resource" ] || [ "$line" = "ErrorReportingMac.xnt" ] || [ "$line" = "SWF Filter.xnt" ] || [ "$line" = "SWF Toolkit.xnt" ] || [ "$line" = "FullResPreview.xnt" ] || [ "$line" = "Scissors.xnt" ] || [ "$line" = "GlyphPalette.xnt" ] || [ "$line" = "Script.xnt" ] || [ "$line" = "Guide Manager.xnt" ] || [ "$line" = "Shape of Things.xnt" ] || [ "$line" = "HTML Text Import.xnt" ] || [ "$line" = "Super Step and Repeat.xnt" ] || [ "$line" = "HyphDieckmann.xnt" ] || [ "$line" = "Table Import.xnt" ] || [ "$line" = "Hyph_CNS_1.xnt" ] || [ "$line" = "Type Tricks.xnt" ] || [ "$line" = "Hyph_CNS_2.xnt" ] || [ "$line" = "Vista.xnt" ] || [ "$line" = "Hyph_CNS_3.xnt" ] || [ "$line" = "Word 6-2000 Filter.xnt" ] || [[ "$line" == Icon* ]] || [ "$line" = "WordPerfect Filter.xnt" ] || [ "$line" = "ImageMap.xnt" ] || [ "$line" = "XPress Tags Filter.xnt" ] || [ "$line" = "Index.xnt" ] || [ "$line" = "XSLT Export.xnt" ] || [ "$line" = "Jabberwocky.xnt    " ] || [ "$line" = "pdfInspektor3" ] || [ "$line" = "Kern-Track Editor.xnt" ] || [ "$line" = "pdfInspektor3.dylib" ] || [ "$line" = "AltSpellchecker.xnt" ] || [ "$line" = "OPI.xnt" ] || [ "$line" = "CompositionZone.xnt" ] || [ "$line" = "PDF Filter.xnt" ] || [ "$line" = "Jabberwocky.xnt" ] || [ "$line" = "CompressedImage Import.xnt" ] || [ "$line" = "PNG Filter.xnt" ] || [ "$line" = "Custom Bleeds.xnt" ] || [ "$line" = "PSD Import XT.xnt" ] || [ "$line" = "Dejavu.xnt" ] || [ "$line" = "Quark Image Engine.dylib" ] || [ "$line" = "Dictionaries" ] || [ "$line" = "QuarkSWF.CW9.dylib" ] || [ "$line" = "DropShadow.xnt" ] || [ "$line" = "RTF Filter.xnt" ] || [ "$line" = "EditOriginal.xnt" ] || [ "$line" = "Resource" ] || [ "$line" = "ErrorReportingMac.xnt" ] || [ "$line" = "SWF Filter.xnt" ] || [ "$line" = "SWF Toolkit.xnt" ] || [ "$line" = "FullResPreview.xnt" ] || [ "$line" = "Scissors.xnt" ] || [ "$line" = "GlyphPalette.xnt" ] || [ "$line" = "Script.xnt" ] || [ "$line" = "Guide Manager.xnt" ] || [ "$line" = "Shape of Things.xnt" ] || [ "$line" = "HTML Text Import.xnt" ] || [ "$line" = "Super Step and Repeat.xnt" ] || [ "$line" = "HyphDieckmann.xnt" ] || [ "$line" = "Table Import.xnt" ] || [ "$line" = "Hyph_CNS_1.xnt" ] || [ "$line" = "Type Tricks.xnt" ] || [ "$line" = "Hyph_CNS_2.xnt" ] || [ "$line" = "Vista.xnt" ] || [ "$line" = "Hyph_CNS_3.xnt" ] || [ "$line" = "Word 6-2000 Filter.xnt" ] || [[ "$line" == Icon* ]] || [ "$line" = "WordPerfect Filter.xnt" ] || [ "$line" = "ImageMap.xnt" ] || [ "$line" = "XPress Tags Filter.xnt" ] || [ "$line" = "Index.xnt" ] || [ "$line" = "XSLT Export.xnt" ] || [ "$line" = "Jabberwocky.xnt    " ] || [ "$line" = "pdfInspektor3" ] || [ "$line" = "Kern-Track Editor.xnt" ] || [ "$line" = "pdfInspektor3.dylib" ]
            then
                echo "$line" >> /Users/Shared/dump.txt
            else
                if [ $flag = 0 ]; then
                    echo "
 $app:" >> /Users/Shared/plugin-report-$(scutil --get ComputerName).txt
                    flag=1
                fi
                echo "$line" >> /Users/Shared/plugin-report-$(scutil --get ComputerName).txt
            fi
        done <"$targetFile"
        rm /Users/Shared/temp.txt 
        rm /Users/Shared/dump.txt  2>/dev/null
done <"$pathFile"
rm $pathFile

rm $pathFile 2>/dev/null
ls -d /Applications/Adobe Photoshop CS*/Plug-Ins >> $pathFile 2>/dev/null
while read app
do
        #echo $app
        ls "$app" >> $targetFile
        flag=0
        while read line
        do
            if [ "$line" = ".localized" ] || [ "$line" = ".DS_Store" ] || [ "$line" = "Adobe Illustrator Startup_CMYK.ai" ] || [ "$line" = "Illustrator Formats.localized" ] || [ "$line" = "Adobe Illustrator Startup_RGB.ai" ] || [ "$line" = "PDFMessage.ai" ] || [ "$line" = "Adobe SVG Filters.svg" ] || [ "$line" = "Photoshop Effects.localized" ] || [ "$line" = "Bevels.ai" ] || [ "$line" = "Photoshop Filters.localized" ] || [ "$line" = "Extensions.localized" ] || [ "$line" = "Photoshop Formats.localized" ] || [ "$line" = "Text Filters.localized" ] || [[ "$line" == Icon* ]] || [ "$line" = "Tools.localized" ] || [ "$line" = "Illustrator Filters.localized" ] || [ "$line" = "PlugPlug.bundle" ] || [ "$line" = "Illustrator UI.localized" ] || [ "$line" = "Booklet" ] || [ "$line" = "Icon?" ] || [ "$line" = "PMPack" ] || [ "$line" = "Text" ] || [[ "$line" == Icon* ]] || [ "$line" = "XMedia" ] || [ "$line" = "Data Services" ] || [ "$line" = "InCopyWorkflow" ] || [ "$line" = "Page Item" ] || [ "$line" = "UI" ] || [ "$line" = "Dictionaries" ]|| [ "$line" = "Interactive" ] || [ "$line" = "Prepress" ]|| [ "$line" = "Utility" ]|| [ "$line" = "Filters" ]|| [ "$line" = "Layout" ]|| [ "$line" = "Script" ]|| [ "$line" = "Workflow" ]|| [ "$line" = "Graphics" ]|| [ "$line" = "Online" ]|| [ "$line" = "Tables" ]|| [ "$line" = "Workgroup" ] || [ "$line" = "Sandbox" ] || [ "$line" = ".DS_Store" ] || [ "$line" = "Automate" ] || [ "$line" = "Effects" ] || [ "$line" = "Image Stacks" ] || [ "$line" = "Measurements" ] || [ "$line" = "Extensions" ] || [ "$line" = "Import:Export" ] || [ "$line" = "Digimarc" ] || [ "$line" = "File Formats" ] || [ "$line" = "Parser" ] || [ "$line" = "Displacement Maps" ] || [ "$line" = "Filters" ] || [ "$line" = "ADM" ] || [ "$line" = "3D Engines" ] || [ "$line" = "Import-Export" ] || [ "$line" = "Panels" ] || [[ "$line" == Icon* ]] || [ "$line" = "Adobe ImageReady Only" ] || [ "$line" = "Adobe Photoshop Only" ]  || [ "$line" = "AltSpellchecker.xnt" ] || [ "$line" = "OPI.xnt" ] || [ "$line" = "CompositionZone.xnt" ] || [ "$line" = "PDF Filter.xnt" ] || [ "$line" = "Jabberwocky.xnt" ] || [ "$line" = "CompressedImage Import.xnt" ] || [ "$line" = "PNG Filter.xnt" ] || [ "$line" = "Custom Bleeds.xnt" ] || [ "$line" = "PSD Import XT.xnt" ] || [ "$line" = "Dejavu.xnt" ] || [ "$line" = "Quark Image Engine.dylib" ] || [ "$line" = "Dictionaries" ] || [ "$line" = "QuarkSWF.CW9.dylib" ] || [ "$line" = "DropShadow.xnt" ] || [ "$line" = "RTF Filter.xnt" ] || [ "$line" = "EditOriginal.xnt" ] || [ "$line" = "Resource" ] || [ "$line" = "ErrorReportingMac.xnt" ] || [ "$line" = "SWF Filter.xnt" ] || [ "$line" = "SWF Toolkit.xnt" ] || [ "$line" = "FullResPreview.xnt" ] || [ "$line" = "Scissors.xnt" ] || [ "$line" = "GlyphPalette.xnt" ] || [ "$line" = "Script.xnt" ] || [ "$line" = "Guide Manager.xnt" ] || [ "$line" = "Shape of Things.xnt" ] || [ "$line" = "HTML Text Import.xnt" ] || [ "$line" = "Super Step and Repeat.xnt" ] || [ "$line" = "HyphDieckmann.xnt" ] || [ "$line" = "Table Import.xnt" ] || [ "$line" = "Hyph_CNS_1.xnt" ] || [ "$line" = "Type Tricks.xnt" ] || [ "$line" = "Hyph_CNS_2.xnt" ] || [ "$line" = "Vista.xnt" ] || [ "$line" = "Hyph_CNS_3.xnt" ] || [ "$line" = "Word 6-2000 Filter.xnt" ] || [[ "$line" == Icon* ]] || [ "$line" = "WordPerfect Filter.xnt" ] || [ "$line" = "ImageMap.xnt" ] || [ "$line" = "XPress Tags Filter.xnt" ] || [ "$line" = "Index.xnt" ] || [ "$line" = "XSLT Export.xnt" ] || [ "$line" = "Jabberwocky.xnt    " ] || [ "$line" = "pdfInspektor3" ] || [ "$line" = "Kern-Track Editor.xnt" ] || [ "$line" = "pdfInspektor3.dylib" ] || [ "$line" = "AltSpellchecker.xnt" ] || [ "$line" = "OPI.xnt" ] || [ "$line" = "CompositionZone.xnt" ] || [ "$line" = "PDF Filter.xnt" ] || [ "$line" = "Jabberwocky.xnt" ] || [ "$line" = "CompressedImage Import.xnt" ] || [ "$line" = "PNG Filter.xnt" ] || [ "$line" = "Custom Bleeds.xnt" ] || [ "$line" = "PSD Import XT.xnt" ] || [ "$line" = "Dejavu.xnt" ] || [ "$line" = "Quark Image Engine.dylib" ] || [ "$line" = "Dictionaries" ] || [ "$line" = "QuarkSWF.CW9.dylib" ] || [ "$line" = "DropShadow.xnt" ] || [ "$line" = "RTF Filter.xnt" ] || [ "$line" = "EditOriginal.xnt" ] || [ "$line" = "Resource" ] || [ "$line" = "ErrorReportingMac.xnt" ] || [ "$line" = "SWF Filter.xnt" ] || [ "$line" = "SWF Toolkit.xnt" ] || [ "$line" = "FullResPreview.xnt" ] || [ "$line" = "Scissors.xnt" ] || [ "$line" = "GlyphPalette.xnt" ] || [ "$line" = "Script.xnt" ] || [ "$line" = "Guide Manager.xnt" ] || [ "$line" = "Shape of Things.xnt" ] || [ "$line" = "HTML Text Import.xnt" ] || [ "$line" = "Super Step and Repeat.xnt" ] || [ "$line" = "HyphDieckmann.xnt" ] || [ "$line" = "Table Import.xnt" ] || [ "$line" = "Hyph_CNS_1.xnt" ] || [ "$line" = "Type Tricks.xnt" ] || [ "$line" = "Hyph_CNS_2.xnt" ] || [ "$line" = "Vista.xnt" ] || [ "$line" = "Hyph_CNS_3.xnt" ] || [ "$line" = "Word 6-2000 Filter.xnt" ] || [[ "$line" == Icon* ]] || [ "$line" = "WordPerfect Filter.xnt" ] || [ "$line" = "ImageMap.xnt" ] || [ "$line" = "XPress Tags Filter.xnt" ] || [ "$line" = "Index.xnt" ] || [ "$line" = "XSLT Export.xnt" ] || [ "$line" = "Jabberwocky.xnt    " ] || [ "$line" = "pdfInspektor3" ] || [ "$line" = "Kern-Track Editor.xnt" ] || [ "$line" = "pdfInspektor3.dylib" ]
            then
                echo "$line" >> /Users/Shared/dump.txt
            else
                if [ $flag = 0 ]; then
                    echo "
 $app:" >> /Users/Shared/plugin-report-$(scutil --get ComputerName).txt
                    flag=1
                fi
                echo "$line" >> /Users/Shared/plugin-report-$(scutil --get ComputerName).txt
            fi
        done <"$targetFile"
        rm /Users/Shared/temp.txt 
        rm /Users/Shared/dump.txt  2>/dev/null
done <"$pathFile"
rm $pathFile

rm $pathFile 2>/dev/null
ls -d /Applications/QuarkXPress */XTensions >> $pathFile 2>/dev/null
while read app
do
        #echo $app
        ls "$app" >> $targetFile
        flag=0
        while read line
        do
            if [ "$line" = ".localized" ] || [ "$line" = ".DS_Store" ] || [ "$line" = "Adobe Illustrator Startup_CMYK.ai" ] || [ "$line" = "Illustrator Formats.localized" ] || [ "$line" = "Adobe Illustrator Startup_RGB.ai" ] || [ "$line" = "PDFMessage.ai" ] || [ "$line" = "Adobe SVG Filters.svg" ] || [ "$line" = "Photoshop Effects.localized" ] || [ "$line" = "Bevels.ai" ] || [ "$line" = "Photoshop Filters.localized" ] || [ "$line" = "Extensions.localized" ] || [ "$line" = "Photoshop Formats.localized" ] || [ "$line" = "Text Filters.localized" ] || [[ "$line" == Icon* ]] || [ "$line" = "Tools.localized" ] || [ "$line" = "Illustrator Filters.localized" ] || [ "$line" = "PlugPlug.bundle" ] || [ "$line" = "Illustrator UI.localized" ] || [ "$line" = "Booklet" ] || [ "$line" = "Icon?" ] || [ "$line" = "PMPack" ] || [ "$line" = "Text" ] || [[ "$line" == Icon* ]] || [ "$line" = "XMedia" ] || [ "$line" = "Data Services" ] || [ "$line" = "InCopyWorkflow" ] || [ "$line" = "Page Item" ] || [ "$line" = "UI" ] || [ "$line" = "Dictionaries" ]|| [ "$line" = "Interactive" ] || [ "$line" = "Prepress" ]|| [ "$line" = "Utility" ]|| [ "$line" = "Filters" ]|| [ "$line" = "Layout" ]|| [ "$line" = "Script" ]|| [ "$line" = "Workflow" ]|| [ "$line" = "Graphics" ]|| [ "$line" = "Online" ]|| [ "$line" = "Tables" ]|| [ "$line" = "Workgroup" ] || [ "$line" = "Sandbox" ] || [ "$line" = ".DS_Store" ] || [ "$line" = "Automate" ] || [ "$line" = "Effects" ] || [ "$line" = "Image Stacks" ] || [ "$line" = "Measurements" ] || [ "$line" = "Extensions" ] || [ "$line" = "Import:Export" ] || [ "$line" = "Digimarc" ] || [ "$line" = "File Formats" ] || [ "$line" = "Parser" ] || [ "$line" = "Displacement Maps" ] || [ "$line" = "Filters" ] || [ "$line" = "ADM" ] || [ "$line" = "3D Engines" ] || [ "$line" = "Import-Export" ] || [ "$line" = "Panels" ] || [[ "$line" == Icon* ]] || [ "$line" = "Adobe ImageReady Only" ] || [ "$line" = "Adobe Photoshop Only" ]  || [ "$line" = "AltSpellchecker.xnt" ] || [ "$line" = "OPI.xnt" ] || [ "$line" = "CompositionZone.xnt" ] || [ "$line" = "PDF Filter.xnt" ] || [ "$line" = "Jabberwocky.xnt" ] || [ "$line" = "CompressedImage Import.xnt" ] || [ "$line" = "PNG Filter.xnt" ] || [ "$line" = "Custom Bleeds.xnt" ] || [ "$line" = "PSD Import XT.xnt" ] || [ "$line" = "Dejavu.xnt" ] || [ "$line" = "Quark Image Engine.dylib" ] || [ "$line" = "Dictionaries" ] || [ "$line" = "QuarkSWF.CW9.dylib" ] || [ "$line" = "DropShadow.xnt" ] || [ "$line" = "RTF Filter.xnt" ] || [ "$line" = "EditOriginal.xnt" ] || [ "$line" = "Resource" ] || [ "$line" = "ErrorReportingMac.xnt" ] || [ "$line" = "SWF Filter.xnt" ] || [ "$line" = "SWF Toolkit.xnt" ] || [ "$line" = "FullResPreview.xnt" ] || [ "$line" = "Scissors.xnt" ] || [ "$line" = "GlyphPalette.xnt" ] || [ "$line" = "Script.xnt" ] || [ "$line" = "Guide Manager.xnt" ] || [ "$line" = "Shape of Things.xnt" ] || [ "$line" = "HTML Text Import.xnt" ] || [ "$line" = "Super Step and Repeat.xnt" ] || [ "$line" = "HyphDieckmann.xnt" ] || [ "$line" = "Table Import.xnt" ] || [ "$line" = "Hyph_CNS_1.xnt" ] || [ "$line" = "Type Tricks.xnt" ] || [ "$line" = "Hyph_CNS_2.xnt" ] || [ "$line" = "Vista.xnt" ] || [ "$line" = "Hyph_CNS_3.xnt" ] || [ "$line" = "Word 6-2000 Filter.xnt" ] || [[ "$line" == Icon* ]] || [ "$line" = "WordPerfect Filter.xnt" ] || [ "$line" = "ImageMap.xnt" ] || [ "$line" = "XPress Tags Filter.xnt" ] || [ "$line" = "Index.xnt" ] || [ "$line" = "XSLT Export.xnt" ] || [ "$line" = "Jabberwocky.xnt    " ] || [ "$line" = "pdfInspektor3" ] || [ "$line" = "Kern-Track Editor.xnt" ] || [ "$line" = "pdfInspektor3.dylib" ] || [ "$line" = "AltSpellchecker.xnt" ] || [ "$line" = "OPI.xnt" ] || [ "$line" = "CompositionZone.xnt" ] || [ "$line" = "PDF Filter.xnt" ] || [ "$line" = "Jabberwocky.xnt" ] || [ "$line" = "CompressedImage Import.xnt" ] || [ "$line" = "PNG Filter.xnt" ] || [ "$line" = "Custom Bleeds.xnt" ] || [ "$line" = "PSD Import XT.xnt" ] || [ "$line" = "Dejavu.xnt" ] || [ "$line" = "Quark Image Engine.dylib" ] || [ "$line" = "Dictionaries" ] || [ "$line" = "QuarkSWF.CW9.dylib" ] || [ "$line" = "DropShadow.xnt" ] || [ "$line" = "RTF Filter.xnt" ] || [ "$line" = "EditOriginal.xnt" ] || [ "$line" = "Resource" ] || [ "$line" = "ErrorReportingMac.xnt" ] || [ "$line" = "SWF Filter.xnt" ] || [ "$line" = "SWF Toolkit.xnt" ] || [ "$line" = "FullResPreview.xnt" ] || [ "$line" = "Scissors.xnt" ] || [ "$line" = "GlyphPalette.xnt" ] || [ "$line" = "Script.xnt" ] || [ "$line" = "Guide Manager.xnt" ] || [ "$line" = "Shape of Things.xnt" ] || [ "$line" = "HTML Text Import.xnt" ] || [ "$line" = "Super Step and Repeat.xnt" ] || [ "$line" = "HyphDieckmann.xnt" ] || [ "$line" = "Table Import.xnt" ] || [ "$line" = "Hyph_CNS_1.xnt" ] || [ "$line" = "Type Tricks.xnt" ] || [ "$line" = "Hyph_CNS_2.xnt" ] || [ "$line" = "Vista.xnt" ] || [ "$line" = "Hyph_CNS_3.xnt" ] || [ "$line" = "Word 6-2000 Filter.xnt" ] || [[ "$line" == Icon* ]] || [ "$line" = "WordPerfect Filter.xnt" ] || [ "$line" = "ImageMap.xnt" ] || [ "$line" = "XPress Tags Filter.xnt" ] || [ "$line" = "Index.xnt" ] || [ "$line" = "XSLT Export.xnt" ] || [ "$line" = "Jabberwocky.xnt    " ] || [ "$line" = "pdfInspektor3" ] || [ "$line" = "Kern-Track Editor.xnt" ] || [ "$line" = "pdfInspektor3.dylib" ]
            then
                echo "$line" >> /Users/Shared/dump.txt
            else
                if [ $flag = 0 ]; then
                    echo "
 $app:" >> /Users/Shared/plugin-report-$(scutil --get ComputerName).txt
                    flag=1
                fi
                echo "$line" >> /Users/Shared/plugin-report-$(scutil --get ComputerName).txt
            fi
        done <"$targetFile"
        rm /Users/Shared/temp.txt 
        rm /Users/Shared/dump.txt  2>/dev/null
done <"$pathFile"
rm $pathFile

rm $pathFile 2>/dev/null
ls -d /Applications/QuarkXPress */XTensions Disabled >> $pathFile 2>/dev/null
while read app
do
        #echo $app
        ls "$app" >> $targetFile
        flag=0
        while read line
        do
            if [ "$line" = ".localized" ] || [ "$line" = ".DS_Store" ] || [ "$line" = "Adobe Illustrator Startup_CMYK.ai" ] || [ "$line" = "Illustrator Formats.localized" ] || [ "$line" = "Adobe Illustrator Startup_RGB.ai" ] || [ "$line" = "PDFMessage.ai" ] || [ "$line" = "Adobe SVG Filters.svg" ] || [ "$line" = "Photoshop Effects.localized" ] || [ "$line" = "Bevels.ai" ] || [ "$line" = "Photoshop Filters.localized" ] || [ "$line" = "Extensions.localized" ] || [ "$line" = "Photoshop Formats.localized" ] || [ "$line" = "Text Filters.localized" ] || [[ "$line" == Icon* ]] || [ "$line" = "Tools.localized" ] || [ "$line" = "Illustrator Filters.localized" ] || [ "$line" = "PlugPlug.bundle" ] || [ "$line" = "Illustrator UI.localized" ] || [ "$line" = "Booklet" ] || [ "$line" = "Icon?" ] || [ "$line" = "PMPack" ] || [ "$line" = "Text" ] || [[ "$line" == Icon* ]] || [ "$line" = "XMedia" ] || [ "$line" = "Data Services" ] || [ "$line" = "InCopyWorkflow" ] || [ "$line" = "Page Item" ] || [ "$line" = "UI" ] || [ "$line" = "Dictionaries" ]|| [ "$line" = "Interactive" ] || [ "$line" = "Prepress" ]|| [ "$line" = "Utility" ]|| [ "$line" = "Filters" ]|| [ "$line" = "Layout" ]|| [ "$line" = "Script" ]|| [ "$line" = "Workflow" ]|| [ "$line" = "Graphics" ]|| [ "$line" = "Online" ]|| [ "$line" = "Tables" ]|| [ "$line" = "Workgroup" ] || [ "$line" = "Sandbox" ] || [ "$line" = ".DS_Store" ] || [ "$line" = "Automate" ] || [ "$line" = "Effects" ] || [ "$line" = "Image Stacks" ] || [ "$line" = "Measurements" ] || [ "$line" = "Extensions" ] || [ "$line" = "Import:Export" ] || [ "$line" = "Digimarc" ] || [ "$line" = "File Formats" ] || [ "$line" = "Parser" ] || [ "$line" = "Displacement Maps" ] || [ "$line" = "Filters" ] || [ "$line" = "ADM" ] || [ "$line" = "3D Engines" ] || [ "$line" = "Import-Export" ] || [ "$line" = "Panels" ] || [[ "$line" == Icon* ]] || [ "$line" = "Adobe ImageReady Only" ] || [ "$line" = "Adobe Photoshop Only" ]  || [ "$line" = "AltSpellchecker.xnt" ] || [ "$line" = "OPI.xnt" ] || [ "$line" = "CompositionZone.xnt" ] || [ "$line" = "PDF Filter.xnt" ] || [ "$line" = "Jabberwocky.xnt" ] || [ "$line" = "CompressedImage Import.xnt" ] || [ "$line" = "PNG Filter.xnt" ] || [ "$line" = "Custom Bleeds.xnt" ] || [ "$line" = "PSD Import XT.xnt" ] || [ "$line" = "Dejavu.xnt" ] || [ "$line" = "Quark Image Engine.dylib" ] || [ "$line" = "Dictionaries" ] || [ "$line" = "QuarkSWF.CW9.dylib" ] || [ "$line" = "DropShadow.xnt" ] || [ "$line" = "RTF Filter.xnt" ] || [ "$line" = "EditOriginal.xnt" ] || [ "$line" = "Resource" ] || [ "$line" = "ErrorReportingMac.xnt" ] || [ "$line" = "SWF Filter.xnt" ] || [ "$line" = "SWF Toolkit.xnt" ] || [ "$line" = "FullResPreview.xnt" ] || [ "$line" = "Scissors.xnt" ] || [ "$line" = "GlyphPalette.xnt" ] || [ "$line" = "Script.xnt" ] || [ "$line" = "Guide Manager.xnt" ] || [ "$line" = "Shape of Things.xnt" ] || [ "$line" = "HTML Text Import.xnt" ] || [ "$line" = "Super Step and Repeat.xnt" ] || [ "$line" = "HyphDieckmann.xnt" ] || [ "$line" = "Table Import.xnt" ] || [ "$line" = "Hyph_CNS_1.xnt" ] || [ "$line" = "Type Tricks.xnt" ] || [ "$line" = "Hyph_CNS_2.xnt" ] || [ "$line" = "Vista.xnt" ] || [ "$line" = "Hyph_CNS_3.xnt" ] || [ "$line" = "Word 6-2000 Filter.xnt" ] || [[ "$line" == Icon* ]] || [ "$line" = "WordPerfect Filter.xnt" ] || [ "$line" = "ImageMap.xnt" ] || [ "$line" = "XPress Tags Filter.xnt" ] || [ "$line" = "Index.xnt" ] || [ "$line" = "XSLT Export.xnt" ] || [ "$line" = "Jabberwocky.xnt    " ] || [ "$line" = "pdfInspektor3" ] || [ "$line" = "Kern-Track Editor.xnt" ] || [ "$line" = "pdfInspektor3.dylib" ] || [ "$line" = "AltSpellchecker.xnt" ] || [ "$line" = "OPI.xnt" ] || [ "$line" = "CompositionZone.xnt" ] || [ "$line" = "PDF Filter.xnt" ] || [ "$line" = "Jabberwocky.xnt" ] || [ "$line" = "CompressedImage Import.xnt" ] || [ "$line" = "PNG Filter.xnt" ] || [ "$line" = "Custom Bleeds.xnt" ] || [ "$line" = "PSD Import XT.xnt" ] || [ "$line" = "Dejavu.xnt" ] || [ "$line" = "Quark Image Engine.dylib" ] || [ "$line" = "Dictionaries" ] || [ "$line" = "QuarkSWF.CW9.dylib" ] || [ "$line" = "DropShadow.xnt" ] || [ "$line" = "RTF Filter.xnt" ] || [ "$line" = "EditOriginal.xnt" ] || [ "$line" = "Resource" ] || [ "$line" = "ErrorReportingMac.xnt" ] || [ "$line" = "SWF Filter.xnt" ] || [ "$line" = "SWF Toolkit.xnt" ] || [ "$line" = "FullResPreview.xnt" ] || [ "$line" = "Scissors.xnt" ] || [ "$line" = "GlyphPalette.xnt" ] || [ "$line" = "Script.xnt" ] || [ "$line" = "Guide Manager.xnt" ] || [ "$line" = "Shape of Things.xnt" ] || [ "$line" = "HTML Text Import.xnt" ] || [ "$line" = "Super Step and Repeat.xnt" ] || [ "$line" = "HyphDieckmann.xnt" ] || [ "$line" = "Table Import.xnt" ] || [ "$line" = "Hyph_CNS_1.xnt" ] || [ "$line" = "Type Tricks.xnt" ] || [ "$line" = "Hyph_CNS_2.xnt" ] || [ "$line" = "Vista.xnt" ] || [ "$line" = "Hyph_CNS_3.xnt" ] || [ "$line" = "Word 6-2000 Filter.xnt" ] || [[ "$line" == Icon* ]] || [ "$line" = "WordPerfect Filter.xnt" ] || [ "$line" = "ImageMap.xnt" ] || [ "$line" = "XPress Tags Filter.xnt" ] || [ "$line" = "Index.xnt" ] || [ "$line" = "XSLT Export.xnt" ] || [ "$line" = "Jabberwocky.xnt    " ] || [ "$line" = "pdfInspektor3" ] || [ "$line" = "Kern-Track Editor.xnt" ] || [ "$line" = "pdfInspektor3.dylib" ]
            then
                echo "$line" >> /Users/Shared/dump.txt
            else
                if [ $flag = 0 ]; then
                    echo "
 $app:" >> /Users/Shared/plugin-report-$(scutil --get ComputerName).txt
                    flag=1
                fi
                echo "$line" >> /Users/Shared/plugin-report-$(scutil --get ComputerName).txt
            fi
        done <"$targetFile"
        rm /Users/Shared/temp.txt 
        rm /Users/Shared/dump.txt 2>/dev/null
done <"$pathFile"
rm $pathFile

Here's an example of the output you can expect...

/Applications/Adobe Illustrator CS3/Plug-ins.localized: CropsterCS5.InDesignPlugin FontAgent Pro.aip /Applications/Adobe Illustrator CS4/Plug-ins.localized: FontAgent Pro.aip /Applications/Adobe Illustrator CS5/Plug-ins.localized: FontAgent Pro.aip /Applications/Adobe InDesign CS2/Plug-Ins: FontAgent Pro.pln.framework /Applications/Adobe InDesign CS3/Plug-Ins: FontAgent Pro.InDesignPlugin /Applications/Adobe InDesign CS4/Plug-Ins: CropsterCS4.InDesignPlugin FontAgent Pro.InDesignPlugin /Applications/Adobe InDesign CS5/Plug-Ins: CropsterCS5.InDesignPlugin FontAgentPro.InDesignPlugin /Applications/Adobe Photoshop CS2/Plug-Ins: FontAgent Pro Helper.plugin FontAgent Pro.plugin /Applications/Adobe Photoshop CS3/Plug-Ins: FontAgent Pro Helper.plugin FontAgent Pro.plugin /Applications/Adobe Photoshop CS4.4/Plug-Ins: FontAgent Pro Helper.plugin FontAgent Pro.plugin /Applications/Adobe Photoshop CS4/Plug-Ins: FontAgent Pro Helper.plugin FontAgent Pro.plugin /Applications/Adobe Photoshop CS5.5/Plug-Ins: FontAgent Pro Helper.plugin FontAgent Pro.plugin /Applications/Adobe Photoshop CS5/Plug-Ins: FontAgent Pro Helper.plugin FontAgent Pro.plugin /Applications/QuarkXPress 6.5/XTensions: FontAgent Pro for XPress 7.xnt /Applications/QuarkXPress 7.0/XTensions: FontAgent Pro for XPress 7.xnt /Applications/QuarkXPress 7.3/XTensions: FontAgent Pro for XPress 7.xnt

Use an Extension Attribute to look for the file, if it exists copy to SMB share or email to yourself (see notes in script).

Don

--
https://donmontalvo.com

ShaunRMiller83
Contributor III

I hate to revive an old thread, but is it possible to post an example of the EA.

The script does exactly what I was trying to accomplish and looking for (and major TY to Don for posting it!)

Thanks in advance Shaun

donmontalvo
Esteemed Contributor III

The reason this script was developed was to enable the analysts responsible for refreshes to be able to check for any non standard Plug-ins/Xtensions. If any exist, the script spits out a text file listing the path to those items. If the file does not exist it means there are no items.

I suppose an EA can be made using if/else to see if the text file exists, but you would still need to come up with a method of gathering these text files if they do exist. Maybe a policy that checks if the text file exists, send it to a repository somewhere, or parse it some other way.

In short, if a user is due to get an OS upgrade, but there are any third party Plug-ins/Xtensions present, the analyst would need to exercise due diligence and get upgrades for those items, before the user is upgraded. The items would have to be purchased, packaged, and set up in Casper to be pushed after CS6 is deployed.

When you have 2,000+ multimedia users, the last thing you need is unexpected disruption. Since JSS isn't able to report these items, we recruited our Back Office folks create a script, and we merged it with script stuff stolen...er...borrowed...from this forum. :)

Don

--
https://donmontalvo.com

ShaunRMiller83
Contributor III

Don,

Thanks for the feedback. The policy looking for the text file is a good suggestion.

:)

S

mm2270
Legendary Contributor III

Although it would make for a rather large Extension Attribute, you could have an EA script 'cat' the file it it exists as its result. We have some EAs that report back several lines and it can be a little unwieldy, but totally possible. Still, you'd need to experiment with that to see if it makes sense.

donmontalvo
Esteemed Contributor III

@ShaunM9483 wrote:

Don, Thanks for the feedback. The policy looking for the text file is a good suggestion.

You'd have an EA to look for the file (YES or NO), and a policy triggered to do something with the file if it exists (YES) or ignore if it doesn't (NO).

--
https://donmontalvo.com