mirror of
https://github.com/GAM-team/GAM.git
synced 2026-06-28 09:51:36 +00:00
Compare commits
3 Commits
v7.09.04
...
20250612.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
260f2d3f5c | ||
|
|
475275add7 | ||
|
|
d71832096a |
@@ -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
|
||||
|
||||
Fixed bug in `gam whatis <EmailItem>` where the check for an invitable user always failed.
|
||||
|
||||
@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
|
||||
"""
|
||||
|
||||
__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)'
|
||||
|
||||
#pylint: disable=wrong-import-position
|
||||
@@ -12353,7 +12353,8 @@ def checkServiceAccount(users):
|
||||
Ind.Increment()
|
||||
try:
|
||||
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')
|
||||
key_created, _ = iso8601.parse_date(key['validAfterTime'])
|
||||
key_age = todaysTime()-key_created
|
||||
@@ -12366,6 +12367,10 @@ def checkServiceAccount(users):
|
||||
Ent.SVCACCT, GM.Globals[GM.OAUTH2SERVICE_JSON_DATA]['client_email']],
|
||||
str(e))
|
||||
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:
|
||||
printPassFail(Msg.SERVICE_ACCOUNT_SKIPPING_KEY_AGE_CHECK.format(key_type), testPass)
|
||||
Ind.Decrement()
|
||||
@@ -28111,27 +28116,21 @@ def commonprefix(m):
|
||||
return s1[:i]
|
||||
return s1
|
||||
|
||||
def simplifyChromeSchema(schema):
|
||||
SCHEMA_TYPE_MESSAGE_MAP = {
|
||||
'NullableDuration': {'type': 'TYPE_INT64', 'namedType': 'duration'},
|
||||
'NullableLong': {'type': 'TYPE_INT64', 'namedType': 'value'},
|
||||
'SystemTimezone': {'type': 'TYPE_STRING', 'namedType': 'value'}
|
||||
}
|
||||
|
||||
def simplifyChromeSchemaUpdate(schema):
|
||||
schema_name = schema['name'].split('/')[-1]
|
||||
schema_dict = {'name': schema_name,
|
||||
'description': schema.get('policyDescription', ''),
|
||||
'settings': {}
|
||||
}
|
||||
fieldDescriptions = schema['fieldDescriptions']
|
||||
savedSettingName = ''
|
||||
savedTypeName = ''
|
||||
schema_dict = {'name': schema_name, 'settings': {}}
|
||||
for mtype in schema['definition']['messageType']:
|
||||
numSettings = len(mtype['field'])
|
||||
if mtype['name'] in SCHEMA_TYPE_MESSAGE_MAP:
|
||||
continue
|
||||
for setting in mtype['field']:
|
||||
setting_name = setting['name']
|
||||
setting_dict = {'name': setting_name,
|
||||
'constraints': None,
|
||||
'descriptions': [],
|
||||
'type': setting['type'],
|
||||
}
|
||||
if mtype['name'] == savedTypeName and numSettings == 1:
|
||||
setting_dict['name'] = savedSettingName
|
||||
savedTypeName = ''
|
||||
setting_dict = {'name': setting_name, 'type': setting['type'], 'namedType': ''}
|
||||
if setting_dict['type'] == 'TYPE_STRING' and setting.get('label') == 'LABEL_REPEATED':
|
||||
setting_dict['type'] = 'TYPE_LIST'
|
||||
if setting_dict['type'] == 'TYPE_ENUM':
|
||||
@@ -28142,29 +28141,83 @@ def simplifyChromeSchema(schema):
|
||||
setting_dict['enum_prefix'] = commonprefix(setting_dict['enums'])
|
||||
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['descriptions'] = ['']*len(setting_dict['enums'])
|
||||
for i, an in enumerate(setting_dict['enums']):
|
||||
elif setting_dict['type'] == 'TYPE_MESSAGE':
|
||||
type_name = 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') == setting_name:
|
||||
if fdesc.get('field') == mfieldName:
|
||||
for d in fdesc.get('knownValueDescriptions', []):
|
||||
if d['value'][prefix_len:] == an:
|
||||
setting_dict['descriptions'][i] = d.get('description', '')
|
||||
if d['value'][mfield['subtype']['enum_prefix_len']:] == an:
|
||||
mfield['descriptions'][i] = d.get('description', '')
|
||||
break
|
||||
break
|
||||
break
|
||||
elif setting_dict['type'] == 'TYPE_MESSAGE':
|
||||
savedSettingName = setting_name
|
||||
savedTypeName = setting['typeName']
|
||||
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
|
||||
else:
|
||||
setting_dict['enums'] = None
|
||||
for fdesc in schema['fieldDescriptions']:
|
||||
if fdesc['field'] == setting_name:
|
||||
for fdesc in fieldDescriptions:
|
||||
if fdesc['field'] == mfieldName:
|
||||
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:
|
||||
setting_dict['descriptions'] = [fdesc['description']]
|
||||
schema_dict['settings'][setting_name.lower()] = setting_dict
|
||||
mfield['descriptions'].append(fdesc['description'])
|
||||
for pfield in mesgPops:
|
||||
mesgDict.pop(pfield)
|
||||
schema_dict['settings'] = mesgDict
|
||||
return(schema_name, schema_dict)
|
||||
|
||||
def _getPolicyOrgUnitTarget(cd, cp, myarg, groupEmail):
|
||||
@@ -28507,7 +28560,7 @@ def doUpdateChromePolicy():
|
||||
elif myarg == 'convertcrnl':
|
||||
convertCRsNLs = True
|
||||
else:
|
||||
schemaName, schema = simplifyChromeSchema(_getChromePolicySchema(cp, Cmd.Previous(), '*'))
|
||||
schemaName, schema = simplifyChromeSchemaUpdate(_getChromePolicySchema(cp, Cmd.Previous(), '*'))
|
||||
body['requests'].append({'policyValue': {'policySchema': schemaName, 'value': {}},
|
||||
'updateMask': ''})
|
||||
schemaNameList.append(schemaName)
|
||||
@@ -28593,8 +28646,9 @@ def doUpdateChromePolicy():
|
||||
if field not in schema['settings']:
|
||||
Cmd.Backup()
|
||||
missingChoiceExit(schema['settings'])
|
||||
casedField = schema['settings'][field]['name']
|
||||
vtype = schema['settings'][field]['type']
|
||||
field_settings = schema['settings'][field]
|
||||
casedField = field_settings['name']
|
||||
vtype = field_settings['type']
|
||||
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 not value.isnumeric():
|
||||
@@ -28611,8 +28665,8 @@ def doUpdateChromePolicy():
|
||||
invalidChoiceExit(value, TRUE_FALSE, True)
|
||||
elif vtype == 'TYPE_ENUM':
|
||||
value = value.upper()
|
||||
prefix = schema['settings'][field]['enum_prefix']
|
||||
enum_values = schema['settings'][field]['enums']
|
||||
prefix = field_settings['enum_prefix']
|
||||
enum_values = field_settings['enums']
|
||||
if value in enum_values:
|
||||
value = f'{prefix}{value}'
|
||||
elif value.replace(prefix, '') in enum_values:
|
||||
@@ -28639,7 +28693,10 @@ def doUpdateChromePolicy():
|
||||
elif value and not CHROME_TARGET_VERSION_PATTERN.match(value):
|
||||
Cmd.Backup()
|
||||
invalidArgumentExit(Msg.CHROME_TARGET_VERSION_FORMAT)
|
||||
body['requests'][-1]['policyValue']['value'][casedField] = value
|
||||
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]['updateMask'] += f'{casedField},'
|
||||
checkPolicyArgs(targetResource, printer_id, app_id)
|
||||
count = len(body['requests'])
|
||||
@@ -28940,7 +28997,9 @@ def _showChromePolicySchema(schema, FJQC, i=0, count=0):
|
||||
return
|
||||
printEntity([Ent.CHROME_POLICY_SCHEMA, schema['name']], i, count)
|
||||
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()
|
||||
|
||||
CHROME_POLICY_SCHEMA_FIELDS_CHOICE_MAP = {
|
||||
@@ -29074,31 +29133,35 @@ def doPrintShowChromePolicySchemas():
|
||||
csvPF.writeCSVfile('Chrome Policy Schemas')
|
||||
|
||||
def _showChromePolicySchemaStd(schema):
|
||||
printKeyValueList([f'{schema.get("name")}', f'{schema.get("description")}'])
|
||||
Ind.Increment()
|
||||
for val in schema['settings'].values():
|
||||
vtype = val.get('type')
|
||||
printKeyValueList([f'{val.get("name")}', f'{vtype}'])
|
||||
def _printEntry(mtypeName, mtypeEntry):
|
||||
vtype = mtypeEntry['type']
|
||||
if vtype != 'TYPE_MESSAGE':
|
||||
printKeyValueList([f'{mtypeName}', f'{vtype}'])
|
||||
else:
|
||||
printKeyValueList([f'{mtypeName}'])
|
||||
Ind.Increment()
|
||||
if vtype == 'TYPE_ENUM':
|
||||
enums = val.get('enums', [])
|
||||
descriptions = val.get('descriptions', [])
|
||||
for i in range(len(val.get('enums', []))):
|
||||
enums = mtypeEntry['subtype']['enums']
|
||||
descriptions = mtypeEntry['descriptions']
|
||||
for i in range(len(enums)):
|
||||
printKeyValueList([f'{enums[i]}', f'{descriptions[i]}'])
|
||||
elif vtype == 'TYPE_BOOL':
|
||||
pvs = val.get('descriptions')
|
||||
for pvi in pvs:
|
||||
if isinstance(pvi, dict):
|
||||
pvalue = pvi.get('value')
|
||||
pdescription = pvi.get('description')
|
||||
printKeyValueList([f'{pvalue}', f'{pdescription}'])
|
||||
elif isinstance(pvi, list):
|
||||
printKeyValueList([f'{pvi[0]}'])
|
||||
elif vtype == 'TYPE_MESSAGE':
|
||||
for mfieldName, mfield in mtypeEntry['subtype']['field'].items():
|
||||
# managedBookmarks is recursive
|
||||
if mtypeName != 'entries':
|
||||
_printEntry(mfieldName, mfield)
|
||||
else:
|
||||
description = val.get('descriptions')
|
||||
if len(description) > 0:
|
||||
printKeyValueList([f'{description[0]}'])
|
||||
for description in mtypeEntry.get('descriptions', []):
|
||||
printKeyValueList([description])
|
||||
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()
|
||||
|
||||
# gam info chromeschema std <SchemaName>
|
||||
@@ -29109,7 +29172,7 @@ def doInfoChromePolicySchemasStd(cp):
|
||||
schema = callGAPI(cp.customers().policySchemas(), 'get',
|
||||
throwReasons=[GAPI.NOT_FOUND, GAPI.BAD_REQUEST, GAPI.FORBIDDEN],
|
||||
name=name)
|
||||
_, schema_dict = simplifyChromeSchema(schema)
|
||||
_, schema_dict = simplifyChromeSchemaDisplay(schema)
|
||||
_showChromePolicySchemaStd(schema_dict)
|
||||
except GAPI.notFound:
|
||||
entityUnknownWarning(Ent.CHROME_POLICY_SCHEMA, name)
|
||||
@@ -29131,7 +29194,7 @@ def doShowChromePolicySchemasStd(cp):
|
||||
parent=parent, filter=sfilter)
|
||||
schemas = {}
|
||||
for schema in result:
|
||||
schema_name, schema_dict = simplifyChromeSchema(schema)
|
||||
schema_name, schema_dict = simplifyChromeSchemaDisplay(schema)
|
||||
schemas[schema_name.lower()] = schema_dict
|
||||
for _, schema in sorted(iter(schemas.items())):
|
||||
_showChromePolicySchemaStd(schema)
|
||||
@@ -66178,11 +66241,7 @@ def printSharedDriveOrganizers(users, useDomainAdminAccess=False):
|
||||
showNoOrganizerDrives = SHOW_NO_PERMISSIONS_DRIVES_CHOICE_MAP['false']
|
||||
fieldsList = ['role', 'type', 'emailAddress']
|
||||
cd = entityList = orgUnitId = query = matchPattern = None
|
||||
domainList = set()
|
||||
if GC.Values[GC.DOMAIN]:
|
||||
domainList.add(GC.Values[GC.DOMAIN])
|
||||
else:
|
||||
domainList.add(GM.Globals[GM.DECODED_ID_TOKEN].get('hd', 'UNKNOWN').lower())
|
||||
domainList = set([(GC.Values[GC.DOMAIN] if GC.Values[GC.DOMAIN] else _getValueFromOAuth('hd'))])
|
||||
oneOrganizer = True
|
||||
while Cmd.ArgumentsRemaining():
|
||||
myarg = getArgument()
|
||||
|
||||
@@ -603,8 +603,7 @@ chrome.devices.DeviceAllowEnterpriseRemoteAccessConnections: Enterprise remote a
|
||||
false: Prevent remote access connections from enterprise admins.
|
||||
|
||||
chrome.devices.DeviceAuthenticationFlowAutoReloadInterval: Automatic online sign-in / lock screen refresh.
|
||||
deviceAuthenticationFlowAutoReloadInterval
|
||||
duration: TYPE_INT64
|
||||
deviceAuthenticationFlowAutoReloadInterval: TYPE_INT64
|
||||
|
||||
chrome.devices.DeviceAuthenticationUrlAllowlist: Blocked URL exceptions on the sign-in / lock screens.
|
||||
deviceAuthenticationUrlAllowlist: TYPE_LIST
|
||||
@@ -846,10 +845,8 @@ chrome.devices.DeviceScreensaverLoginScreenEnabled: Screen saver.
|
||||
false: Don't display screen saver when idle.
|
||||
deviceScreensaverLoginScreenImages: TYPE_LIST
|
||||
Screen saver image URLs. Enter one URL per line. Images must be in JPG format(.jpg or .jpeg files.
|
||||
deviceScreensaverLoginScreenIdleTimeoutSeconds
|
||||
duration: TYPE_INT64
|
||||
deviceScreensaverLoginScreenImageDisplayIntervalSeconds
|
||||
duration: TYPE_INT64
|
||||
deviceScreensaverLoginScreenIdleTimeoutSeconds: TYPE_INT64
|
||||
deviceScreensaverLoginScreenImageDisplayIntervalSeconds: TYPE_INT64
|
||||
|
||||
chrome.devices.DeviceScreenSettings: Screen settings.
|
||||
allowUserDisplayChanges: TYPE_BOOL
|
||||
@@ -1042,16 +1039,13 @@ chrome.devices.EnableReportDeviceUsers: Report device user tracking.
|
||||
false: Disable tracking recent users.
|
||||
|
||||
chrome.devices.EnableReportUploadFrequency: Device status report upload frequency.
|
||||
reportDeviceUploadFrequency
|
||||
duration: TYPE_STRING
|
||||
reportDeviceUploadFrequency: TYPE_INT64
|
||||
|
||||
chrome.devices.EnableReportUploadFrequencyV2: Device status report upload frequency.
|
||||
reportDeviceUploadFrequency
|
||||
duration: TYPE_INT64
|
||||
reportDeviceUploadFrequency: TYPE_INT64
|
||||
|
||||
chrome.devices.ExtensionCacheSize: Apps and extensions cache size.
|
||||
extensionCacheSize
|
||||
value: TYPE_INT64
|
||||
extensionCacheSize: TYPE_INT64
|
||||
|
||||
chrome.devices.ForcedReenrollment: Forced re-enrollment.
|
||||
reenrollmentMode: TYPE_ENUM
|
||||
@@ -1101,34 +1095,26 @@ chrome.devices.kiosk.AccessibilityShortcutsEnabled: Kiosk accessibility shortcut
|
||||
ACCESSIBILITY_ENABLED: Enable accessibility shortcuts.
|
||||
|
||||
chrome.devices.kiosk.AcPowerSettings: AC Kiosk power settings.
|
||||
acIdleTimeout
|
||||
duration: TYPE_STRING
|
||||
acWarningTimeout
|
||||
duration: TYPE_STRING
|
||||
acIdleTimeout: TYPE_INT64
|
||||
acWarningTimeout: TYPE_INT64
|
||||
acIdleAction: TYPE_ENUM
|
||||
IDLE_ACTION_SUSPEND: Sleep.
|
||||
IDLE_ACTION_LOGOUT: Logout.
|
||||
IDLE_ACTION_SHUTDOWN: Shutdown.
|
||||
IDLE_ACTION_DO_NOTHING: Do nothing.
|
||||
acDimTimeout
|
||||
duration: TYPE_STRING
|
||||
acScreenOffTimeout
|
||||
duration: TYPE_STRING
|
||||
acDimTimeout: TYPE_INT64
|
||||
acScreenOffTimeout: TYPE_INT64
|
||||
|
||||
chrome.devices.kiosk.AcPowerSettingsV2: AC Kiosk power settings.
|
||||
acIdleTimeout
|
||||
duration: TYPE_INT64
|
||||
acWarningTimeout
|
||||
duration: TYPE_INT64
|
||||
acIdleTimeout: TYPE_INT64
|
||||
acWarningTimeout: TYPE_INT64
|
||||
acIdleAction: TYPE_ENUM
|
||||
IDLE_ACTION_SUSPEND: Sleep.
|
||||
IDLE_ACTION_LOGOUT: Logout.
|
||||
IDLE_ACTION_SHUTDOWN: Shutdown.
|
||||
IDLE_ACTION_DO_NOTHING: Do nothing.
|
||||
acDimTimeout
|
||||
duration: TYPE_INT64
|
||||
acScreenOffTimeout
|
||||
duration: TYPE_INT64
|
||||
acDimTimeout: TYPE_INT64
|
||||
acScreenOffTimeout: TYPE_INT64
|
||||
|
||||
chrome.devices.kiosk.Alerting: Kiosk device status alerting delivery.
|
||||
deviceStatusAlertDeliveryModes: TYPE_LIST
|
||||
@@ -1217,34 +1203,26 @@ chrome.devices.kiosk.AutoclickEnabled: Kiosk auto-click enabled.
|
||||
ACCESSIBILITY_ENABLED: Enable auto-click.
|
||||
|
||||
chrome.devices.kiosk.BatteryPowerSettings: Battery Kiosk power settings.
|
||||
batteryIdleTimeout
|
||||
duration: TYPE_STRING
|
||||
batteryWarningTimeout
|
||||
duration: TYPE_STRING
|
||||
batteryIdleTimeout: TYPE_INT64
|
||||
batteryWarningTimeout: TYPE_INT64
|
||||
batteryIdleAction: TYPE_ENUM
|
||||
IDLE_ACTION_SUSPEND: Sleep.
|
||||
IDLE_ACTION_LOGOUT: Logout.
|
||||
IDLE_ACTION_SHUTDOWN: Shutdown.
|
||||
IDLE_ACTION_DO_NOTHING: Do nothing.
|
||||
batteryDimTimeout
|
||||
duration: TYPE_STRING
|
||||
batteryScreenOffTimeout
|
||||
duration: TYPE_STRING
|
||||
batteryDimTimeout: TYPE_INT64
|
||||
batteryScreenOffTimeout: TYPE_INT64
|
||||
|
||||
chrome.devices.kiosk.BatteryPowerSettingsV2: Battery Kiosk power settings.
|
||||
batteryIdleTimeout
|
||||
duration: TYPE_INT64
|
||||
batteryWarningTimeout
|
||||
duration: TYPE_INT64
|
||||
batteryIdleTimeout: TYPE_INT64
|
||||
batteryWarningTimeout: TYPE_INT64
|
||||
batteryIdleAction: TYPE_ENUM
|
||||
IDLE_ACTION_SUSPEND: Sleep.
|
||||
IDLE_ACTION_LOGOUT: Logout.
|
||||
IDLE_ACTION_SHUTDOWN: Shutdown.
|
||||
IDLE_ACTION_DO_NOTHING: Do nothing.
|
||||
batteryDimTimeout
|
||||
duration: TYPE_INT64
|
||||
batteryScreenOffTimeout
|
||||
duration: TYPE_INT64
|
||||
batteryDimTimeout: TYPE_INT64
|
||||
batteryScreenOffTimeout: TYPE_INT64
|
||||
|
||||
chrome.devices.kiosk.CaretHighlightEnabled: Kiosk caret highlight.
|
||||
caretHighlightEnabled: TYPE_ENUM
|
||||
@@ -2481,40 +2459,24 @@ chrome.devices.managedguest.BrowserHistory: Browser history.
|
||||
false: Always save browser history.
|
||||
|
||||
chrome.devices.managedguest.BrowsingDataLifetime: Browsing Data Lifetime.
|
||||
browsingHistoryTtl
|
||||
duration: TYPE_STRING
|
||||
downloadHistoryTtl
|
||||
duration: TYPE_STRING
|
||||
cookiesAndOtherSiteDataTtl
|
||||
duration: TYPE_STRING
|
||||
cachedImagesAndFilesTtl
|
||||
duration: TYPE_STRING
|
||||
passwordSigninTtl
|
||||
duration: TYPE_STRING
|
||||
autofillTtl
|
||||
duration: TYPE_STRING
|
||||
siteSettingsTtl
|
||||
duration: TYPE_STRING
|
||||
hostedAppDataTtl
|
||||
duration: TYPE_STRING
|
||||
browsingHistoryTtl: TYPE_INT64
|
||||
downloadHistoryTtl: TYPE_INT64
|
||||
cookiesAndOtherSiteDataTtl: TYPE_INT64
|
||||
cachedImagesAndFilesTtl: TYPE_INT64
|
||||
passwordSigninTtl: TYPE_INT64
|
||||
autofillTtl: TYPE_INT64
|
||||
siteSettingsTtl: TYPE_INT64
|
||||
hostedAppDataTtl: TYPE_INT64
|
||||
|
||||
chrome.devices.managedguest.BrowsingDataLifetimeV2: Browsing Data Lifetime.
|
||||
browsingHistoryTtl
|
||||
duration: TYPE_INT64
|
||||
downloadHistoryTtl
|
||||
duration: TYPE_INT64
|
||||
cookiesAndOtherSiteDataTtl
|
||||
duration: TYPE_INT64
|
||||
cachedImagesAndFilesTtl
|
||||
duration: TYPE_INT64
|
||||
passwordSigninTtl
|
||||
duration: TYPE_INT64
|
||||
autofillTtl
|
||||
duration: TYPE_INT64
|
||||
siteSettingsTtl
|
||||
duration: TYPE_INT64
|
||||
hostedAppDataTtl
|
||||
duration: TYPE_INT64
|
||||
browsingHistoryTtl: TYPE_INT64
|
||||
downloadHistoryTtl: TYPE_INT64
|
||||
cookiesAndOtherSiteDataTtl: TYPE_INT64
|
||||
cachedImagesAndFilesTtl: TYPE_INT64
|
||||
passwordSigninTtl: TYPE_INT64
|
||||
autofillTtl: TYPE_INT64
|
||||
siteSettingsTtl: TYPE_INT64
|
||||
hostedAppDataTtl: TYPE_INT64
|
||||
|
||||
chrome.devices.managedguest.BuiltInDnsClientEnabled: Built-in DNS client.
|
||||
builtInDnsClientEnabled: TYPE_ENUM
|
||||
@@ -3009,36 +2971,26 @@ chrome.devices.managedguest.IdleSettingsExtended: Idle settings.
|
||||
LOGOUT: Logout.
|
||||
SHUTDOWN: Shutdown.
|
||||
DO_NOTHING: Do nothing.
|
||||
idleDelayAc
|
||||
duration: TYPE_INT64
|
||||
idleWarningDelayAc
|
||||
duration: TYPE_INT64
|
||||
idleDelayAc: TYPE_INT64
|
||||
idleWarningDelayAc: TYPE_INT64
|
||||
idleActionAc: TYPE_ENUM
|
||||
SLEEP: Sleep.
|
||||
LOGOUT: Logout.
|
||||
SHUTDOWN: Shut down.
|
||||
DO_NOTHING: Do nothing.
|
||||
screenDimDelayAc
|
||||
duration: TYPE_INT64
|
||||
screenOffDelayAc
|
||||
duration: TYPE_INT64
|
||||
screenLockDelayAc
|
||||
duration: TYPE_INT64
|
||||
idleDelayBattery
|
||||
duration: TYPE_INT64
|
||||
idleWarningDelayBattery
|
||||
duration: TYPE_INT64
|
||||
screenDimDelayAc: TYPE_INT64
|
||||
screenOffDelayAc: TYPE_INT64
|
||||
screenLockDelayAc: TYPE_INT64
|
||||
idleDelayBattery: TYPE_INT64
|
||||
idleWarningDelayBattery: TYPE_INT64
|
||||
idleActionBattery: TYPE_ENUM
|
||||
SLEEP: Sleep.
|
||||
LOGOUT: Logout.
|
||||
SHUTDOWN: Shut down.
|
||||
DO_NOTHING: Do nothing.
|
||||
screenDimDelayBattery
|
||||
duration: TYPE_INT64
|
||||
screenOffDelayBattery
|
||||
duration: TYPE_INT64
|
||||
screenLockDelayBattery
|
||||
duration: TYPE_INT64
|
||||
screenDimDelayBattery: TYPE_INT64
|
||||
screenOffDelayBattery: TYPE_INT64
|
||||
screenLockDelayBattery: TYPE_INT64
|
||||
lockOnSleepOrLidClose: TYPE_ENUM
|
||||
UNSET: Allow user to configure.
|
||||
FALSE: Don't lock screen.
|
||||
@@ -3238,12 +3190,10 @@ chrome.devices.managedguest.ManagedGuestSessionV2: Managed guest session.
|
||||
ROTATE_270: 270 degrees.
|
||||
|
||||
chrome.devices.managedguest.MaxInvalidationFetchDelay: Policy fetch delay.
|
||||
maxInvalidationFetchDelay
|
||||
duration: TYPE_STRING
|
||||
maxInvalidationFetchDelay: TYPE_INT64
|
||||
|
||||
chrome.devices.managedguest.MaxInvalidationFetchDelayV2: Policy fetch delay.
|
||||
maxInvalidationFetchDelay
|
||||
duration: TYPE_INT64
|
||||
maxInvalidationFetchDelay: TYPE_INT64
|
||||
|
||||
chrome.devices.managedguest.MemorySaverModeSavings: Memory saver.
|
||||
memorySaverModeSavings: TYPE_ENUM
|
||||
@@ -3451,8 +3401,7 @@ chrome.devices.managedguest.PrintingBackgroundGraphicsDefault: Background graphi
|
||||
ENABLED: Enable background graphics printing mode by default.
|
||||
|
||||
chrome.devices.managedguest.PrintingMaxSheetsAllowed: Maximum sheets.
|
||||
printingMaxSheetsAllowedNullable
|
||||
value: TYPE_INT64
|
||||
printingMaxSheetsAllowedNullable: TYPE_INT64
|
||||
|
||||
chrome.devices.managedguest.PrintingPaperSizeDefault: Default printing page size.
|
||||
printingPaperSizeEnum: TYPE_ENUM
|
||||
@@ -3474,19 +3423,16 @@ chrome.devices.managedguest.PrintingPinDefault: Default PIN printing mode.
|
||||
DEFAULT_TO_NOT_PIN_PRINTING: Without PIN.
|
||||
|
||||
chrome.devices.managedguest.PrintJobHistoryExpirationPeriodNew: Print job history retention period.
|
||||
printJobHistoryExpirationPeriodDaysNew
|
||||
duration: TYPE_STRING
|
||||
printJobHistoryExpirationPeriodDaysNew: TYPE_INT64
|
||||
|
||||
chrome.devices.managedguest.PrintJobHistoryExpirationPeriodNewV2: Print job history retention period.
|
||||
printJobHistoryExpirationPeriodDaysNew
|
||||
duration: TYPE_INT64
|
||||
printJobHistoryExpirationPeriodDaysNew: TYPE_INT64
|
||||
|
||||
chrome.devices.managedguest.PrintPdfAsImage: Print PDF as image.
|
||||
printPdfAsImageAvailability: TYPE_BOOL
|
||||
true: Allow users to print PDF documents as images.
|
||||
false: Do not allow users to print PDF documents as images.
|
||||
printRasterizePdfDpi
|
||||
value: TYPE_INT64
|
||||
printRasterizePdfDpi: TYPE_INT64
|
||||
printPdfAsImageDefault: TYPE_BOOL
|
||||
true: Default to printing PDFs as images when available.
|
||||
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.
|
||||
|
||||
chrome.devices.managedguest.RemoteAccessHostClipboardSizeBytes: Clipboard sync max size.
|
||||
remoteAccessHostClipboardSizeBytes
|
||||
value: TYPE_INT64
|
||||
remoteAccessHostClipboardSizeBytes: TYPE_INT64
|
||||
|
||||
chrome.devices.managedguest.RemoteAccessHostDomainList: Remote access hosts.
|
||||
remoteAccessHostDomainList: TYPE_LIST
|
||||
@@ -3658,10 +3603,8 @@ chrome.devices.managedguest.ScreensaverLockScreenEnabled: Screen saver.
|
||||
screensaverLockScreenEnabled: TYPE_BOOL
|
||||
true: Display screen saver on lock screen when idle.
|
||||
false: Don't display screen saver on lock screen when idle.
|
||||
screensaverLockScreenIdleTimeoutSeconds
|
||||
duration: TYPE_INT64
|
||||
screensaverLockScreenImageDisplayIntervalSeconds
|
||||
duration: TYPE_INT64
|
||||
screensaverLockScreenIdleTimeoutSeconds: TYPE_INT64
|
||||
screensaverLockScreenImageDisplayIntervalSeconds: TYPE_INT64
|
||||
screensaverLockScreenImages: TYPE_LIST
|
||||
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.
|
||||
LOGOUT: Log the user out.
|
||||
LOCK: Lock the current session.
|
||||
securityTokenSessionNotificationSeconds
|
||||
duration: TYPE_STRING
|
||||
securityTokenSessionNotificationSeconds: TYPE_INT64
|
||||
|
||||
chrome.devices.managedguest.SecurityTokenSessionSettingsV2: Security token removal.
|
||||
securityTokenSessionBehavior: TYPE_ENUM
|
||||
IGNORE: Nothing.
|
||||
LOGOUT: Log the user out.
|
||||
LOCK: Lock the current session.
|
||||
securityTokenSessionNotificationSeconds
|
||||
duration: TYPE_INT64
|
||||
securityTokenSessionNotificationSeconds: TYPE_INT64
|
||||
|
||||
chrome.devices.managedguest.SelectToSpeakEnabled: Select to speak.
|
||||
selectToSpeakEnabled: TYPE_ENUM
|
||||
@@ -3723,12 +3664,10 @@ chrome.devices.managedguest.ServiceWorkerToControlSrcdocIframeEnabled: Service w
|
||||
false: Block service workers from controlling srcdoc iframes.
|
||||
|
||||
chrome.devices.managedguest.SessionLength: Maximum user session length.
|
||||
sessionDurationLimit
|
||||
duration: TYPE_STRING
|
||||
sessionDurationLimit: TYPE_INT64
|
||||
|
||||
chrome.devices.managedguest.SessionLengthV2: Maximum user session length.
|
||||
sessionDurationLimit
|
||||
duration: TYPE_INT64
|
||||
sessionDurationLimit: TYPE_INT64
|
||||
|
||||
chrome.devices.managedguest.SessionLocale: Session locale.
|
||||
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.
|
||||
|
||||
chrome.devices.ScheduledRebootDuration: Reboot after uptime limit.
|
||||
uptimeLimitDuration
|
||||
duration: TYPE_STRING
|
||||
uptimeLimitDuration: TYPE_INT64
|
||||
|
||||
chrome.devices.ScheduledRebootDurationV2: Reboot after uptime limit.
|
||||
uptimeLimitDuration
|
||||
duration: TYPE_INT64
|
||||
uptimeLimitDuration: TYPE_INT64
|
||||
|
||||
chrome.devices.ShowLowDiskSpaceNotification: Low disk space notification.
|
||||
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.
|
||||
|
||||
chrome.devices.Timezone: Timezone.
|
||||
systemTimezone
|
||||
value: TYPE_STRING
|
||||
systemTimezone: TYPE_STRING
|
||||
timezoneDetectionType: TYPE_ENUM
|
||||
USERS_DECIDE: Let users decide.
|
||||
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.
|
||||
|
||||
chrome.users.AutoUpdateCheckPeriodNew: Auto-update check period.
|
||||
autoUpdateCheckPeriodMinutesNew
|
||||
duration: TYPE_STRING
|
||||
autoUpdateCheckPeriodMinutesNew: TYPE_INT64
|
||||
|
||||
chrome.users.AutoUpdateCheckPeriodNewV2: Auto-update check period.
|
||||
autoUpdateCheckPeriodMinutesNew
|
||||
duration: TYPE_INT64
|
||||
autoUpdateCheckPeriodMinutesNew: TYPE_INT64
|
||||
|
||||
chrome.users.Avatar: Custom avatar.
|
||||
userAvatarImage
|
||||
@@ -6608,8 +6542,7 @@ chrome.users.BrowserHistory: Browser history.
|
||||
false: Always save browser history.
|
||||
|
||||
chrome.users.BrowserIdleTimeout: Browser idle timeout.
|
||||
idleTimeout
|
||||
duration: TYPE_INT64
|
||||
idleTimeout: TYPE_INT64
|
||||
idleTimeoutActions: TYPE_LIST
|
||||
close_browsers: Close Browsers.
|
||||
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.
|
||||
|
||||
chrome.users.BrowserSwitcherDelayDuration: Delay before launching alternative browser.
|
||||
browserSwitcherDelayDuration
|
||||
duration: TYPE_STRING
|
||||
browserSwitcherDelayDuration: TYPE_INT64
|
||||
|
||||
chrome.users.BrowserSwitcherDelayDurationV2: Delay before launching alternative browser.
|
||||
browserSwitcherDelayDuration
|
||||
duration: TYPE_INT64
|
||||
browserSwitcherDelayDuration: TYPE_INT64
|
||||
|
||||
chrome.users.BrowserSwitcherExternalGreylistUrl: URL to list of websites to open in either browser.
|
||||
browserSwitcherExternalGreylistUrl: TYPE_STRING
|
||||
@@ -6701,40 +6632,24 @@ chrome.users.BrowserThemeColor: Custom theme color.
|
||||
Hex color. Enter a valid hex color, for instance #FFFFFF.
|
||||
|
||||
chrome.users.BrowsingDataLifetime: Browsing Data Lifetime.
|
||||
browsingHistoryTtl
|
||||
duration: TYPE_STRING
|
||||
downloadHistoryTtl
|
||||
duration: TYPE_STRING
|
||||
cookiesAndOtherSiteDataTtl
|
||||
duration: TYPE_STRING
|
||||
cachedImagesAndFilesTtl
|
||||
duration: TYPE_STRING
|
||||
passwordSigninTtl
|
||||
duration: TYPE_STRING
|
||||
autofillTtl
|
||||
duration: TYPE_STRING
|
||||
siteSettingsTtl
|
||||
duration: TYPE_STRING
|
||||
hostedAppDataTtl
|
||||
duration: TYPE_STRING
|
||||
browsingHistoryTtl: TYPE_INT64
|
||||
downloadHistoryTtl: TYPE_INT64
|
||||
cookiesAndOtherSiteDataTtl: TYPE_INT64
|
||||
cachedImagesAndFilesTtl: TYPE_INT64
|
||||
passwordSigninTtl: TYPE_INT64
|
||||
autofillTtl: TYPE_INT64
|
||||
siteSettingsTtl: TYPE_INT64
|
||||
hostedAppDataTtl: TYPE_INT64
|
||||
|
||||
chrome.users.BrowsingDataLifetimeV2: Browsing Data Lifetime.
|
||||
browsingHistoryTtl
|
||||
duration: TYPE_INT64
|
||||
downloadHistoryTtl
|
||||
duration: TYPE_INT64
|
||||
cookiesAndOtherSiteDataTtl
|
||||
duration: TYPE_INT64
|
||||
cachedImagesAndFilesTtl
|
||||
duration: TYPE_INT64
|
||||
passwordSigninTtl
|
||||
duration: TYPE_INT64
|
||||
autofillTtl
|
||||
duration: TYPE_INT64
|
||||
siteSettingsTtl
|
||||
duration: TYPE_INT64
|
||||
hostedAppDataTtl
|
||||
duration: TYPE_INT64
|
||||
browsingHistoryTtl: TYPE_INT64
|
||||
downloadHistoryTtl: TYPE_INT64
|
||||
cookiesAndOtherSiteDataTtl: TYPE_INT64
|
||||
cachedImagesAndFilesTtl: TYPE_INT64
|
||||
passwordSigninTtl: TYPE_INT64
|
||||
autofillTtl: TYPE_INT64
|
||||
siteSettingsTtl: TYPE_INT64
|
||||
hostedAppDataTtl: TYPE_INT64
|
||||
|
||||
chrome.users.BuiltInDnsClientEnabled: Built-in DNS client.
|
||||
builtInDnsClientEnabled: TYPE_ENUM
|
||||
@@ -6890,12 +6805,10 @@ chrome.users.CloudReporting: Managed browser reporting.
|
||||
false: Disable managed browser cloud reporting.
|
||||
|
||||
chrome.users.CloudReportingUploadFrequency: Managed browser reporting upload frequency.
|
||||
cloudReportingUploadFrequency
|
||||
duration: TYPE_STRING
|
||||
cloudReportingUploadFrequency: TYPE_INT64
|
||||
|
||||
chrome.users.CloudReportingUploadFrequencyV2: Managed browser reporting upload frequency.
|
||||
cloudReportingUploadFrequency
|
||||
duration: TYPE_INT64
|
||||
cloudReportingUploadFrequency: TYPE_INT64
|
||||
|
||||
chrome.users.CloudUserPolicyMerge: User cloud policy merge.
|
||||
cloudUserPolicyMerge: TYPE_BOOL
|
||||
@@ -7374,12 +7287,10 @@ chrome.users.FElevenKeyModifier: Control the shortcut used to trigger F11.
|
||||
RECOMMENDED: Allow users to override.
|
||||
|
||||
chrome.users.FetchKeepaliveDurationSecondsOnShutdown: Keepalive duration.
|
||||
fetchKeepaliveDurationSecondsOnShutdown
|
||||
duration: TYPE_STRING
|
||||
fetchKeepaliveDurationSecondsOnShutdown: TYPE_INT64
|
||||
|
||||
chrome.users.FetchKeepaliveDurationSecondsOnShutdownV2: Keepalive duration.
|
||||
fetchKeepaliveDurationSecondsOnShutdown
|
||||
duration: TYPE_INT64
|
||||
fetchKeepaliveDurationSecondsOnShutdown: TYPE_INT64
|
||||
|
||||
chrome.users.FileOrDirectoryPickerWithoutGestureAllowedForOrigins: File/directory picker without user gesture.
|
||||
fileOrDirectoryPickerWithoutGestureAllowedForOrigins: TYPE_LIST
|
||||
@@ -7639,12 +7550,10 @@ chrome.users.FullscreenAllowed: Fullscreen mode.
|
||||
false: Do not allow fullscreen mode.
|
||||
|
||||
chrome.users.GaiaLockScreenOfflineSigninTimeLimitDays: Google online unlock frequency.
|
||||
gaiaLockScreenOfflineSigninTimeLimitDays
|
||||
value: TYPE_INT64
|
||||
gaiaLockScreenOfflineSigninTimeLimitDays: TYPE_INT64
|
||||
|
||||
chrome.users.GaiaOfflineSigninTimeLimitDays: Google online login frequency.
|
||||
gaiaOfflineSigninTimeLimitDays
|
||||
value: TYPE_INT64
|
||||
gaiaOfflineSigninTimeLimitDays: TYPE_INT64
|
||||
|
||||
chrome.users.GeminiSettings: Gemini integration.
|
||||
geminiSettings: TYPE_ENUM
|
||||
@@ -7812,36 +7721,26 @@ chrome.users.IdleSettingsExtended: Idle settings.
|
||||
LOGOUT: Logout.
|
||||
SHUTDOWN: Shutdown.
|
||||
DO_NOTHING: Do nothing.
|
||||
idleDelayAc
|
||||
duration: TYPE_INT64
|
||||
idleWarningDelayAc
|
||||
duration: TYPE_INT64
|
||||
idleDelayAc: TYPE_INT64
|
||||
idleWarningDelayAc: TYPE_INT64
|
||||
idleActionAc: TYPE_ENUM
|
||||
SLEEP: Sleep.
|
||||
LOGOUT: Logout.
|
||||
SHUTDOWN: Shut down.
|
||||
DO_NOTHING: Do nothing.
|
||||
screenDimDelayAc
|
||||
duration: TYPE_INT64
|
||||
screenOffDelayAc
|
||||
duration: TYPE_INT64
|
||||
screenLockDelayAc
|
||||
duration: TYPE_INT64
|
||||
idleDelayBattery
|
||||
duration: TYPE_INT64
|
||||
idleWarningDelayBattery
|
||||
duration: TYPE_INT64
|
||||
screenDimDelayAc: TYPE_INT64
|
||||
screenOffDelayAc: TYPE_INT64
|
||||
screenLockDelayAc: TYPE_INT64
|
||||
idleDelayBattery: TYPE_INT64
|
||||
idleWarningDelayBattery: TYPE_INT64
|
||||
idleActionBattery: TYPE_ENUM
|
||||
SLEEP: Sleep.
|
||||
LOGOUT: Logout.
|
||||
SHUTDOWN: Shut down.
|
||||
DO_NOTHING: Do nothing.
|
||||
screenDimDelayBattery
|
||||
duration: TYPE_INT64
|
||||
screenOffDelayBattery
|
||||
duration: TYPE_INT64
|
||||
screenLockDelayBattery
|
||||
duration: TYPE_INT64
|
||||
screenDimDelayBattery: TYPE_INT64
|
||||
screenOffDelayBattery: TYPE_INT64
|
||||
screenLockDelayBattery: TYPE_INT64
|
||||
lockOnSleepOrLidClose: TYPE_ENUM
|
||||
UNSET: Allow user to configure.
|
||||
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.
|
||||
|
||||
chrome.users.MaxInvalidationFetchDelay: Policy fetch delay.
|
||||
maxInvalidationFetchDelay
|
||||
duration: TYPE_STRING
|
||||
maxInvalidationFetchDelay: TYPE_INT64
|
||||
|
||||
chrome.users.MaxInvalidationFetchDelayV2: Policy fetch delay.
|
||||
maxInvalidationFetchDelay
|
||||
duration: TYPE_INT64
|
||||
maxInvalidationFetchDelay: TYPE_INT64
|
||||
|
||||
chrome.users.MediaRecommendationsEnabled: Media Recommendations.
|
||||
mediaRecommendationsEnabled: TYPE_BOOL
|
||||
@@ -8678,8 +8575,7 @@ chrome.users.PrintingLpacSandboxEnabled: Printing LPAC Sandbox.
|
||||
false: Run printing services in a less secure sandbox.
|
||||
|
||||
chrome.users.PrintingMaxSheetsAllowed: Maximum sheets.
|
||||
printingMaxSheetsAllowedNullable
|
||||
value: TYPE_INT64
|
||||
printingMaxSheetsAllowedNullable: TYPE_INT64
|
||||
|
||||
chrome.users.PrintingPaperSizeDefault: Default printing page size.
|
||||
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.
|
||||
|
||||
chrome.users.PrintJobHistoryExpirationPeriodNew: Print job history retention period.
|
||||
printJobHistoryExpirationPeriodDaysNew
|
||||
duration: TYPE_STRING
|
||||
printJobHistoryExpirationPeriodDaysNew: TYPE_INT64
|
||||
|
||||
chrome.users.PrintJobHistoryExpirationPeriodNewV2: Print job history retention period.
|
||||
printJobHistoryExpirationPeriodDaysNew
|
||||
duration: TYPE_INT64
|
||||
printJobHistoryExpirationPeriodDaysNew: TYPE_INT64
|
||||
|
||||
chrome.users.PrintPdfAsImage: Print PDF as image.
|
||||
printPdfAsImageAvailability: TYPE_BOOL
|
||||
true: Allow users to print PDF documents as images.
|
||||
false: Do not allow users to print PDF documents as images.
|
||||
printRasterizePdfDpi
|
||||
value: TYPE_INT64
|
||||
printRasterizePdfDpi: TYPE_INT64
|
||||
printPdfAsImageDefault: TYPE_BOOL
|
||||
true: Default to printing PDFs as images when available.
|
||||
false: Default to printing PDFs without being rasterized.
|
||||
@@ -8861,36 +8754,30 @@ chrome.users.RelaunchNotificationWithDuration: Relaunch notification.
|
||||
NO_NOTIFICATION: No relaunch notification.
|
||||
RECOMMENDED: Show notification recommending relaunch.
|
||||
REQUIRED: Force relaunch after a period.
|
||||
relaunchNotificationPeriodDuration
|
||||
duration: TYPE_STRING
|
||||
relaunchInitialQuietPeriodDuration
|
||||
duration: TYPE_STRING
|
||||
relaunchNotificationPeriodDuration: TYPE_INT64
|
||||
relaunchInitialQuietPeriodDuration: TYPE_INT64
|
||||
relaunchWindowStartTime
|
||||
timeOfDay
|
||||
hours: TYPE_INT32
|
||||
minutes: TYPE_INT32
|
||||
seconds: TYPE_INT32
|
||||
nanos: TYPE_INT32
|
||||
relaunchWindowDurationMin
|
||||
duration: TYPE_STRING
|
||||
relaunchWindowDurationMin: TYPE_INT64
|
||||
|
||||
chrome.users.RelaunchNotificationWithDurationV2: Relaunch notification.
|
||||
relaunchNotificationEnum: TYPE_ENUM
|
||||
NO_NOTIFICATION: No relaunch notification.
|
||||
RECOMMENDED: Show notification recommending relaunch.
|
||||
REQUIRED: Force relaunch after a period.
|
||||
relaunchNotificationPeriodDuration
|
||||
duration: TYPE_INT64
|
||||
relaunchInitialQuietPeriodDuration
|
||||
duration: TYPE_INT64
|
||||
relaunchNotificationPeriodDuration: TYPE_INT64
|
||||
relaunchInitialQuietPeriodDuration: TYPE_INT64
|
||||
relaunchWindowStartTime
|
||||
timeOfDay
|
||||
hours: TYPE_INT32
|
||||
minutes: TYPE_INT32
|
||||
seconds: TYPE_INT32
|
||||
nanos: TYPE_INT32
|
||||
relaunchWindowDurationMin
|
||||
duration: TYPE_INT64
|
||||
relaunchWindowDurationMin: TYPE_INT64
|
||||
|
||||
chrome.users.RemoteAccessHostAllowEnterpriseRemoteSupportConnections: Enterprise remote support connections.
|
||||
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.
|
||||
|
||||
chrome.users.RemoteAccessHostClipboardSizeBytes: Clipboard sync max size.
|
||||
remoteAccessHostClipboardSizeBytes
|
||||
value: TYPE_INT64
|
||||
remoteAccessHostClipboardSizeBytes: TYPE_INT64
|
||||
|
||||
chrome.users.RemoteAccessHostDomainList: Remote access hosts.
|
||||
remoteAccessHostDomainList: TYPE_LIST
|
||||
@@ -9033,8 +8919,7 @@ chrome.users.SafeSitesFilterBehavior: SafeSites URL filter.
|
||||
SAFE_SITES_FILTER_ENABLED: Filter sites for adult content.
|
||||
|
||||
chrome.users.SamlLockScreenOfflineSigninTimeLimitDays: SAML single sign-on unlock frequency.
|
||||
samlLockScreenOfflineSigninTimeLimitDays
|
||||
value: TYPE_INT64
|
||||
samlLockScreenOfflineSigninTimeLimitDays: TYPE_INT64
|
||||
|
||||
chrome.users.SamlLockScreenReauthenticationEnabled: SAML single sign-on password synchronization flows.
|
||||
samlLockScreenReauthenticationEnabled: TYPE_BOOL
|
||||
@@ -9115,16 +9000,14 @@ chrome.users.SecurityTokenSessionSettings: Security token removal.
|
||||
IGNORE: Nothing.
|
||||
LOGOUT: Log the user out.
|
||||
LOCK: Lock the current session.
|
||||
securityTokenSessionNotificationSeconds
|
||||
duration: TYPE_STRING
|
||||
securityTokenSessionNotificationSeconds: TYPE_INT64
|
||||
|
||||
chrome.users.SecurityTokenSessionSettingsV2: Security token removal.
|
||||
securityTokenSessionBehavior: TYPE_ENUM
|
||||
IGNORE: Nothing.
|
||||
LOGOUT: Log the user out.
|
||||
LOCK: Lock the current session.
|
||||
securityTokenSessionNotificationSeconds
|
||||
duration: TYPE_INT64
|
||||
securityTokenSessionNotificationSeconds: TYPE_INT64
|
||||
|
||||
chrome.users.SelectToSpeakEnabled: Select to speak.
|
||||
selectToSpeakEnabled: TYPE_ENUM
|
||||
@@ -9149,12 +9032,10 @@ chrome.users.ServiceWorkerToControlSrcdocIframeEnabled: Service worker control o
|
||||
false: Block service workers from controlling srcdoc iframes.
|
||||
|
||||
chrome.users.SessionLength: Maximum user session length.
|
||||
sessionDurationLimit
|
||||
duration: TYPE_STRING
|
||||
sessionDurationLimit: TYPE_INT64
|
||||
|
||||
chrome.users.SessionLengthV2: Maximum user session length.
|
||||
sessionDurationLimit
|
||||
duration: TYPE_INT64
|
||||
sessionDurationLimit: TYPE_INT64
|
||||
|
||||
chrome.users.SetTimeoutWithoutOneMsClampEnabled: Javascript setTimeout() minimum.
|
||||
setTimeoutWithoutOneMsClampEnabled: TYPE_ENUM
|
||||
|
||||
@@ -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
|
||||
|
||||
### 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
|
||||
|
||||
Updated `gam <UserTypeEntity> create focustime|outofoffice ... timerange <Time> <Time>` to check
|
||||
|
||||
@@ -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$ gam version
|
||||
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>
|
||||
Python 3.13.4 64-bit final
|
||||
Python 3.13.5 64-bit final
|
||||
MacOS Sequoia 15.5 x86_64
|
||||
Path: /Users/admin/bin/gam7
|
||||
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:\>gam version
|
||||
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>
|
||||
Python 3.13.4 64-bit final
|
||||
Python 3.13.5 64-bit final
|
||||
Windows-10-10.0.17134 AMD64
|
||||
Path: C:\GAM7
|
||||
Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
Print the current version of Gam with details
|
||||
```
|
||||
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>
|
||||
Python 3.13.4 64-bit final
|
||||
Python 3.13.5 64-bit final
|
||||
MacOS Sequoia 15.5 x86_64
|
||||
Path: /Users/Admin/bin/gam7
|
||||
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
|
||||
```
|
||||
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>
|
||||
Python 3.13.4 64-bit final
|
||||
Python 3.13.5 64-bit final
|
||||
MacOS Sequoia 15.5 x86_64
|
||||
Path: /Users/Admin/bin/gam7
|
||||
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
|
||||
```
|
||||
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>
|
||||
Python 3.13.4 64-bit final
|
||||
Python 3.13.5 64-bit final
|
||||
MacOS Sequoia 15.5 x86_64
|
||||
Path: /Users/Admin/bin/gam7
|
||||
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
|
||||
Version Check:
|
||||
Current: 5.35.08
|
||||
Latest: 7.09.03
|
||||
Latest: 7.09.04
|
||||
echo $?
|
||||
1
|
||||
```
|
||||
@@ -72,7 +72,7 @@ echo $?
|
||||
Print the current version number without details
|
||||
```
|
||||
gam version simple
|
||||
7.09.03
|
||||
7.09.04
|
||||
```
|
||||
In Linux/MacOS you can do:
|
||||
```
|
||||
@@ -82,9 +82,9 @@ echo $VER
|
||||
Print the current version of Gam and address of this Wiki
|
||||
```
|
||||
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>
|
||||
Python 3.13.4 64-bit final
|
||||
Python 3.13.5 64-bit final
|
||||
MacOS Sequoia 15.5 x86_64
|
||||
Path: /Users/Admin/bin/gam7
|
||||
Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com
|
||||
|
||||
Reference in New Issue
Block a user