1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-02 00:22:11 +03:00

gpupdate: Add the --force option

This option forces the reapplication of policy,
and works the same as MS 'gpupdate /force'

Signed-off-by: David Mulder <dmulder@suse.com>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
This commit is contained in:
David Mulder
2018-05-16 09:54:38 -06:00
committed by Aurélien Aptel
parent 471089eed4
commit 4e98d18bea
2 changed files with 19 additions and 12 deletions

View File

@ -427,7 +427,7 @@ def gpo_version(lp, path):
return int(gpo.gpo_get_sysvol_gpt_version(gpt_path)[1])
def apply_gp(lp, creds, logger, store, gp_extensions):
def apply_gp(lp, creds, logger, store, gp_extensions, force=False):
gp_db = store.get_gplog(creds.get_username())
dc_hostname = get_dc_hostname(creds, lp)
gpos = get_gpo_list(dc_hostname, creds, lp)
@ -439,16 +439,21 @@ def apply_gp(lp, creds, logger, store, gp_extensions):
% dc_hostname)
return
changed_gpos = []
for gpo_obj in gpos:
if not gpo_obj.file_sys_path:
continue
guid = gpo_obj.name
path = check_safe_path(gpo_obj.file_sys_path).upper()
version = gpo_version(lp, path)
if version != store.get_int(guid):
logger.info('GPO %s has changed' % guid)
changed_gpos.append(gpo_obj)
if force:
changed_gpos = gpos
gp_db.state(GPOSTATE.ENFORCE)
else:
changed_gpos = []
for gpo_obj in gpos:
if not gpo_obj.file_sys_path:
continue
guid = gpo_obj.name
path = check_safe_path(gpo_obj.file_sys_path).upper()
version = gpo_version(lp, path)
if version != store.get_int(guid):
logger.info('GPO %s has changed' % guid)
changed_gpos.append(gpo_obj)
gp_db.state(GPOSTATE.APPLY)
store.start()
for ext in gp_extensions: