diff --git a/Build/Export-WebsiteArtifacts.ps1 b/Build/Export-WebsiteArtifacts.ps1 index 3ecc637..6d68b0a 100644 --- a/Build/Export-WebsiteArtifacts.ps1 +++ b/Build/Export-WebsiteArtifacts.ps1 @@ -216,7 +216,7 @@ $commit = (& git -C $repoRoot rev-parse HEAD).Trim() $manifest = [ordered]@{ slug = $slug name = $moduleName - description = 'GPOZaurr website artifacts for the Evotec multi-project hub.' + description = 'GPOZaurr helps inspect, report on, and remediate Group Policy environments with PowerShell.' mode = 'hub-full' contentMode = 'hybrid' status = 'active' @@ -231,12 +231,12 @@ $manifest = [ordered]@{ docs = $true apiPowerShell = $true apiDotNet = $false - examples = $false + examples = $true } artifacts = [ordered]@{ api = 'WebsiteArtifacts/apidocs' docs = 'Website/content/project-docs' - examples = 'Examples' + examples = 'content/examples' } } diff --git a/Website/content/project-docs/docs/_index.md b/Website/content/project-docs/docs/_index.md new file mode 100644 index 0000000..69fe0c9 --- /dev/null +++ b/Website/content/project-docs/docs/_index.md @@ -0,0 +1,18 @@ +--- +title: "GPOZaurr Docs" +description: "Curated documentation workspace for GPOZaurr." +layout: "docs" +--- + +GPOZaurr documentation now uses the same project-scoped workspace layout as the API so you can browse without losing context. + +## Start here + +- [Documentation overview](/projects/gpozaurr/docs/overview/) +- [Install](/projects/gpozaurr/docs/install/) +- [Back to project overview](/projects/gpozaurr/) + +## Notes + +- API reference lives under [/projects/gpozaurr/api/](/projects/gpozaurr/api/). +- Example scripts remain attached to the project and can be promoted into curated walkthroughs over time. diff --git a/Website/content/project-docs/docs/install.md b/Website/content/project-docs/docs/install.md new file mode 100644 index 0000000..a82cc84 --- /dev/null +++ b/Website/content/project-docs/docs/install.md @@ -0,0 +1,21 @@ +--- +title: "GPOZaurr Install" +description: "Installation options for GPOZaurr." +--- + +## PowerShell Gallery + +```powershell +Install-Module GPOZaurr -Scope CurrentUser +``` + +## Source checkout + +```bash +git clone https://github.com/EvotecIT/GPOZaurr.git +``` + +## Next steps + +- Browse API: [/projects/gpozaurr/api/](/projects/gpozaurr/api/) +- Return to project overview: [/projects/gpozaurr/](/projects/gpozaurr/) diff --git a/Website/content/project-docs/docs/overview.md b/Website/content/project-docs/docs/overview.md new file mode 100644 index 0000000..be023bc --- /dev/null +++ b/Website/content/project-docs/docs/overview.md @@ -0,0 +1,18 @@ +--- +title: "GPOZaurr Overview" +description: "Overview for GPOZaurr on Evotec website." +--- + +GPOZaurr is a PowerShell module for Group Policy diagnostics, analysis, and remediation workflows. + +## What to use here + +- Use this Docs area for curated onboarding and operational guidance. +- Use the API tab for cmdlet reference generated from project API artifacts. +- Use the project overview as the landing page for curated workflows until dedicated examples are published. + +## Quick links + +- Project overview: [/projects/gpozaurr/](/projects/gpozaurr/) +- API tab: [/projects/gpozaurr/api/](/projects/gpozaurr/api/) +- Source repository: [EvotecIT/GPOZaurr](https://github.com/EvotecIT/GPOZaurr) diff --git a/content/examples/_index.md b/content/examples/_index.md new file mode 100644 index 0000000..44acdfb --- /dev/null +++ b/content/examples/_index.md @@ -0,0 +1,22 @@ +--- +title: "GPOZaurr Examples" +description: "Curated examples for common Group Policy administration and cleanup workflows." +layout: docs +--- + +These examples are maintained with the GPOZaurr repository and chosen for the website because they explain a real administrative workflow. + +## Featured examples + +
+ + Safe cleanup +

Back up disabled or empty GPOs

+

Create a focused backup set before removing stale Group Policy Objects.

+
+ + Permission review +

Find Group Policy permission issues

+

List permission problems that should be reviewed before remediation work starts.

+
+
diff --git a/content/examples/backup-disabled-or-empty-gpos.md b/content/examples/backup-disabled-or-empty-gpos.md new file mode 100644 index 0000000..2c7fdee --- /dev/null +++ b/content/examples/backup-disabled-or-empty-gpos.md @@ -0,0 +1,43 @@ +--- +title: "Back up disabled or empty GPOs" +description: "Back up selected Group Policy Objects and verify the resulting backup set." +layout: docs +--- + +This example shows a practical starting point for cleaning up or reviewing older Group Policy environments before deeper remediation work. + +It comes from the source example at `Examples/Example-01-BackupGPOs.ps1`. + +## When to use this pattern + +- You want to back up stale or disabled GPOs before any cleanup work. +- You need a quick inventory of what was actually exported. +- You want a repeatable backup step before broader Group Policy review. + +## Example + +```powershell +Import-Module "$PSScriptRoot\..\GPoZaurr.psd1" -Force + +$GPOSummary = Backup-GPOZaurr ` + -BackupPath "$Env:UserProfile\Desktop\GPO" ` + -Verbose ` + -Type Disabled, Empty ` + -IncludeDomains 'ad.evotec.pl' + +$GPOSummary | Format-Table -AutoSize + +if ($GPOSummary) { + Get-GPOZaurrBackupInformation -BackupFolder $GPOSummary[0].BackupDirectory | Format-Table -AutoSize +} +``` + +## What this demonstrates + +- targeted GPO backup instead of exporting everything blindly +- focusing on disabled or empty policies first +- validating the produced backup set after the export + +## Source + +- [Example-01-BackupGPOs.ps1](https://github.com/EvotecIT/GPOZaurr/blob/master/Examples/Example-01-BackupGPOs.ps1) diff --git a/content/examples/find-group-policy-permission-issues.md b/content/examples/find-group-policy-permission-issues.md new file mode 100644 index 0000000..c1946c0 --- /dev/null +++ b/content/examples/find-group-policy-permission-issues.md @@ -0,0 +1,34 @@ +--- +title: "Find Group Policy permission issues" +description: "Use GPOZaurr to list permission problems that should be reviewed before cleanup or remediation." +layout: docs +--- + +This example is a practical first pass for environments where Group Policy permissions have changed over time and nobody is fully sure what still matches the intended model. + +It comes from the source example at `Examples/Example-08-ListingPermissionIssues.ps1`. + +## When to use this pattern + +- You want to identify GPO permission problems before making changes. +- You need evidence for a cleanup or remediation plan. +- You want a small, repeatable report that can be reviewed by the directory operations team. + +## Example + +```powershell +Import-Module "$PSScriptRoot\..\GPoZaurr.psd1" -Force + +$Issues = Get-GPOZaurrPermissionIssue +$Issues | Format-Table -AutoSize +``` + +## What this demonstrates + +- separating discovery from remediation +- getting a reviewable list of permission issues +- creating a safer starting point for Group Policy cleanup + +## Source + +- [Example-08-ListingPermissionIssues.ps1](https://github.com/EvotecIT/GPOZaurr/blob/master/Examples/Example-08-ListingPermissionIssues.ps1)