Compare commits

..

3 Commits

Author SHA1 Message Date
Ross Scroggs
260f2d3f5c Update chromeschema/chromepolicy commands 2025-06-12 12:54:23 -07:00
Ross Scroggs
475275add7 Update Chrome-Policies.md 2025-06-12 10:26:08 -07:00
Ross Scroggs
d71832096a Bug fixes: whatis, print shareddriveorganizers 2025-06-11 22:19:33 -07:00
6 changed files with 273 additions and 319 deletions

View File

@@ -1,3 +1,9 @@
7.09.05
Improved output of `gam info|show chromeschemas [std]` to more accurately display the schemas.
Fixed bugs in `gam update chromepolicy` that caused invalid error messaages.
7.09.04 7.09.04
Fixed bug in `gam whatis <EmailItem>` where the check for an invitable user always failed. Fixed bug in `gam whatis <EmailItem>` where the check for an invitable user always failed.

View File

@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
""" """
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>' __author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
__version__ = '7.09.04' __version__ = '7.09.05'
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)' __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
#pylint: disable=wrong-import-position #pylint: disable=wrong-import-position
@@ -12353,7 +12353,8 @@ def checkServiceAccount(users):
Ind.Increment() Ind.Increment()
try: try:
key = callGAPI(iam.projects().serviceAccounts().keys(), 'get', key = callGAPI(iam.projects().serviceAccounts().keys(), 'get',
throwReasons=[GAPI.BAD_REQUEST, GAPI.INVALID, GAPI.NOT_FOUND, GAPI.PERMISSION_DENIED], throwReasons=[GAPI.BAD_REQUEST, GAPI.INVALID, GAPI.NOT_FOUND,
GAPI.PERMISSION_DENIED, GAPI.SERVICE_NOT_AVAILABLE],
name=name, fields='validAfterTime') name=name, fields='validAfterTime')
key_created, _ = iso8601.parse_date(key['validAfterTime']) key_created, _ = iso8601.parse_date(key['validAfterTime'])
key_age = todaysTime()-key_created key_age = todaysTime()-key_created
@@ -12366,6 +12367,10 @@ def checkServiceAccount(users):
Ent.SVCACCT, GM.Globals[GM.OAUTH2SERVICE_JSON_DATA]['client_email']], Ent.SVCACCT, GM.Globals[GM.OAUTH2SERVICE_JSON_DATA]['client_email']],
str(e)) str(e))
printPassFail(Msg.SERVICE_ACCOUNT_PRIVATE_KEY_AGE.format('UNKNOWN'), testWarn) printPassFail(Msg.SERVICE_ACCOUNT_PRIVATE_KEY_AGE.format('UNKNOWN'), testWarn)
except GAPI.serviceNotAvailable as e:
entityActionFailedExit([Ent.PROJECT, GM.Globals[GM.OAUTH2SERVICE_JSON_DATA]['project_id'],
Ent.SVCACCT, GM.Globals[GM.OAUTH2SERVICE_JSON_DATA]['client_email']],
str(e))
else: else:
printPassFail(Msg.SERVICE_ACCOUNT_SKIPPING_KEY_AGE_CHECK.format(key_type), testPass) printPassFail(Msg.SERVICE_ACCOUNT_SKIPPING_KEY_AGE_CHECK.format(key_type), testPass)
Ind.Decrement() Ind.Decrement()
@@ -28111,27 +28116,21 @@ def commonprefix(m):
return s1[:i] return s1[:i]
return s1 return s1
def simplifyChromeSchema(schema): SCHEMA_TYPE_MESSAGE_MAP = {
schema_name = schema['name'].split('/')[-1] 'NullableDuration': {'type': 'TYPE_INT64', 'namedType': 'duration'},
schema_dict = {'name': schema_name, 'NullableLong': {'type': 'TYPE_INT64', 'namedType': 'value'},
'description': schema.get('policyDescription', ''), 'SystemTimezone': {'type': 'TYPE_STRING', 'namedType': 'value'}
'settings': {}
} }
fieldDescriptions = schema['fieldDescriptions']
savedSettingName = '' def simplifyChromeSchemaUpdate(schema):
savedTypeName = '' schema_name = schema['name'].split('/')[-1]
schema_dict = {'name': schema_name, 'settings': {}}
for mtype in schema['definition']['messageType']: for mtype in schema['definition']['messageType']:
numSettings = len(mtype['field']) if mtype['name'] in SCHEMA_TYPE_MESSAGE_MAP:
continue
for setting in mtype['field']: for setting in mtype['field']:
setting_name = setting['name'] setting_name = setting['name']
setting_dict = {'name': setting_name, setting_dict = {'name': setting_name, 'type': setting['type'], 'namedType': ''}
'constraints': None,
'descriptions': [],
'type': setting['type'],
}
if mtype['name'] == savedTypeName and numSettings == 1:
setting_dict['name'] = savedSettingName
savedTypeName = ''
if setting_dict['type'] == 'TYPE_STRING' and setting.get('label') == 'LABEL_REPEATED': if setting_dict['type'] == 'TYPE_STRING' and setting.get('label') == 'LABEL_REPEATED':
setting_dict['type'] = 'TYPE_LIST' setting_dict['type'] = 'TYPE_LIST'
if setting_dict['type'] == 'TYPE_ENUM': if setting_dict['type'] == 'TYPE_ENUM':
@@ -28142,29 +28141,83 @@ def simplifyChromeSchema(schema):
setting_dict['enum_prefix'] = commonprefix(setting_dict['enums']) setting_dict['enum_prefix'] = commonprefix(setting_dict['enums'])
prefix_len = len(setting_dict['enum_prefix']) prefix_len = len(setting_dict['enum_prefix'])
setting_dict['enums'] = [enum[prefix_len:] for enum in setting_dict['enums'] if not enum.endswith('UNSPECIFIED')] setting_dict['enums'] = [enum[prefix_len:] for enum in setting_dict['enums'] if not enum.endswith('UNSPECIFIED')]
setting_dict['descriptions'] = ['']*len(setting_dict['enums'])
for i, an in enumerate(setting_dict['enums']):
for fdesc in fieldDescriptions:
if fdesc.get('field') == setting_name:
for d in fdesc.get('knownValueDescriptions', []):
if d['value'][prefix_len:] == an:
setting_dict['descriptions'][i] = d.get('description', '')
break
break
break
elif setting_dict['type'] == 'TYPE_MESSAGE': elif setting_dict['type'] == 'TYPE_MESSAGE':
savedSettingName = setting_name type_name = setting['typeName']
savedTypeName = setting['typeName'] if type_name not in SCHEMA_TYPE_MESSAGE_MAP:
continue
setting_dict['type'] = SCHEMA_TYPE_MESSAGE_MAP[type_name]['type']
setting_dict['namedType'] = SCHEMA_TYPE_MESSAGE_MAP[type_name]['namedType']
schema_dict['settings'][setting_name.lower()] = setting_dict
return(schema_name, schema_dict)
def simplifyChromeSchemaDisplay(schema):
schema_name = schema['name'].split('/')[-1]
schema_dict = {'name': schema_name, 'description': schema.get('policyDescription', '')}
fieldDescriptions = schema['fieldDescriptions']
enumDict = {}
for enumType in schema['definition'].get('enumType', []):
enumEntry = {}
enumEntry['enums'] = [enum['name'] for enum in enumType['value']]
enumEntry['enum_prefix'] = commonprefix(enumEntry['enums'])
enumEntry['enum_prefix_len'] = prefix_len = len(enumEntry['enum_prefix'])
enumEntry['enums'] = [enum[prefix_len:] for enum in enumEntry['enums'] if not enum.endswith('UNSPECIFIED')]
enumDict[enumType['name']] = enumEntry.copy()
mesgDict = {}
mesgPops = set()
for mesgType in schema['definition']['messageType']:
mtypeEntry = {'field': {}, 'subfield': False}
for mfield in mesgType['field']:
mfield.pop('number')
mtypeEntry['field'][mfield.pop('name')] = mfield
mesgDict[mesgType['name']] = mtypeEntry.copy()
for _, mtypeEntry in mesgDict.items():
for mfieldName, mfield in mtypeEntry['field'].items():
mfield['descriptions'] = []
if mfield['type'] == 'TYPE_STRING' and mfield.get('label') == 'LABEL_REPEATED':
mfield['type'] = 'TYPE_LIST'
if mfield['type'] == 'TYPE_ENUM':
mfield['subtype'] = enumDict[mfield['typeName']]
for an_enum in schema['definition']['enumType']:
if an_enum['name'] == mfield['typeName']:
mfield['descriptions'] = ['']*len(mfield['subtype']['enums'])
for i, an in enumerate(mfield['subtype']['enums']):
for fdesc in fieldDescriptions:
if fdesc.get('field') == mfieldName:
for d in fdesc.get('knownValueDescriptions', []):
if d['value'][mfield['subtype']['enum_prefix_len']:] == an:
mfield['descriptions'][i] = d.get('description', '')
break
break
break
elif mfield['type'] == 'TYPE_MESSAGE':
subfield = mfield['typeName']
if subfield not in SCHEMA_TYPE_MESSAGE_MAP:
mesgDict[subfield]['subfield'] = True
mfield['subtype'] = mesgDict[subfield]
else:
mfield['type'] = SCHEMA_TYPE_MESSAGE_MAP[subfield]['type']
mesgPops.add(subfield)
continue continue
else: else:
setting_dict['enums'] = None for fdesc in fieldDescriptions:
for fdesc in schema['fieldDescriptions']: if fdesc['field'] == mfieldName:
if fdesc['field'] == setting_name:
if 'knownValueDescriptions' in fdesc: if 'knownValueDescriptions' in fdesc:
setting_dict['descriptions'] = fdesc['knownValueDescriptions'] if isinstance(fdesc['knownValueDescriptions'], list):
for kvd in fdesc['knownValueDescriptions']:
if isinstance(kvd, dict):
if 'description' in kvd:
mfield['descriptions'].append(f"{kvd['value']}: {kvd['description']}")
else:
mfield['descriptions'].append(f"{kvd['value']}")
else:
mfield['descriptions'].extend(kvd)
else:
mfield['descriptions'].append(kvd)
elif 'description' in fdesc: elif 'description' in fdesc:
setting_dict['descriptions'] = [fdesc['description']] mfield['descriptions'].append(fdesc['description'])
schema_dict['settings'][setting_name.lower()] = setting_dict for pfield in mesgPops:
mesgDict.pop(pfield)
schema_dict['settings'] = mesgDict
return(schema_name, schema_dict) return(schema_name, schema_dict)
def _getPolicyOrgUnitTarget(cd, cp, myarg, groupEmail): def _getPolicyOrgUnitTarget(cd, cp, myarg, groupEmail):
@@ -28507,7 +28560,7 @@ def doUpdateChromePolicy():
elif myarg == 'convertcrnl': elif myarg == 'convertcrnl':
convertCRsNLs = True convertCRsNLs = True
else: else:
schemaName, schema = simplifyChromeSchema(_getChromePolicySchema(cp, Cmd.Previous(), '*')) schemaName, schema = simplifyChromeSchemaUpdate(_getChromePolicySchema(cp, Cmd.Previous(), '*'))
body['requests'].append({'policyValue': {'policySchema': schemaName, 'value': {}}, body['requests'].append({'policyValue': {'policySchema': schemaName, 'value': {}},
'updateMask': ''}) 'updateMask': ''})
schemaNameList.append(schemaName) schemaNameList.append(schemaName)
@@ -28593,8 +28646,9 @@ def doUpdateChromePolicy():
if field not in schema['settings']: if field not in schema['settings']:
Cmd.Backup() Cmd.Backup()
missingChoiceExit(schema['settings']) missingChoiceExit(schema['settings'])
casedField = schema['settings'][field]['name'] field_settings = schema['settings'][field]
vtype = schema['settings'][field]['type'] casedField = field_settings['name']
vtype = field_settings['type']
value = getString(Cmd.OB_STRING, minLen=0 if vtype in {'TYPE_STRING', 'TYPE_LIST'} else 1) value = getString(Cmd.OB_STRING, minLen=0 if vtype in {'TYPE_STRING', 'TYPE_LIST'} else 1)
if vtype in ['TYPE_INT64', 'TYPE_INT32', 'TYPE_UINT64']: if vtype in ['TYPE_INT64', 'TYPE_INT32', 'TYPE_UINT64']:
if not value.isnumeric(): if not value.isnumeric():
@@ -28611,8 +28665,8 @@ def doUpdateChromePolicy():
invalidChoiceExit(value, TRUE_FALSE, True) invalidChoiceExit(value, TRUE_FALSE, True)
elif vtype == 'TYPE_ENUM': elif vtype == 'TYPE_ENUM':
value = value.upper() value = value.upper()
prefix = schema['settings'][field]['enum_prefix'] prefix = field_settings['enum_prefix']
enum_values = schema['settings'][field]['enums'] enum_values = field_settings['enums']
if value in enum_values: if value in enum_values:
value = f'{prefix}{value}' value = f'{prefix}{value}'
elif value.replace(prefix, '') in enum_values: elif value.replace(prefix, '') in enum_values:
@@ -28639,6 +28693,9 @@ def doUpdateChromePolicy():
elif value and not CHROME_TARGET_VERSION_PATTERN.match(value): elif value and not CHROME_TARGET_VERSION_PATTERN.match(value):
Cmd.Backup() Cmd.Backup()
invalidArgumentExit(Msg.CHROME_TARGET_VERSION_FORMAT) invalidArgumentExit(Msg.CHROME_TARGET_VERSION_FORMAT)
if field_settings['namedType']:
body['requests'][-1]['policyValue']['value'][casedField] = {field_settings['namedType']: value}
else:
body['requests'][-1]['policyValue']['value'][casedField] = value body['requests'][-1]['policyValue']['value'][casedField] = value
body['requests'][-1]['updateMask'] += f'{casedField},' body['requests'][-1]['updateMask'] += f'{casedField},'
checkPolicyArgs(targetResource, printer_id, app_id) checkPolicyArgs(targetResource, printer_id, app_id)
@@ -28940,7 +28997,9 @@ def _showChromePolicySchema(schema, FJQC, i=0, count=0):
return return
printEntity([Ent.CHROME_POLICY_SCHEMA, schema['name']], i, count) printEntity([Ent.CHROME_POLICY_SCHEMA, schema['name']], i, count)
Ind.Increment() Ind.Increment()
showJSON(None, schema, dictObjectsKey={'messageType': 'name', 'field': 'name', 'fieldDescriptions': 'field'}) showJSON(None, schema,
dictObjectsKey={'messageType': 'name', 'field': 'name',
'fieldDescriptions': 'field', 'knownValueDescriptions': 'value'})
Ind.Decrement() Ind.Decrement()
CHROME_POLICY_SCHEMA_FIELDS_CHOICE_MAP = { CHROME_POLICY_SCHEMA_FIELDS_CHOICE_MAP = {
@@ -29074,31 +29133,35 @@ def doPrintShowChromePolicySchemas():
csvPF.writeCSVfile('Chrome Policy Schemas') csvPF.writeCSVfile('Chrome Policy Schemas')
def _showChromePolicySchemaStd(schema): def _showChromePolicySchemaStd(schema):
printKeyValueList([f'{schema.get("name")}', f'{schema.get("description")}']) def _printEntry(mtypeName, mtypeEntry):
Ind.Increment() vtype = mtypeEntry['type']
for val in schema['settings'].values(): if vtype != 'TYPE_MESSAGE':
vtype = val.get('type') printKeyValueList([f'{mtypeName}', f'{vtype}'])
printKeyValueList([f'{val.get("name")}', f'{vtype}']) else:
printKeyValueList([f'{mtypeName}'])
Ind.Increment() Ind.Increment()
if vtype == 'TYPE_ENUM': if vtype == 'TYPE_ENUM':
enums = val.get('enums', []) enums = mtypeEntry['subtype']['enums']
descriptions = val.get('descriptions', []) descriptions = mtypeEntry['descriptions']
for i in range(len(val.get('enums', []))): for i in range(len(enums)):
printKeyValueList([f'{enums[i]}', f'{descriptions[i]}']) printKeyValueList([f'{enums[i]}', f'{descriptions[i]}'])
elif vtype == 'TYPE_BOOL': elif vtype == 'TYPE_MESSAGE':
pvs = val.get('descriptions') for mfieldName, mfield in mtypeEntry['subtype']['field'].items():
for pvi in pvs: # managedBookmarks is recursive
if isinstance(pvi, dict): if mtypeName != 'entries':
pvalue = pvi.get('value') _printEntry(mfieldName, mfield)
pdescription = pvi.get('description')
printKeyValueList([f'{pvalue}', f'{pdescription}'])
elif isinstance(pvi, list):
printKeyValueList([f'{pvi[0]}'])
else: else:
description = val.get('descriptions') for description in mtypeEntry.get('descriptions', []):
if len(description) > 0: printKeyValueList([description])
printKeyValueList([f'{description[0]}'])
Ind.Decrement() Ind.Decrement()
printKeyValueList([f'{schema.get("name")}', f'{schema.get("description")}'])
Ind.Increment()
for _, mtypeEntry in schema['settings'].items():
if mtypeEntry['subfield']:
continue
for mfieldName, mfield in mtypeEntry['field'].items():
_printEntry(mfieldName, mfield)
Ind.Decrement() Ind.Decrement()
# gam info chromeschema std <SchemaName> # gam info chromeschema std <SchemaName>
@@ -29109,7 +29172,7 @@ def doInfoChromePolicySchemasStd(cp):
schema = callGAPI(cp.customers().policySchemas(), 'get', schema = callGAPI(cp.customers().policySchemas(), 'get',
throwReasons=[GAPI.NOT_FOUND, GAPI.BAD_REQUEST, GAPI.FORBIDDEN], throwReasons=[GAPI.NOT_FOUND, GAPI.BAD_REQUEST, GAPI.FORBIDDEN],
name=name) name=name)
_, schema_dict = simplifyChromeSchema(schema) _, schema_dict = simplifyChromeSchemaDisplay(schema)
_showChromePolicySchemaStd(schema_dict) _showChromePolicySchemaStd(schema_dict)
except GAPI.notFound: except GAPI.notFound:
entityUnknownWarning(Ent.CHROME_POLICY_SCHEMA, name) entityUnknownWarning(Ent.CHROME_POLICY_SCHEMA, name)
@@ -29131,7 +29194,7 @@ def doShowChromePolicySchemasStd(cp):
parent=parent, filter=sfilter) parent=parent, filter=sfilter)
schemas = {} schemas = {}
for schema in result: for schema in result:
schema_name, schema_dict = simplifyChromeSchema(schema) schema_name, schema_dict = simplifyChromeSchemaDisplay(schema)
schemas[schema_name.lower()] = schema_dict schemas[schema_name.lower()] = schema_dict
for _, schema in sorted(iter(schemas.items())): for _, schema in sorted(iter(schemas.items())):
_showChromePolicySchemaStd(schema) _showChromePolicySchemaStd(schema)
@@ -66178,11 +66241,7 @@ def printSharedDriveOrganizers(users, useDomainAdminAccess=False):
showNoOrganizerDrives = SHOW_NO_PERMISSIONS_DRIVES_CHOICE_MAP['false'] showNoOrganizerDrives = SHOW_NO_PERMISSIONS_DRIVES_CHOICE_MAP['false']
fieldsList = ['role', 'type', 'emailAddress'] fieldsList = ['role', 'type', 'emailAddress']
cd = entityList = orgUnitId = query = matchPattern = None cd = entityList = orgUnitId = query = matchPattern = None
domainList = set() domainList = set([(GC.Values[GC.DOMAIN] if GC.Values[GC.DOMAIN] else _getValueFromOAuth('hd'))])
if GC.Values[GC.DOMAIN]:
domainList.add(GC.Values[GC.DOMAIN])
else:
domainList.add(GM.Globals[GM.DECODED_ID_TOKEN].get('hd', 'UNKNOWN').lower())
oneOrganizer = True oneOrganizer = True
while Cmd.ArgumentsRemaining(): while Cmd.ArgumentsRemaining():
myarg = getArgument() myarg = getArgument()

View File

@@ -603,8 +603,7 @@ chrome.devices.DeviceAllowEnterpriseRemoteAccessConnections: Enterprise remote a
false: Prevent remote access connections from enterprise admins. false: Prevent remote access connections from enterprise admins.
chrome.devices.DeviceAuthenticationFlowAutoReloadInterval: Automatic online sign-in / lock screen refresh. chrome.devices.DeviceAuthenticationFlowAutoReloadInterval: Automatic online sign-in / lock screen refresh.
deviceAuthenticationFlowAutoReloadInterval deviceAuthenticationFlowAutoReloadInterval: TYPE_INT64
duration: TYPE_INT64
chrome.devices.DeviceAuthenticationUrlAllowlist: Blocked URL exceptions on the sign-in / lock screens. chrome.devices.DeviceAuthenticationUrlAllowlist: Blocked URL exceptions on the sign-in / lock screens.
deviceAuthenticationUrlAllowlist: TYPE_LIST deviceAuthenticationUrlAllowlist: TYPE_LIST
@@ -846,10 +845,8 @@ chrome.devices.DeviceScreensaverLoginScreenEnabled: Screen saver.
false: Don't display screen saver when idle. false: Don't display screen saver when idle.
deviceScreensaverLoginScreenImages: TYPE_LIST deviceScreensaverLoginScreenImages: TYPE_LIST
Screen saver image URLs. Enter one URL per line. Images must be in JPG format(.jpg or .jpeg files. Screen saver image URLs. Enter one URL per line. Images must be in JPG format(.jpg or .jpeg files.
deviceScreensaverLoginScreenIdleTimeoutSeconds deviceScreensaverLoginScreenIdleTimeoutSeconds: TYPE_INT64
duration: TYPE_INT64 deviceScreensaverLoginScreenImageDisplayIntervalSeconds: TYPE_INT64
deviceScreensaverLoginScreenImageDisplayIntervalSeconds
duration: TYPE_INT64
chrome.devices.DeviceScreenSettings: Screen settings. chrome.devices.DeviceScreenSettings: Screen settings.
allowUserDisplayChanges: TYPE_BOOL allowUserDisplayChanges: TYPE_BOOL
@@ -1042,16 +1039,13 @@ chrome.devices.EnableReportDeviceUsers: Report device user tracking.
false: Disable tracking recent users. false: Disable tracking recent users.
chrome.devices.EnableReportUploadFrequency: Device status report upload frequency. chrome.devices.EnableReportUploadFrequency: Device status report upload frequency.
reportDeviceUploadFrequency reportDeviceUploadFrequency: TYPE_INT64
duration: TYPE_STRING
chrome.devices.EnableReportUploadFrequencyV2: Device status report upload frequency. chrome.devices.EnableReportUploadFrequencyV2: Device status report upload frequency.
reportDeviceUploadFrequency reportDeviceUploadFrequency: TYPE_INT64
duration: TYPE_INT64
chrome.devices.ExtensionCacheSize: Apps and extensions cache size. chrome.devices.ExtensionCacheSize: Apps and extensions cache size.
extensionCacheSize extensionCacheSize: TYPE_INT64
value: TYPE_INT64
chrome.devices.ForcedReenrollment: Forced re-enrollment. chrome.devices.ForcedReenrollment: Forced re-enrollment.
reenrollmentMode: TYPE_ENUM reenrollmentMode: TYPE_ENUM
@@ -1101,34 +1095,26 @@ chrome.devices.kiosk.AccessibilityShortcutsEnabled: Kiosk accessibility shortcut
ACCESSIBILITY_ENABLED: Enable accessibility shortcuts. ACCESSIBILITY_ENABLED: Enable accessibility shortcuts.
chrome.devices.kiosk.AcPowerSettings: AC Kiosk power settings. chrome.devices.kiosk.AcPowerSettings: AC Kiosk power settings.
acIdleTimeout acIdleTimeout: TYPE_INT64
duration: TYPE_STRING acWarningTimeout: TYPE_INT64
acWarningTimeout
duration: TYPE_STRING
acIdleAction: TYPE_ENUM acIdleAction: TYPE_ENUM
IDLE_ACTION_SUSPEND: Sleep. IDLE_ACTION_SUSPEND: Sleep.
IDLE_ACTION_LOGOUT: Logout. IDLE_ACTION_LOGOUT: Logout.
IDLE_ACTION_SHUTDOWN: Shutdown. IDLE_ACTION_SHUTDOWN: Shutdown.
IDLE_ACTION_DO_NOTHING: Do nothing. IDLE_ACTION_DO_NOTHING: Do nothing.
acDimTimeout acDimTimeout: TYPE_INT64
duration: TYPE_STRING acScreenOffTimeout: TYPE_INT64
acScreenOffTimeout
duration: TYPE_STRING
chrome.devices.kiosk.AcPowerSettingsV2: AC Kiosk power settings. chrome.devices.kiosk.AcPowerSettingsV2: AC Kiosk power settings.
acIdleTimeout acIdleTimeout: TYPE_INT64
duration: TYPE_INT64 acWarningTimeout: TYPE_INT64
acWarningTimeout
duration: TYPE_INT64
acIdleAction: TYPE_ENUM acIdleAction: TYPE_ENUM
IDLE_ACTION_SUSPEND: Sleep. IDLE_ACTION_SUSPEND: Sleep.
IDLE_ACTION_LOGOUT: Logout. IDLE_ACTION_LOGOUT: Logout.
IDLE_ACTION_SHUTDOWN: Shutdown. IDLE_ACTION_SHUTDOWN: Shutdown.
IDLE_ACTION_DO_NOTHING: Do nothing. IDLE_ACTION_DO_NOTHING: Do nothing.
acDimTimeout acDimTimeout: TYPE_INT64
duration: TYPE_INT64 acScreenOffTimeout: TYPE_INT64
acScreenOffTimeout
duration: TYPE_INT64
chrome.devices.kiosk.Alerting: Kiosk device status alerting delivery. chrome.devices.kiosk.Alerting: Kiosk device status alerting delivery.
deviceStatusAlertDeliveryModes: TYPE_LIST deviceStatusAlertDeliveryModes: TYPE_LIST
@@ -1217,34 +1203,26 @@ chrome.devices.kiosk.AutoclickEnabled: Kiosk auto-click enabled.
ACCESSIBILITY_ENABLED: Enable auto-click. ACCESSIBILITY_ENABLED: Enable auto-click.
chrome.devices.kiosk.BatteryPowerSettings: Battery Kiosk power settings. chrome.devices.kiosk.BatteryPowerSettings: Battery Kiosk power settings.
batteryIdleTimeout batteryIdleTimeout: TYPE_INT64
duration: TYPE_STRING batteryWarningTimeout: TYPE_INT64
batteryWarningTimeout
duration: TYPE_STRING
batteryIdleAction: TYPE_ENUM batteryIdleAction: TYPE_ENUM
IDLE_ACTION_SUSPEND: Sleep. IDLE_ACTION_SUSPEND: Sleep.
IDLE_ACTION_LOGOUT: Logout. IDLE_ACTION_LOGOUT: Logout.
IDLE_ACTION_SHUTDOWN: Shutdown. IDLE_ACTION_SHUTDOWN: Shutdown.
IDLE_ACTION_DO_NOTHING: Do nothing. IDLE_ACTION_DO_NOTHING: Do nothing.
batteryDimTimeout batteryDimTimeout: TYPE_INT64
duration: TYPE_STRING batteryScreenOffTimeout: TYPE_INT64
batteryScreenOffTimeout
duration: TYPE_STRING
chrome.devices.kiosk.BatteryPowerSettingsV2: Battery Kiosk power settings. chrome.devices.kiosk.BatteryPowerSettingsV2: Battery Kiosk power settings.
batteryIdleTimeout batteryIdleTimeout: TYPE_INT64
duration: TYPE_INT64 batteryWarningTimeout: TYPE_INT64
batteryWarningTimeout
duration: TYPE_INT64
batteryIdleAction: TYPE_ENUM batteryIdleAction: TYPE_ENUM
IDLE_ACTION_SUSPEND: Sleep. IDLE_ACTION_SUSPEND: Sleep.
IDLE_ACTION_LOGOUT: Logout. IDLE_ACTION_LOGOUT: Logout.
IDLE_ACTION_SHUTDOWN: Shutdown. IDLE_ACTION_SHUTDOWN: Shutdown.
IDLE_ACTION_DO_NOTHING: Do nothing. IDLE_ACTION_DO_NOTHING: Do nothing.
batteryDimTimeout batteryDimTimeout: TYPE_INT64
duration: TYPE_INT64 batteryScreenOffTimeout: TYPE_INT64
batteryScreenOffTimeout
duration: TYPE_INT64
chrome.devices.kiosk.CaretHighlightEnabled: Kiosk caret highlight. chrome.devices.kiosk.CaretHighlightEnabled: Kiosk caret highlight.
caretHighlightEnabled: TYPE_ENUM caretHighlightEnabled: TYPE_ENUM
@@ -2481,40 +2459,24 @@ chrome.devices.managedguest.BrowserHistory: Browser history.
false: Always save browser history. false: Always save browser history.
chrome.devices.managedguest.BrowsingDataLifetime: Browsing Data Lifetime. chrome.devices.managedguest.BrowsingDataLifetime: Browsing Data Lifetime.
browsingHistoryTtl browsingHistoryTtl: TYPE_INT64
duration: TYPE_STRING downloadHistoryTtl: TYPE_INT64
downloadHistoryTtl cookiesAndOtherSiteDataTtl: TYPE_INT64
duration: TYPE_STRING cachedImagesAndFilesTtl: TYPE_INT64
cookiesAndOtherSiteDataTtl passwordSigninTtl: TYPE_INT64
duration: TYPE_STRING autofillTtl: TYPE_INT64
cachedImagesAndFilesTtl siteSettingsTtl: TYPE_INT64
duration: TYPE_STRING hostedAppDataTtl: TYPE_INT64
passwordSigninTtl
duration: TYPE_STRING
autofillTtl
duration: TYPE_STRING
siteSettingsTtl
duration: TYPE_STRING
hostedAppDataTtl
duration: TYPE_STRING
chrome.devices.managedguest.BrowsingDataLifetimeV2: Browsing Data Lifetime. chrome.devices.managedguest.BrowsingDataLifetimeV2: Browsing Data Lifetime.
browsingHistoryTtl browsingHistoryTtl: TYPE_INT64
duration: TYPE_INT64 downloadHistoryTtl: TYPE_INT64
downloadHistoryTtl cookiesAndOtherSiteDataTtl: TYPE_INT64
duration: TYPE_INT64 cachedImagesAndFilesTtl: TYPE_INT64
cookiesAndOtherSiteDataTtl passwordSigninTtl: TYPE_INT64
duration: TYPE_INT64 autofillTtl: TYPE_INT64
cachedImagesAndFilesTtl siteSettingsTtl: TYPE_INT64
duration: TYPE_INT64 hostedAppDataTtl: TYPE_INT64
passwordSigninTtl
duration: TYPE_INT64
autofillTtl
duration: TYPE_INT64
siteSettingsTtl
duration: TYPE_INT64
hostedAppDataTtl
duration: TYPE_INT64
chrome.devices.managedguest.BuiltInDnsClientEnabled: Built-in DNS client. chrome.devices.managedguest.BuiltInDnsClientEnabled: Built-in DNS client.
builtInDnsClientEnabled: TYPE_ENUM builtInDnsClientEnabled: TYPE_ENUM
@@ -3009,36 +2971,26 @@ chrome.devices.managedguest.IdleSettingsExtended: Idle settings.
LOGOUT: Logout. LOGOUT: Logout.
SHUTDOWN: Shutdown. SHUTDOWN: Shutdown.
DO_NOTHING: Do nothing. DO_NOTHING: Do nothing.
idleDelayAc idleDelayAc: TYPE_INT64
duration: TYPE_INT64 idleWarningDelayAc: TYPE_INT64
idleWarningDelayAc
duration: TYPE_INT64
idleActionAc: TYPE_ENUM idleActionAc: TYPE_ENUM
SLEEP: Sleep. SLEEP: Sleep.
LOGOUT: Logout. LOGOUT: Logout.
SHUTDOWN: Shut down. SHUTDOWN: Shut down.
DO_NOTHING: Do nothing. DO_NOTHING: Do nothing.
screenDimDelayAc screenDimDelayAc: TYPE_INT64
duration: TYPE_INT64 screenOffDelayAc: TYPE_INT64
screenOffDelayAc screenLockDelayAc: TYPE_INT64
duration: TYPE_INT64 idleDelayBattery: TYPE_INT64
screenLockDelayAc idleWarningDelayBattery: TYPE_INT64
duration: TYPE_INT64
idleDelayBattery
duration: TYPE_INT64
idleWarningDelayBattery
duration: TYPE_INT64
idleActionBattery: TYPE_ENUM idleActionBattery: TYPE_ENUM
SLEEP: Sleep. SLEEP: Sleep.
LOGOUT: Logout. LOGOUT: Logout.
SHUTDOWN: Shut down. SHUTDOWN: Shut down.
DO_NOTHING: Do nothing. DO_NOTHING: Do nothing.
screenDimDelayBattery screenDimDelayBattery: TYPE_INT64
duration: TYPE_INT64 screenOffDelayBattery: TYPE_INT64
screenOffDelayBattery screenLockDelayBattery: TYPE_INT64
duration: TYPE_INT64
screenLockDelayBattery
duration: TYPE_INT64
lockOnSleepOrLidClose: TYPE_ENUM lockOnSleepOrLidClose: TYPE_ENUM
UNSET: Allow user to configure. UNSET: Allow user to configure.
FALSE: Don't lock screen. FALSE: Don't lock screen.
@@ -3238,12 +3190,10 @@ chrome.devices.managedguest.ManagedGuestSessionV2: Managed guest session.
ROTATE_270: 270 degrees. ROTATE_270: 270 degrees.
chrome.devices.managedguest.MaxInvalidationFetchDelay: Policy fetch delay. chrome.devices.managedguest.MaxInvalidationFetchDelay: Policy fetch delay.
maxInvalidationFetchDelay maxInvalidationFetchDelay: TYPE_INT64
duration: TYPE_STRING
chrome.devices.managedguest.MaxInvalidationFetchDelayV2: Policy fetch delay. chrome.devices.managedguest.MaxInvalidationFetchDelayV2: Policy fetch delay.
maxInvalidationFetchDelay maxInvalidationFetchDelay: TYPE_INT64
duration: TYPE_INT64
chrome.devices.managedguest.MemorySaverModeSavings: Memory saver. chrome.devices.managedguest.MemorySaverModeSavings: Memory saver.
memorySaverModeSavings: TYPE_ENUM memorySaverModeSavings: TYPE_ENUM
@@ -3451,8 +3401,7 @@ chrome.devices.managedguest.PrintingBackgroundGraphicsDefault: Background graphi
ENABLED: Enable background graphics printing mode by default. ENABLED: Enable background graphics printing mode by default.
chrome.devices.managedguest.PrintingMaxSheetsAllowed: Maximum sheets. chrome.devices.managedguest.PrintingMaxSheetsAllowed: Maximum sheets.
printingMaxSheetsAllowedNullable printingMaxSheetsAllowedNullable: TYPE_INT64
value: TYPE_INT64
chrome.devices.managedguest.PrintingPaperSizeDefault: Default printing page size. chrome.devices.managedguest.PrintingPaperSizeDefault: Default printing page size.
printingPaperSizeEnum: TYPE_ENUM printingPaperSizeEnum: TYPE_ENUM
@@ -3474,19 +3423,16 @@ chrome.devices.managedguest.PrintingPinDefault: Default PIN printing mode.
DEFAULT_TO_NOT_PIN_PRINTING: Without PIN. DEFAULT_TO_NOT_PIN_PRINTING: Without PIN.
chrome.devices.managedguest.PrintJobHistoryExpirationPeriodNew: Print job history retention period. chrome.devices.managedguest.PrintJobHistoryExpirationPeriodNew: Print job history retention period.
printJobHistoryExpirationPeriodDaysNew printJobHistoryExpirationPeriodDaysNew: TYPE_INT64
duration: TYPE_STRING
chrome.devices.managedguest.PrintJobHistoryExpirationPeriodNewV2: Print job history retention period. chrome.devices.managedguest.PrintJobHistoryExpirationPeriodNewV2: Print job history retention period.
printJobHistoryExpirationPeriodDaysNew printJobHistoryExpirationPeriodDaysNew: TYPE_INT64
duration: TYPE_INT64
chrome.devices.managedguest.PrintPdfAsImage: Print PDF as image. chrome.devices.managedguest.PrintPdfAsImage: Print PDF as image.
printPdfAsImageAvailability: TYPE_BOOL printPdfAsImageAvailability: TYPE_BOOL
true: Allow users to print PDF documents as images. true: Allow users to print PDF documents as images.
false: Do not allow users to print PDF documents as images. false: Do not allow users to print PDF documents as images.
printRasterizePdfDpi printRasterizePdfDpi: TYPE_INT64
value: TYPE_INT64
printPdfAsImageDefault: TYPE_BOOL printPdfAsImageDefault: TYPE_BOOL
true: Default to printing PDFs as images when available. true: Default to printing PDFs as images when available.
false: Default to printing PDFs without being rasterized. false: Default to printing PDFs without being rasterized.
@@ -3547,8 +3493,7 @@ chrome.devices.managedguest.RemoteAccessHostClientDomainList: Remote access clie
Remote access client domain. Configure the required domain names for remote access clients. Remote access client domain. Configure the required domain names for remote access clients.
chrome.devices.managedguest.RemoteAccessHostClipboardSizeBytes: Clipboard sync max size. chrome.devices.managedguest.RemoteAccessHostClipboardSizeBytes: Clipboard sync max size.
remoteAccessHostClipboardSizeBytes remoteAccessHostClipboardSizeBytes: TYPE_INT64
value: TYPE_INT64
chrome.devices.managedguest.RemoteAccessHostDomainList: Remote access hosts. chrome.devices.managedguest.RemoteAccessHostDomainList: Remote access hosts.
remoteAccessHostDomainList: TYPE_LIST remoteAccessHostDomainList: TYPE_LIST
@@ -3658,10 +3603,8 @@ chrome.devices.managedguest.ScreensaverLockScreenEnabled: Screen saver.
screensaverLockScreenEnabled: TYPE_BOOL screensaverLockScreenEnabled: TYPE_BOOL
true: Display screen saver on lock screen when idle. true: Display screen saver on lock screen when idle.
false: Don't display screen saver on lock screen when idle. false: Don't display screen saver on lock screen when idle.
screensaverLockScreenIdleTimeoutSeconds screensaverLockScreenIdleTimeoutSeconds: TYPE_INT64
duration: TYPE_INT64 screensaverLockScreenImageDisplayIntervalSeconds: TYPE_INT64
screensaverLockScreenImageDisplayIntervalSeconds
duration: TYPE_INT64
screensaverLockScreenImages: TYPE_LIST screensaverLockScreenImages: TYPE_LIST
Screen saver image URLs. Enter one URL per line. Images must be in JPG format(.jpg or .jpeg files. Screen saver image URLs. Enter one URL per line. Images must be in JPG format(.jpg or .jpeg files.
@@ -3689,16 +3632,14 @@ chrome.devices.managedguest.SecurityTokenSessionSettings: Security token removal
IGNORE: Nothing. IGNORE: Nothing.
LOGOUT: Log the user out. LOGOUT: Log the user out.
LOCK: Lock the current session. LOCK: Lock the current session.
securityTokenSessionNotificationSeconds securityTokenSessionNotificationSeconds: TYPE_INT64
duration: TYPE_STRING
chrome.devices.managedguest.SecurityTokenSessionSettingsV2: Security token removal. chrome.devices.managedguest.SecurityTokenSessionSettingsV2: Security token removal.
securityTokenSessionBehavior: TYPE_ENUM securityTokenSessionBehavior: TYPE_ENUM
IGNORE: Nothing. IGNORE: Nothing.
LOGOUT: Log the user out. LOGOUT: Log the user out.
LOCK: Lock the current session. LOCK: Lock the current session.
securityTokenSessionNotificationSeconds securityTokenSessionNotificationSeconds: TYPE_INT64
duration: TYPE_INT64
chrome.devices.managedguest.SelectToSpeakEnabled: Select to speak. chrome.devices.managedguest.SelectToSpeakEnabled: Select to speak.
selectToSpeakEnabled: TYPE_ENUM selectToSpeakEnabled: TYPE_ENUM
@@ -3723,12 +3664,10 @@ chrome.devices.managedguest.ServiceWorkerToControlSrcdocIframeEnabled: Service w
false: Block service workers from controlling srcdoc iframes. false: Block service workers from controlling srcdoc iframes.
chrome.devices.managedguest.SessionLength: Maximum user session length. chrome.devices.managedguest.SessionLength: Maximum user session length.
sessionDurationLimit sessionDurationLimit: TYPE_INT64
duration: TYPE_STRING
chrome.devices.managedguest.SessionLengthV2: Maximum user session length. chrome.devices.managedguest.SessionLengthV2: Maximum user session length.
sessionDurationLimit sessionDurationLimit: TYPE_INT64
duration: TYPE_INT64
chrome.devices.managedguest.SessionLocale: Session locale. chrome.devices.managedguest.SessionLocale: Session locale.
sessionLocalesRepeatedString: TYPE_LIST sessionLocalesRepeatedString: TYPE_LIST
@@ -4361,12 +4300,10 @@ chrome.devices.RestrictedManagedGuestSessionExtensionCleanupExemptList: Shared a
Extension IDs. Enter a list of extension IDs. Each extension ID must be exactly 32 characters. Extension IDs. Enter a list of extension IDs. Each extension ID must be exactly 32 characters.
chrome.devices.ScheduledRebootDuration: Reboot after uptime limit. chrome.devices.ScheduledRebootDuration: Reboot after uptime limit.
uptimeLimitDuration uptimeLimitDuration: TYPE_INT64
duration: TYPE_STRING
chrome.devices.ScheduledRebootDurationV2: Reboot after uptime limit. chrome.devices.ScheduledRebootDurationV2: Reboot after uptime limit.
uptimeLimitDuration uptimeLimitDuration: TYPE_INT64
duration: TYPE_INT64
chrome.devices.ShowLowDiskSpaceNotification: Low disk space notification. chrome.devices.ShowLowDiskSpaceNotification: Low disk space notification.
showLowDiskSpaceNotification: TYPE_BOOL showLowDiskSpaceNotification: TYPE_BOOL
@@ -4519,8 +4456,7 @@ chrome.devices.ThrottleDeviceBandwidth: Throttle device bandwidth.
Upload rate (kbits). Sets the maximum upload rate if network bandwidth throttling is enabled on a ChromeOS device. Upload rate (kbits). Sets the maximum upload rate if network bandwidth throttling is enabled on a ChromeOS device.
chrome.devices.Timezone: Timezone. chrome.devices.Timezone: Timezone.
systemTimezone systemTimezone: TYPE_STRING
value: TYPE_STRING
timezoneDetectionType: TYPE_ENUM timezoneDetectionType: TYPE_ENUM
USERS_DECIDE: Let users decide. USERS_DECIDE: Let users decide.
DISABLED: Never auto-detect timezone. DISABLED: Never auto-detect timezone.
@@ -6518,12 +6454,10 @@ chrome.users.AutoplayAllowlist: Autoplay video.
Allowed URLs. URL patterns allowed to autoplay. Prefix domain with [*.] to include all subdomains. Use * to allow all domains. Allowed URLs. URL patterns allowed to autoplay. Prefix domain with [*.] to include all subdomains. Use * to allow all domains.
chrome.users.AutoUpdateCheckPeriodNew: Auto-update check period. chrome.users.AutoUpdateCheckPeriodNew: Auto-update check period.
autoUpdateCheckPeriodMinutesNew autoUpdateCheckPeriodMinutesNew: TYPE_INT64
duration: TYPE_STRING
chrome.users.AutoUpdateCheckPeriodNewV2: Auto-update check period. chrome.users.AutoUpdateCheckPeriodNewV2: Auto-update check period.
autoUpdateCheckPeriodMinutesNew autoUpdateCheckPeriodMinutesNew: TYPE_INT64
duration: TYPE_INT64
chrome.users.Avatar: Custom avatar. chrome.users.Avatar: Custom avatar.
userAvatarImage userAvatarImage
@@ -6608,8 +6542,7 @@ chrome.users.BrowserHistory: Browser history.
false: Always save browser history. false: Always save browser history.
chrome.users.BrowserIdleTimeout: Browser idle timeout. chrome.users.BrowserIdleTimeout: Browser idle timeout.
idleTimeout idleTimeout: TYPE_INT64
duration: TYPE_INT64
idleTimeoutActions: TYPE_LIST idleTimeoutActions: TYPE_LIST
close_browsers: Close Browsers. close_browsers: Close Browsers.
show_profile_picker: Show Profile Picker. show_profile_picker: Show Profile Picker.
@@ -6658,12 +6591,10 @@ chrome.users.BrowserSwitcherChromePath: Chrome path.
Path to the Chrome executable. Windows-only. Path to the Chrome executable to launch when switching from the alternative browser to Chrome. If unset, the alternative browser will auto-detect the path to Chrome. Path to the Chrome executable. Windows-only. Path to the Chrome executable to launch when switching from the alternative browser to Chrome. If unset, the alternative browser will auto-detect the path to Chrome.
chrome.users.BrowserSwitcherDelayDuration: Delay before launching alternative browser. chrome.users.BrowserSwitcherDelayDuration: Delay before launching alternative browser.
browserSwitcherDelayDuration browserSwitcherDelayDuration: TYPE_INT64
duration: TYPE_STRING
chrome.users.BrowserSwitcherDelayDurationV2: Delay before launching alternative browser. chrome.users.BrowserSwitcherDelayDurationV2: Delay before launching alternative browser.
browserSwitcherDelayDuration browserSwitcherDelayDuration: TYPE_INT64
duration: TYPE_INT64
chrome.users.BrowserSwitcherExternalGreylistUrl: URL to list of websites to open in either browser. chrome.users.BrowserSwitcherExternalGreylistUrl: URL to list of websites to open in either browser.
browserSwitcherExternalGreylistUrl: TYPE_STRING browserSwitcherExternalGreylistUrl: TYPE_STRING
@@ -6701,40 +6632,24 @@ chrome.users.BrowserThemeColor: Custom theme color.
Hex color. Enter a valid hex color, for instance #FFFFFF. Hex color. Enter a valid hex color, for instance #FFFFFF.
chrome.users.BrowsingDataLifetime: Browsing Data Lifetime. chrome.users.BrowsingDataLifetime: Browsing Data Lifetime.
browsingHistoryTtl browsingHistoryTtl: TYPE_INT64
duration: TYPE_STRING downloadHistoryTtl: TYPE_INT64
downloadHistoryTtl cookiesAndOtherSiteDataTtl: TYPE_INT64
duration: TYPE_STRING cachedImagesAndFilesTtl: TYPE_INT64
cookiesAndOtherSiteDataTtl passwordSigninTtl: TYPE_INT64
duration: TYPE_STRING autofillTtl: TYPE_INT64
cachedImagesAndFilesTtl siteSettingsTtl: TYPE_INT64
duration: TYPE_STRING hostedAppDataTtl: TYPE_INT64
passwordSigninTtl
duration: TYPE_STRING
autofillTtl
duration: TYPE_STRING
siteSettingsTtl
duration: TYPE_STRING
hostedAppDataTtl
duration: TYPE_STRING
chrome.users.BrowsingDataLifetimeV2: Browsing Data Lifetime. chrome.users.BrowsingDataLifetimeV2: Browsing Data Lifetime.
browsingHistoryTtl browsingHistoryTtl: TYPE_INT64
duration: TYPE_INT64 downloadHistoryTtl: TYPE_INT64
downloadHistoryTtl cookiesAndOtherSiteDataTtl: TYPE_INT64
duration: TYPE_INT64 cachedImagesAndFilesTtl: TYPE_INT64
cookiesAndOtherSiteDataTtl passwordSigninTtl: TYPE_INT64
duration: TYPE_INT64 autofillTtl: TYPE_INT64
cachedImagesAndFilesTtl siteSettingsTtl: TYPE_INT64
duration: TYPE_INT64 hostedAppDataTtl: TYPE_INT64
passwordSigninTtl
duration: TYPE_INT64
autofillTtl
duration: TYPE_INT64
siteSettingsTtl
duration: TYPE_INT64
hostedAppDataTtl
duration: TYPE_INT64
chrome.users.BuiltInDnsClientEnabled: Built-in DNS client. chrome.users.BuiltInDnsClientEnabled: Built-in DNS client.
builtInDnsClientEnabled: TYPE_ENUM builtInDnsClientEnabled: TYPE_ENUM
@@ -6890,12 +6805,10 @@ chrome.users.CloudReporting: Managed browser reporting.
false: Disable managed browser cloud reporting. false: Disable managed browser cloud reporting.
chrome.users.CloudReportingUploadFrequency: Managed browser reporting upload frequency. chrome.users.CloudReportingUploadFrequency: Managed browser reporting upload frequency.
cloudReportingUploadFrequency cloudReportingUploadFrequency: TYPE_INT64
duration: TYPE_STRING
chrome.users.CloudReportingUploadFrequencyV2: Managed browser reporting upload frequency. chrome.users.CloudReportingUploadFrequencyV2: Managed browser reporting upload frequency.
cloudReportingUploadFrequency cloudReportingUploadFrequency: TYPE_INT64
duration: TYPE_INT64
chrome.users.CloudUserPolicyMerge: User cloud policy merge. chrome.users.CloudUserPolicyMerge: User cloud policy merge.
cloudUserPolicyMerge: TYPE_BOOL cloudUserPolicyMerge: TYPE_BOOL
@@ -7374,12 +7287,10 @@ chrome.users.FElevenKeyModifier: Control the shortcut used to trigger F11.
RECOMMENDED: Allow users to override. RECOMMENDED: Allow users to override.
chrome.users.FetchKeepaliveDurationSecondsOnShutdown: Keepalive duration. chrome.users.FetchKeepaliveDurationSecondsOnShutdown: Keepalive duration.
fetchKeepaliveDurationSecondsOnShutdown fetchKeepaliveDurationSecondsOnShutdown: TYPE_INT64
duration: TYPE_STRING
chrome.users.FetchKeepaliveDurationSecondsOnShutdownV2: Keepalive duration. chrome.users.FetchKeepaliveDurationSecondsOnShutdownV2: Keepalive duration.
fetchKeepaliveDurationSecondsOnShutdown fetchKeepaliveDurationSecondsOnShutdown: TYPE_INT64
duration: TYPE_INT64
chrome.users.FileOrDirectoryPickerWithoutGestureAllowedForOrigins: File/directory picker without user gesture. chrome.users.FileOrDirectoryPickerWithoutGestureAllowedForOrigins: File/directory picker without user gesture.
fileOrDirectoryPickerWithoutGestureAllowedForOrigins: TYPE_LIST fileOrDirectoryPickerWithoutGestureAllowedForOrigins: TYPE_LIST
@@ -7639,12 +7550,10 @@ chrome.users.FullscreenAllowed: Fullscreen mode.
false: Do not allow fullscreen mode. false: Do not allow fullscreen mode.
chrome.users.GaiaLockScreenOfflineSigninTimeLimitDays: Google online unlock frequency. chrome.users.GaiaLockScreenOfflineSigninTimeLimitDays: Google online unlock frequency.
gaiaLockScreenOfflineSigninTimeLimitDays gaiaLockScreenOfflineSigninTimeLimitDays: TYPE_INT64
value: TYPE_INT64
chrome.users.GaiaOfflineSigninTimeLimitDays: Google online login frequency. chrome.users.GaiaOfflineSigninTimeLimitDays: Google online login frequency.
gaiaOfflineSigninTimeLimitDays gaiaOfflineSigninTimeLimitDays: TYPE_INT64
value: TYPE_INT64
chrome.users.GeminiSettings: Gemini integration. chrome.users.GeminiSettings: Gemini integration.
geminiSettings: TYPE_ENUM geminiSettings: TYPE_ENUM
@@ -7812,36 +7721,26 @@ chrome.users.IdleSettingsExtended: Idle settings.
LOGOUT: Logout. LOGOUT: Logout.
SHUTDOWN: Shutdown. SHUTDOWN: Shutdown.
DO_NOTHING: Do nothing. DO_NOTHING: Do nothing.
idleDelayAc idleDelayAc: TYPE_INT64
duration: TYPE_INT64 idleWarningDelayAc: TYPE_INT64
idleWarningDelayAc
duration: TYPE_INT64
idleActionAc: TYPE_ENUM idleActionAc: TYPE_ENUM
SLEEP: Sleep. SLEEP: Sleep.
LOGOUT: Logout. LOGOUT: Logout.
SHUTDOWN: Shut down. SHUTDOWN: Shut down.
DO_NOTHING: Do nothing. DO_NOTHING: Do nothing.
screenDimDelayAc screenDimDelayAc: TYPE_INT64
duration: TYPE_INT64 screenOffDelayAc: TYPE_INT64
screenOffDelayAc screenLockDelayAc: TYPE_INT64
duration: TYPE_INT64 idleDelayBattery: TYPE_INT64
screenLockDelayAc idleWarningDelayBattery: TYPE_INT64
duration: TYPE_INT64
idleDelayBattery
duration: TYPE_INT64
idleWarningDelayBattery
duration: TYPE_INT64
idleActionBattery: TYPE_ENUM idleActionBattery: TYPE_ENUM
SLEEP: Sleep. SLEEP: Sleep.
LOGOUT: Logout. LOGOUT: Logout.
SHUTDOWN: Shut down. SHUTDOWN: Shut down.
DO_NOTHING: Do nothing. DO_NOTHING: Do nothing.
screenDimDelayBattery screenDimDelayBattery: TYPE_INT64
duration: TYPE_INT64 screenOffDelayBattery: TYPE_INT64
screenOffDelayBattery screenLockDelayBattery: TYPE_INT64
duration: TYPE_INT64
screenLockDelayBattery
duration: TYPE_INT64
lockOnSleepOrLidClose: TYPE_ENUM lockOnSleepOrLidClose: TYPE_ENUM
UNSET: Allow user to configure. UNSET: Allow user to configure.
FALSE: Don't lock screen. FALSE: Don't lock screen.
@@ -8199,12 +8098,10 @@ chrome.users.MaxConnectionsPerProxy: Max connections per proxy.
Maximum number of concurrent connections to the proxy server. Specifies the maximal number of simultaneous connections to the proxy server. The value of this policy should be lower than 100 and higher than 6 and the default value is 32. Maximum number of concurrent connections to the proxy server. Specifies the maximal number of simultaneous connections to the proxy server. The value of this policy should be lower than 100 and higher than 6 and the default value is 32.
chrome.users.MaxInvalidationFetchDelay: Policy fetch delay. chrome.users.MaxInvalidationFetchDelay: Policy fetch delay.
maxInvalidationFetchDelay maxInvalidationFetchDelay: TYPE_INT64
duration: TYPE_STRING
chrome.users.MaxInvalidationFetchDelayV2: Policy fetch delay. chrome.users.MaxInvalidationFetchDelayV2: Policy fetch delay.
maxInvalidationFetchDelay maxInvalidationFetchDelay: TYPE_INT64
duration: TYPE_INT64
chrome.users.MediaRecommendationsEnabled: Media Recommendations. chrome.users.MediaRecommendationsEnabled: Media Recommendations.
mediaRecommendationsEnabled: TYPE_BOOL mediaRecommendationsEnabled: TYPE_BOOL
@@ -8678,8 +8575,7 @@ chrome.users.PrintingLpacSandboxEnabled: Printing LPAC Sandbox.
false: Run printing services in a less secure sandbox. false: Run printing services in a less secure sandbox.
chrome.users.PrintingMaxSheetsAllowed: Maximum sheets. chrome.users.PrintingMaxSheetsAllowed: Maximum sheets.
printingMaxSheetsAllowedNullable printingMaxSheetsAllowedNullable: TYPE_INT64
value: TYPE_INT64
chrome.users.PrintingPaperSizeDefault: Default printing page size. chrome.users.PrintingPaperSizeDefault: Default printing page size.
printingPaperSizeEnum: TYPE_ENUM printingPaperSizeEnum: TYPE_ENUM
@@ -8706,19 +8602,16 @@ chrome.users.PrintingSendUsernameAndFilenameEnabled: CUPS Print job information.
false: Do not include user account and filename in print job. false: Do not include user account and filename in print job.
chrome.users.PrintJobHistoryExpirationPeriodNew: Print job history retention period. chrome.users.PrintJobHistoryExpirationPeriodNew: Print job history retention period.
printJobHistoryExpirationPeriodDaysNew printJobHistoryExpirationPeriodDaysNew: TYPE_INT64
duration: TYPE_STRING
chrome.users.PrintJobHistoryExpirationPeriodNewV2: Print job history retention period. chrome.users.PrintJobHistoryExpirationPeriodNewV2: Print job history retention period.
printJobHistoryExpirationPeriodDaysNew printJobHistoryExpirationPeriodDaysNew: TYPE_INT64
duration: TYPE_INT64
chrome.users.PrintPdfAsImage: Print PDF as image. chrome.users.PrintPdfAsImage: Print PDF as image.
printPdfAsImageAvailability: TYPE_BOOL printPdfAsImageAvailability: TYPE_BOOL
true: Allow users to print PDF documents as images. true: Allow users to print PDF documents as images.
false: Do not allow users to print PDF documents as images. false: Do not allow users to print PDF documents as images.
printRasterizePdfDpi printRasterizePdfDpi: TYPE_INT64
value: TYPE_INT64
printPdfAsImageDefault: TYPE_BOOL printPdfAsImageDefault: TYPE_BOOL
true: Default to printing PDFs as images when available. true: Default to printing PDFs as images when available.
false: Default to printing PDFs without being rasterized. false: Default to printing PDFs without being rasterized.
@@ -8861,36 +8754,30 @@ chrome.users.RelaunchNotificationWithDuration: Relaunch notification.
NO_NOTIFICATION: No relaunch notification. NO_NOTIFICATION: No relaunch notification.
RECOMMENDED: Show notification recommending relaunch. RECOMMENDED: Show notification recommending relaunch.
REQUIRED: Force relaunch after a period. REQUIRED: Force relaunch after a period.
relaunchNotificationPeriodDuration relaunchNotificationPeriodDuration: TYPE_INT64
duration: TYPE_STRING relaunchInitialQuietPeriodDuration: TYPE_INT64
relaunchInitialQuietPeriodDuration
duration: TYPE_STRING
relaunchWindowStartTime relaunchWindowStartTime
timeOfDay timeOfDay
hours: TYPE_INT32 hours: TYPE_INT32
minutes: TYPE_INT32 minutes: TYPE_INT32
seconds: TYPE_INT32 seconds: TYPE_INT32
nanos: TYPE_INT32 nanos: TYPE_INT32
relaunchWindowDurationMin relaunchWindowDurationMin: TYPE_INT64
duration: TYPE_STRING
chrome.users.RelaunchNotificationWithDurationV2: Relaunch notification. chrome.users.RelaunchNotificationWithDurationV2: Relaunch notification.
relaunchNotificationEnum: TYPE_ENUM relaunchNotificationEnum: TYPE_ENUM
NO_NOTIFICATION: No relaunch notification. NO_NOTIFICATION: No relaunch notification.
RECOMMENDED: Show notification recommending relaunch. RECOMMENDED: Show notification recommending relaunch.
REQUIRED: Force relaunch after a period. REQUIRED: Force relaunch after a period.
relaunchNotificationPeriodDuration relaunchNotificationPeriodDuration: TYPE_INT64
duration: TYPE_INT64 relaunchInitialQuietPeriodDuration: TYPE_INT64
relaunchInitialQuietPeriodDuration
duration: TYPE_INT64
relaunchWindowStartTime relaunchWindowStartTime
timeOfDay timeOfDay
hours: TYPE_INT32 hours: TYPE_INT32
minutes: TYPE_INT32 minutes: TYPE_INT32
seconds: TYPE_INT32 seconds: TYPE_INT32
nanos: TYPE_INT32 nanos: TYPE_INT32
relaunchWindowDurationMin relaunchWindowDurationMin: TYPE_INT64
duration: TYPE_INT64
chrome.users.RemoteAccessHostAllowEnterpriseRemoteSupportConnections: Enterprise remote support connections. chrome.users.RemoteAccessHostAllowEnterpriseRemoteSupportConnections: Enterprise remote support connections.
remoteAccessHostAllowEnterpriseRemoteSupportConnections: TYPE_BOOL remoteAccessHostAllowEnterpriseRemoteSupportConnections: TYPE_BOOL
@@ -8907,8 +8794,7 @@ chrome.users.RemoteAccessHostClientDomainList: Remote access clients.
Remote access client domain. Configure the required domain names for remote access clients. Remote access client domain. Configure the required domain names for remote access clients.
chrome.users.RemoteAccessHostClipboardSizeBytes: Clipboard sync max size. chrome.users.RemoteAccessHostClipboardSizeBytes: Clipboard sync max size.
remoteAccessHostClipboardSizeBytes remoteAccessHostClipboardSizeBytes: TYPE_INT64
value: TYPE_INT64
chrome.users.RemoteAccessHostDomainList: Remote access hosts. chrome.users.RemoteAccessHostDomainList: Remote access hosts.
remoteAccessHostDomainList: TYPE_LIST remoteAccessHostDomainList: TYPE_LIST
@@ -9033,8 +8919,7 @@ chrome.users.SafeSitesFilterBehavior: SafeSites URL filter.
SAFE_SITES_FILTER_ENABLED: Filter sites for adult content. SAFE_SITES_FILTER_ENABLED: Filter sites for adult content.
chrome.users.SamlLockScreenOfflineSigninTimeLimitDays: SAML single sign-on unlock frequency. chrome.users.SamlLockScreenOfflineSigninTimeLimitDays: SAML single sign-on unlock frequency.
samlLockScreenOfflineSigninTimeLimitDays samlLockScreenOfflineSigninTimeLimitDays: TYPE_INT64
value: TYPE_INT64
chrome.users.SamlLockScreenReauthenticationEnabled: SAML single sign-on password synchronization flows. chrome.users.SamlLockScreenReauthenticationEnabled: SAML single sign-on password synchronization flows.
samlLockScreenReauthenticationEnabled: TYPE_BOOL samlLockScreenReauthenticationEnabled: TYPE_BOOL
@@ -9115,16 +9000,14 @@ chrome.users.SecurityTokenSessionSettings: Security token removal.
IGNORE: Nothing. IGNORE: Nothing.
LOGOUT: Log the user out. LOGOUT: Log the user out.
LOCK: Lock the current session. LOCK: Lock the current session.
securityTokenSessionNotificationSeconds securityTokenSessionNotificationSeconds: TYPE_INT64
duration: TYPE_STRING
chrome.users.SecurityTokenSessionSettingsV2: Security token removal. chrome.users.SecurityTokenSessionSettingsV2: Security token removal.
securityTokenSessionBehavior: TYPE_ENUM securityTokenSessionBehavior: TYPE_ENUM
IGNORE: Nothing. IGNORE: Nothing.
LOGOUT: Log the user out. LOGOUT: Log the user out.
LOCK: Lock the current session. LOCK: Lock the current session.
securityTokenSessionNotificationSeconds securityTokenSessionNotificationSeconds: TYPE_INT64
duration: TYPE_INT64
chrome.users.SelectToSpeakEnabled: Select to speak. chrome.users.SelectToSpeakEnabled: Select to speak.
selectToSpeakEnabled: TYPE_ENUM selectToSpeakEnabled: TYPE_ENUM
@@ -9149,12 +9032,10 @@ chrome.users.ServiceWorkerToControlSrcdocIframeEnabled: Service worker control o
false: Block service workers from controlling srcdoc iframes. false: Block service workers from controlling srcdoc iframes.
chrome.users.SessionLength: Maximum user session length. chrome.users.SessionLength: Maximum user session length.
sessionDurationLimit sessionDurationLimit: TYPE_INT64
duration: TYPE_STRING
chrome.users.SessionLengthV2: Maximum user session length. chrome.users.SessionLengthV2: Maximum user session length.
sessionDurationLimit sessionDurationLimit: TYPE_INT64
duration: TYPE_INT64
chrome.users.SetTimeoutWithoutOneMsClampEnabled: Javascript setTimeout() minimum. chrome.users.SetTimeoutWithoutOneMsClampEnabled: Javascript setTimeout() minimum.
setTimeoutWithoutOneMsClampEnabled: TYPE_ENUM setTimeoutWithoutOneMsClampEnabled: TYPE_ENUM

View File

@@ -10,6 +10,14 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation
### 7.09.04
Fixed bug in `gam whatis <EmailItem>` where the check for an invitable user always failed.
Fixed bug in `gam print shareddriveorganizers` where no organizers were displayed when `domain` in `gam.cfg` was blank.
Updated to Python 3.13.5
### 7.09.03 ### 7.09.03
Updated `gam <UserTypeEntity> create focustime|outofoffice ... timerange <Time> <Time>` to check Updated `gam <UserTypeEntity> create focustime|outofoffice ... timerange <Time> <Time>` to check

View File

@@ -251,9 +251,9 @@ writes the credentials into the file oauth2.txt.
admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt
admin@server:/Users/admin$ gam version admin@server:/Users/admin$ gam version
WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
GAM 7.09.03 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.09.04 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.13.4 64-bit final Python 3.13.5 64-bit final
MacOS Sequoia 15.5 x86_64 MacOS Sequoia 15.5 x86_64
Path: /Users/admin/bin/gam7 Path: /Users/admin/bin/gam7
Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com
@@ -989,9 +989,9 @@ writes the credentials into the file oauth2.txt.
C:\>del C:\GAMConfig\oauth2.txt C:\>del C:\GAMConfig\oauth2.txt
C:\>gam version C:\>gam version
WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
GAM 7.09.03 - https://github.com/GAM-team/GAM - pythonsource GAM 7.09.04 - https://github.com/GAM-team/GAM - pythonsource
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.13.4 64-bit final Python 3.13.5 64-bit final
Windows-10-10.0.17134 AMD64 Windows-10-10.0.17134 AMD64
Path: C:\GAM7 Path: C:\GAM7
Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com

View File

@@ -3,9 +3,9 @@
Print the current version of Gam with details Print the current version of Gam with details
``` ```
gam version gam version
GAM 7.09.03 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.09.04 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.13.4 64-bit final Python 3.13.5 64-bit final
MacOS Sequoia 15.5 x86_64 MacOS Sequoia 15.5 x86_64
Path: /Users/Admin/bin/gam7 Path: /Users/Admin/bin/gam7
Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com
@@ -15,9 +15,9 @@ Time: 2023-06-02T21:10:00-07:00
Print the current version of Gam with details and time offset information Print the current version of Gam with details and time offset information
``` ```
gam version timeoffset gam version timeoffset
GAM 7.09.03 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.09.04 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.13.4 64-bit final Python 3.13.5 64-bit final
MacOS Sequoia 15.5 x86_64 MacOS Sequoia 15.5 x86_64
Path: /Users/Admin/bin/gam7 Path: /Users/Admin/bin/gam7
Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com
@@ -27,9 +27,9 @@ Your system time differs from www.googleapis.com by less than 1 second
Print the current version of Gam with extended details and SSL information Print the current version of Gam with extended details and SSL information
``` ```
gam version extended gam version extended
GAM 7.09.03 - https://github.com/GAM-team/GAM - pyinstaller GAM 7.09.04 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.13.4 64-bit final Python 3.13.5 64-bit final
MacOS Sequoia 15.5 x86_64 MacOS Sequoia 15.5 x86_64
Path: /Users/Admin/bin/gam7 Path: /Users/Admin/bin/gam7
Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com
@@ -64,7 +64,7 @@ MacOS High Sierra 10.13.6 x86_64
Path: /Users/Admin/bin/gam7 Path: /Users/Admin/bin/gam7
Version Check: Version Check:
Current: 5.35.08 Current: 5.35.08
Latest: 7.09.03 Latest: 7.09.04
echo $? echo $?
1 1
``` ```
@@ -72,7 +72,7 @@ echo $?
Print the current version number without details Print the current version number without details
``` ```
gam version simple gam version simple
7.09.03 7.09.04
``` ```
In Linux/MacOS you can do: In Linux/MacOS you can do:
``` ```
@@ -82,9 +82,9 @@ echo $VER
Print the current version of Gam and address of this Wiki Print the current version of Gam and address of this Wiki
``` ```
gam help gam help
GAM 7.09.03 - https://github.com/GAM-team/GAM GAM 7.09.04 - https://github.com/GAM-team/GAM
GAM Team <google-apps-manager@googlegroups.com> GAM Team <google-apps-manager@googlegroups.com>
Python 3.13.4 64-bit final Python 3.13.5 64-bit final
MacOS Sequoia 15.5 x86_64 MacOS Sequoia 15.5 x86_64
Path: /Users/Admin/bin/gam7 Path: /Users/Admin/bin/gam7
Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com