Retrospect Version Extension Attribute

llitz123
Contributor II

Does anyone have or know how to make an EA to show Retrospect client version?
Thanks.

1 ACCEPTED SOLUTION

mm2270
Legendary Contributor II
defaults read /Library/PreferencePanes/Retrospect Client.prefPane/Contents/Info.plist CFBundleVersion

Note you can also use CFBundleShortVersionString as the attribute to read, but since the plist you posted shows this for that attribute - <string>13.0.1 (104)</string> I'd say its probably better to use CFBundleVersion
That should yield 13.0.1.104 as an example.

To put the above into a usable EA script, try something like this

#!/bin/sh

PrefPanePath="/Library/PreferencePanes/Retrospect Client.prefPane"

if [ -e "$PrefPanePath" ]; then
     result=$(defaults read "${PrefPanePath}/Contents/Info.plist" CFBundleVersion)
else
     result="Not Installed"
fi

echo "<result>$result</result>"

View solution in original post

11 REPLIES 11

mm2270
Legendary Contributor II

Its been a long time since I've used it now, but isn't Retrospect just an application? If so, wouldn't the version be captured like any other application installed on a client?

llitz123
Contributor II

@mm2270 Its a system preference now. No app that I'm aware of.
Thanks.

mm2270
Legendary Contributor II

Ah, got it. Told you its been a while. 🙂
So, all Preference Panes have a version string in them. You just need to get it with the defaults command (or mdls - command line Spotlight)
I don't know the path to the installed Preference pane, but if you post it I can probably help you build the EA. Or you can probably do it yourself easily enough.

madscripter
New Contributor II

Hello I need help with this as well. How would I parse the version from info.plist that is in the Preference pane.
Path is '/Library/PreferencePanes/Retrospect Client.prefPane/Contents/Info.plist

Plist:
<?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>BuildMachineOSBuild</key>
    <string>13F34</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleExecutable</key>
    <string>Retrospect Client</string>
    <key>CFBundleIconFile</key>
    <string>app.icns</string>
    <key>CFBundleIdentifier</key>
    <string>com.retrospect.Retrospect_Client</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>Retrospect Client</string>
    <key>CFBundlePackageType</key>
    <string>BNDL</string>
    <key>CFBundleShortVersionString</key>
    <string>13.0.1 (104)</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>13.0.1.104</string>
    <key>DTCompiler</key>
    <string>com.apple.compilers.llvm.clang.1_0</string>
    <key>DTPlatformBuild</key>
    <string>5B1008</string>
    <key>DTPlatformVersion</key>
    <string>GM</string>
    <key>DTSDKBuild</key>
    <string>13C64</string>
    <key>DTSDKName</key>
    <string>macosx10.9</string>
    <key>DTXcode</key>
    <string>0511</string>
    <key>DTXcodeBuild</key>
    <string>5B1008</string>
    <key>NSHumanReadableCopyright</key>
    <string>Copyright © Retrospect, Inc. Portions © 1989-2010 EMC Corporation. All rights reserved.</string>
    <key>NSMainNibFile</key>
    <string>MainView</string>
    <key>NSPrefPaneIconFile</key>
    <string>icon32.png</string>
    <key>NSPrefPaneIconLabel</key>
    <string>Retrospect Client</string>
    <key>NSPrincipalClass</key>
    <string>MainController</string>
    <key>build</key>
    <string>423a5dd/fb7eac8</string>
</dict>
</plist>

mm2270
Legendary Contributor II
defaults read /Library/PreferencePanes/Retrospect Client.prefPane/Contents/Info.plist CFBundleVersion

Note you can also use CFBundleShortVersionString as the attribute to read, but since the plist you posted shows this for that attribute - <string>13.0.1 (104)</string> I'd say its probably better to use CFBundleVersion
That should yield 13.0.1.104 as an example.

To put the above into a usable EA script, try something like this

#!/bin/sh

PrefPanePath="/Library/PreferencePanes/Retrospect Client.prefPane"

if [ -e "$PrefPanePath" ]; then
     result=$(defaults read "${PrefPanePath}/Contents/Info.plist" CFBundleVersion)
else
     result="Not Installed"
fi

echo "<result>$result</result>"

View solution in original post

donmontalvo
Esteemed Contributor II

@mm2270 wrote:

but isn't Retrospect just an application?

Wait. Is Retrospect still a thing?

I know CrashPlan is a thing. 🙂

Don

--
https://donmontalvo.com

mm2270
Legendary Contributor II

@donmontalvo wrote:

Wait. Is Retrospect still a thing?

Heh. That WAS going to be my original question, but I decided to be nice about it. 🙂

llitz123
Contributor II

I would like nothing more than to get to a modern, robust backup solution rather than sending drives offsite with Iron Mountain and struggling through regular manual backup checks to verify clients are actually getting backed up. Unfortunately robust and reliable backups don't seem to be a priority in my environment. Woo?

llitz123
Contributor II

Oh and thanks for the help with my quandary. 🙂
I'll give it a try soon @mm2270

llitz123
Contributor II

@mm2270 's solution worked.
Thanks.

madscripter
New Contributor II

Just getting back to this. Thanks to @mm2270 for the solution and @llitz123 for posting the problem.