Skip to content

feat(gpo): add module for managing GPO links#245

Open
ronger4 wants to merge 7 commits into
ansible-collections:mainfrom
ronger4:dev/gpo_link_mang
Open

feat(gpo): add module for managing GPO links#245
ronger4 wants to merge 7 commits into
ansible-collections:mainfrom
ronger4:dev/gpo_link_mang

Conversation

@ronger4
Copy link
Copy Markdown
Contributor

@ronger4 ronger4 commented May 26, 2026

SUMMARY

  • Add new microsoft.ad.gpo module for managing Group Policy Object (GPO) links on Active Directory targets (OUs, domains, sites).
  • Supports creating, updating, and removing GPO links with configurable enabled, enforced, and order properties.
  • GPOs can be identified by display name or GUID; targets are specified as distinguished names.

ISSUE TYPE

  • New Module Pull Request

COMPONENT NAME

  • plugins/modules/gpo.ps1
  • plugins/modules/gpo.yml
  • tests/integration/targets/gpo/

ADDITIONAL INFORMATION

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 26, 2026

Docs Build 📝

Thank you for contribution!✨

The docsite for this PR is available for download as an artifact from this run:
https://github.com/ansible-collections/microsoft.ad/actions/runs/26517786448

You can compare to the docs for the main branch here:
https://ansible-collections.github.io/microsoft.ad/branch/main

File changes:

  • A collections/microsoft/ad/gpo_module.html
  • M collections/index_module.html
  • M collections/microsoft/ad/fs_trust_module.html
  • M collections/microsoft/ad/group_module.html
  • M collections/microsoft/ad/index.html
Click to see the diff comparison.

NOTE: only file modifications are shown here. New and deleted files are excluded.
See the file list and check the published docs to see those files.

diff --git a/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/base/collections/index_module.html b/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/head/collections/index_module.html
index adf0543..3bceef3 100644
--- a/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/base/collections/index_module.html
+++ b/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/head/collections/index_module.html
@@ -132,6 +132,7 @@
 <li><p><a class="reference internal" href="microsoft/ad/domain_trust_module.html#ansible-collections-microsoft-ad-domain-trust-module"><span class="std std-ref">microsoft.ad.domain_trust</span></a> – Manage Active Directory domain trusts</p></li>
 <li><p><a class="reference internal" href="microsoft/ad/fs_claim_rule_module.html#ansible-collections-microsoft-ad-fs-claim-rule-module"><span class="std std-ref">microsoft.ad.fs_claim_rule</span></a> – Manage AD FS claim rules on a Relying Party Trust</p></li>
 <li><p><a class="reference internal" href="microsoft/ad/fs_trust_module.html#ansible-collections-microsoft-ad-fs-trust-module"><span class="std std-ref">microsoft.ad.fs_trust</span></a> – Manage AD FS Relying Party Trusts</p></li>
+<li><p><a class="reference internal" href="microsoft/ad/gpo_module.html#ansible-collections-microsoft-ad-gpo-module"><span class="std std-ref">microsoft.ad.gpo</span></a> – Manage Group Policy Object links</p></li>
 <li><p><a class="reference internal" href="microsoft/ad/group_module.html#ansible-collections-microsoft-ad-group-module"><span class="std std-ref">microsoft.ad.group</span></a> – Manage Active Directory group objects</p></li>
 <li><p><a class="reference internal" href="microsoft/ad/kds_root_key_module.html#ansible-collections-microsoft-ad-kds-root-key-module"><span class="std std-ref">microsoft.ad.kds_root_key</span></a> – Manages a KDS root key in a domain</p></li>
 <li><p><a class="reference internal" href="microsoft/ad/kds_root_key_info_module.html#ansible-collections-microsoft-ad-kds-root-key-info-module"><span class="std std-ref">microsoft.ad.kds_root_key_info</span></a> – Gather information about one or more KDS root keys in a domain.</p></li>
diff --git a/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/base/collections/microsoft/ad/fs_trust_module.html b/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/head/collections/microsoft/ad/fs_trust_module.html
index 03c4626..089db5b 100644
--- a/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/base/collections/microsoft/ad/fs_trust_module.html
+++ b/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/head/collections/microsoft/ad/fs_trust_module.html
@@ -22,7 +22,7 @@
       <script src="../../../_static/sphinx_highlight.js?v=6ffebe34"></script>
     <script src="../../../_static/js/theme.js"></script>
     <link rel="search" title="Search" href="../../../search.html" />
-    <link rel="next" title="microsoft.ad.group module – Manage Active Directory group objects" href="group_module.html" />
+    <link rel="next" title="microsoft.ad.gpo module – Manage Group Policy Object links" href="gpo_module.html" />
     <link rel="prev" title="microsoft.ad.fs_claim_rule module – Manage AD FS claim rules on a Relying Party Trust" href="fs_claim_rule_module.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
 
 
@@ -488,7 +488,7 @@ To check whether it is installed, run <code class="code docutils literal notrans
 
 <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="fs_claim_rule_module.html" class="btn btn-neutral float-left" title="microsoft.ad.fs_claim_rule module – Manage AD FS claim rules on a Relying Party Trust" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="group_module.html" class="btn btn-neutral float-right" title="microsoft.ad.group module – Manage Active Directory group objects" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="gpo_module.html" class="btn btn-neutral float-right" title="microsoft.ad.gpo module – Manage Group Policy Object links" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/base/collections/microsoft/ad/group_module.html b/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/head/collections/microsoft/ad/group_module.html
index dfaa843..09106c8 100644
--- a/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/base/collections/microsoft/ad/group_module.html
+++ b/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/head/collections/microsoft/ad/group_module.html
@@ -23,7 +23,7 @@
     <script src="../../../_static/js/theme.js"></script>
     <link rel="search" title="Search" href="../../../search.html" />
     <link rel="next" title="microsoft.ad.kds_root_key module – Manages a KDS root key in a domain" href="kds_root_key_module.html" />
-    <link rel="prev" title="microsoft.ad.fs_trust module – Manage AD FS Relying Party Trusts" href="fs_trust_module.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
+    <link rel="prev" title="microsoft.ad.gpo module – Manage Group Policy Object links" href="gpo_module.html" /><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
 
 
 
@@ -706,7 +706,7 @@ see <a class="reference internal" href="#ansible-collections-microsoft-ad-group-
           
 
 <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="fs_trust_module.html" class="btn btn-neutral float-left" title="microsoft.ad.fs_trust module – Manage AD FS Relying Party Trusts" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="gpo_module.html" class="btn btn-neutral float-left" title="microsoft.ad.gpo module – Manage Group Policy Object links" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="kds_root_key_module.html" class="btn btn-neutral float-right" title="microsoft.ad.kds_root_key module – Manages a KDS root key in a domain" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
diff --git a/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/base/collections/microsoft/ad/index.html b/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/head/collections/microsoft/ad/index.html
index 1995c5f..c560ddd 100644
--- a/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/base/collections/microsoft/ad/index.html
+++ b/home/runner/work/microsoft.ad/microsoft.ad/docsbuild/head/collections/microsoft/ad/index.html
@@ -194,6 +194,7 @@
 <li><p><a class="reference internal" href="domain_trust_module.html#ansible-collections-microsoft-ad-domain-trust-module"><span class="std std-ref">domain_trust module</span></a> – Manage Active Directory domain trusts</p></li>
 <li><p><a class="reference internal" href="fs_claim_rule_module.html#ansible-collections-microsoft-ad-fs-claim-rule-module"><span class="std std-ref">fs_claim_rule module</span></a> – Manage AD FS claim rules on a Relying Party Trust</p></li>
 <li><p><a class="reference internal" href="fs_trust_module.html#ansible-collections-microsoft-ad-fs-trust-module"><span class="std std-ref">fs_trust module</span></a> – Manage AD FS Relying Party Trusts</p></li>
+<li><p><a class="reference internal" href="gpo_module.html#ansible-collections-microsoft-ad-gpo-module"><span class="std std-ref">gpo module</span></a> – Manage Group Policy Object links</p></li>
 <li><p><a class="reference internal" href="group_module.html#ansible-collections-microsoft-ad-group-module"><span class="std std-ref">group module</span></a> – Manage Active Directory group objects</p></li>
 <li><p><a class="reference internal" href="kds_root_key_module.html#ansible-collections-microsoft-ad-kds-root-key-module"><span class="std std-ref">kds_root_key module</span></a> – Manages a KDS root key in a domain</p></li>
 <li><p><a class="reference internal" href="kds_root_key_info_module.html#ansible-collections-microsoft-ad-kds-root-key-info-module"><span class="std std-ref">kds_root_key_info module</span></a> – Gather information about one or more KDS root keys in a domain.</p></li>

@centosinfra-prod-github-app
Copy link
Copy Markdown

@centosinfra-prod-github-app
Copy link
Copy Markdown

@centosinfra-prod-github-app
Copy link
Copy Markdown

@centosinfra-prod-github-app
Copy link
Copy Markdown

@centosinfra-prod-github-app
Copy link
Copy Markdown

@centosinfra-prod-github-app
Copy link
Copy Markdown

@centosinfra-prod-github-app
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant