OSX Custom Inventory Rules
Hey,
We've been trying to deploy Lotus Notes 8.5.3 for MAC through KACE but the package in question is a MPKG file, through regular ziping and "installer -pkg filename.pkg -target /" it wouldn't install, so I did the windows batch-job approach to it and made a shell script to perform the same thing basically.
Adding the .sh file to the zip and targeting it through the MI it would deploy and install properly, however the software ID wouldn't register the installation and just keep on trying the full 3 attempts.
So I've tried making a custom software entry for the lotus notes 8.5.3 but now I'm stuck on how to make the inventory rulings, pointing towards FileExists() isn't really working as all our versions seem to name the file "Lotus Notes.app" So I would need something unique to point towards.
Anyone with any experience using the values of say PlistValueReturn(fullpath, entry, type) or FileInfoEquals(fullpath, attribute, type, value) ?
Otherwise what would be a wise choice to use?
Or is there any other simple way to deploy MPKG files?
Answers (3)
I'm using
PlistValueReturn(/Library/Application Support/Dell/KACE/department-info.plist, Department, TEXT)
Here's a copy of my plist file. This one reads the 1005 for department ID.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Department</key> <string>1005</string> </dict> </plist>
Comments:
-
Not quite sure I'm following here, there's nothing in the plist file installed with the lotus notes.mpkg that has any value indicating what version it is and there are a ton of different <key> values I could point towards.
Unless I make my own plist file to deploy with the program with a custom value like <Key>Lotus Notes 8.5.3</Key> to only have machines with that plist file be counted in through the inventory rule? - SHUni 12 years ago-
That's what I did with this one. This plist is custom. I work for a hospital and we have a ton of different clinics. This was the best way I could find to report for them. - dugullett 12 years ago
-
So if I understand this right, if I point towards a <Key> called say, Lotus Version and place a value in the <string> field, that's the value the rule will look for? - SHUni 12 years ago
-
Yes. - dugullett 12 years ago
-
Please note that using PlistValueReturn to return TEXT values is BROKEN under the 5.4.5315 agent for Mac OS X. It will not work and can not be worked around. The only "workaround" is to revert to the 5.3.53177 agent (not really an option for Mac OS X 10.8.x clients), or don't use PlistValueReturn to return TEXT values. Note that only TEXT values are broken; NUMBER and DATE values are returning fine. - Machead 11 years ago
You can rename .mpkg files to .pkg and they will usually install.
I'd probably try FileInfoEquals before FileInfoReturns:
FileInfoEquals(fullpath, attribute, type, value)
Comments:
-
What values would be needed for FileInfoEquals then? The little tutorial only shows what Windows uses, fullpath would be (/applications/app.app), attribute, type and value? Have no clue about those. - SHUni 12 years ago
-
http://www.itninja.com/question/solved-need-help-with-fileinforeturn-on-a-mac
http://www.itninja.com/question/how-do-i-obtain-the-file-creation-date-from-mac-os-x-using-fileinforeturn-as-a-custom-inventory-field - jknox 12 years ago
Try this :
Find the Application bundle for Lotus Notes 8.5.3 (i.e., in /Applications) and right-click on the APP file and choose "Show Package Contents". This reveals that the APP file is really a bundle (or folder) and it contains the executeables and related files. Typically (and by design) there is an version.plist file inside the Contents subfolder.
Open the version.plist (or the non-optional info.plist) file in a text editor. It will looks something like (This is for Powerpoint as I don't have Lotus Notes):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>BuildVersion</key> <string>0</string> <key>CFBundleShortVersionString</key> <string>14.2.4</string> <key>CFBundleVersion</key> <string>14.2.4</string> <key>SourceVersion</key> <string>120824</string> </dict> </plist>
Make note of the version string and it's Key...
Then you can build the Custom Inventory Rule as either a Return or a Check (Don't use Greaterthan or LessThan with non-numbers like 1.0.5)
PlistValueReturn(/Applications/Microsoft Office 2011/Microsoft PowerPoint.app/Contents/Version.plist, CFBundleVersion, TEXT)
PlistValueEquals(/Applications/Microsoft Office 2011/Microsoft PowerPoint.app/Contents/Version.plist, CFBundleVersion, 14.2.4)