Esempio n. 1
0
#!/usr/bin/python
#ref: https://macmule.com/2016/12/11/profiles-an-it-admins-best-friend/#more-2645

from CoreFoundation import (
        CFPreferencesCopyAppValue,
        CFPreferencesAppValueIsForced
        )

domain = 'com.apple.appstore'
key = 'restrict-store-require-admin-to-install'

key_value = CFPreferencesCopyAppValue(key, domain)
print 'Key Value: %s' % key_value

key_forced = CFPreferencesAppValueIsForced(key, domain)
print 'Key Forced: %s' % key_forced

Esempio n. 2
0
def catalogurl_is_managed():
    """Returns True if Software Update's CatalogURL is managed
    via MCX or Profiles"""
    return CFPreferencesAppValueIsForced('CatalogURL',
                                         APPLE_SOFTWARE_UPDATE_PREFS_DOMAIN)
Esempio n. 3
0
def get_config_level(bundle_id, pref_name, value):
    """Returns a string indicating where the given preference is defined"""
    if value is None:
        return "not set"
    if CFPreferencesAppValueIsForced(pref_name, bundle_id):
        return "MANAGED"
    home_dir = os.path.expanduser("~")
    # define all the places we need to search, in priority order
    levels = [
        {
            "file":
            os.path.join(home_dir, "Library/Preferences/ByHost",
                         bundle_id + ".xxxx.plist"),
            "domain":
            bundle_id,
            "user":
            kCFPreferencesCurrentUser,
            "host":
            kCFPreferencesCurrentHost,
        },
        {
            "file":
            os.path.join(home_dir, "Library/Preferences/",
                         bundle_id + ".plist"),
            "domain":
            bundle_id,
            "user":
            kCFPreferencesCurrentUser,
            "host":
            kCFPreferencesAnyHost,
        },
        {
            "file":
            os.path.join(home_dir, "Library/Preferences/ByHost",
                         ".GlobalPreferences.xxxx.plist"),
            "domain":
            ".GlobalPreferences",
            "user":
            kCFPreferencesCurrentUser,
            "host":
            kCFPreferencesCurrentHost,
        },
        {
            "file":
            os.path.join(home_dir, "Library/Preferences",
                         ".GlobalPreferences.plist"),
            "domain":
            ".GlobalPreferences",
            "user":
            kCFPreferencesCurrentUser,
            "host":
            kCFPreferencesAnyHost,
        },
        {
            "file": os.path.join("/Library/Preferences", bundle_id + ".plist"),
            "domain": bundle_id,
            "user": kCFPreferencesAnyUser,
            "host": kCFPreferencesCurrentHost,
        },
        {
            "file": "/Library/Preferences/.GlobalPreferences.plist",
            "domain": ".GlobalPreferences",
            "user": kCFPreferencesAnyUser,
            "host": kCFPreferencesCurrentHost,
        },
    ]
    for level in levels:
        if value == CFPreferencesCopyValue(pref_name, level["domain"],
                                           level["user"], level["host"]):
            return level["file"]
    if value == DEFAULT_PREFS.get(pref_name):
        return "default"
    return "unknown"