/// <summary> /// Opens the default GPO for the specified remote computer /// </summary> /// <param name="computerName">Name of the remote computer in the format "\\ComputerName"</param> public ComputerGroupPolicyObject(string computerName, GroupPolicyObjectSettings options = null) { options = options ?? new GroupPolicyObjectSettings(); trycatch(() => instance.OpenRemoteMachineGPO(computerName, options.Flag), "Unable to open GPO on remote machine '{0}'", computerName); IsLocal = false; }
/// <summary> /// Opens the default GPO for the local computer /// </summary> public ComputerGroupPolicyObject(GroupPolicyObjectSettings options = null) { options = options ?? new GroupPolicyObjectSettings(); trycatch(() => instance.OpenLocalMachineGPO(options.Flag), "Unable to open local machine GPO"); IsLocal = true; }
/// <summary> /// Creates a new GPO in the Active Directory with the specified display name and opens /// it with the given settings. /// </summary> /// <param name="activeDirectoryPath"> /// Specifies the Active Directory path of the object to create. /// If the path specifies a domain controller, the GPO is created on that DC. /// Otherwise, the system will select a DC on the caller's behalf. /// </param> /// <param name="displayName">Specifies the display name of the object to create.</param> public static ActiveDirectoryGroupPolicyObject Create(string activeDirectoryPath, string displayName, GroupPolicyObjectSettings settings = null) { settings = new GroupPolicyObjectSettings(); var instance = getInstance(); trycatch(() => instance.New(activeDirectoryPath, displayName, settings.Flag), "Unable to create new GPO instance with path '{0}' and display name '{1}'", activeDirectoryPath, displayName); return(new ActiveDirectoryGroupPolicyObject(instance)); }
/// <summary> /// Opens the specified GPO as determined by the path /// </summary> /// <param name="activeDirectoryPath"> /// Specifies the Active Directory path of the object to open. /// If the path specifies a domain controller, the GPO is created on that DC. /// Otherwise, the system will select a DC on the caller's behalf. /// </param> public ActiveDirectoryGroupPolicyObject(string activeDirectoryPath, GroupPolicyObjectSettings settings = null) { settings = new GroupPolicyObjectSettings(); trycatch(() => instance.OpenDSGPO(activeDirectoryPath, settings.Flag), "Unable to open GPO at ActiveDirectory path '{0}'", activeDirectoryPath); }