mirror of
https://github.com/samba-team/samba.git
synced 2025-07-29 15:42:04 +03:00
gpo: Fix unapply failure when multiple extensions run
When multiple Group Policy Extensions are present, only the last executed extension saves it's changes to the Group Policy Database, due to the database being loaded seperately for each extension. Signed-off-by: David Mulder <dmulder@suse.com> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
This commit is contained in:
committed by
David Mulder
parent
7e507dd886
commit
c887f7a7d2
@ -453,6 +453,7 @@ def apply_gp(lp, creds, logger, store, gp_extensions, force=False):
|
||||
store.start()
|
||||
for ext in gp_extensions:
|
||||
try:
|
||||
ext = ext(logger, lp, creds, store)
|
||||
ext.process_group_policy(del_gpos, changed_gpos)
|
||||
except Exception as e:
|
||||
logger.error('Failed to apply extension %s' % str(ext))
|
||||
@ -476,6 +477,7 @@ def unapply_gp(lp, creds, logger, store, gp_extensions):
|
||||
store.start()
|
||||
for ext in gp_extensions:
|
||||
try:
|
||||
ext = ext(logger, lp, creds, store)
|
||||
ext.process_group_policy(del_gpos, [])
|
||||
except Exception as e:
|
||||
logger.error('Failed to unapply extension %s' % str(ext))
|
||||
@ -507,6 +509,7 @@ def rsop(lp, creds, gp_extensions, target):
|
||||
print('GPO: %s' % gpo.display_name)
|
||||
print('='*term_width)
|
||||
for ext in gp_extensions:
|
||||
ext = ext(logger, lp, creds, store)
|
||||
print(' CSE: %s' % ext.__module__.split('.')[-1])
|
||||
print(' ' + ('-'*int(term_width/2)))
|
||||
for section, settings in ext.rsop(gpo).items():
|
||||
|
Reference in New Issue
Block a user