Prerequisites
- At least one organization with an online host running the Go agent v1.7.0 or later
- The probe host must be a domain-joined Windows server with RSAT tools installed (
RSAT-AD-PowerShell,RSAT-AD-Tools) - The probe host must have
repadminavailable for replication health checks - Role with ad.view for read operations
- Role with ad.manage for configuration and triggering scans
- Role with ad.execute for ADGLP remediation and creating backups
- Role with ad.restore for restoring from backup (highest privilege level)
Install-WindowsFeature RSAT-AD-PowerShell, RSAT-AD-Tools
Registering a forest
Each AD forest must be registered before SPOG can scan or manage it. One forest DNS name is allowed per organization.
- Identify a domain-joined Windows host in the target organization that has RSAT installed -- this becomes the probe host
- Navigate to Active Directory > Forests
- Click Register Forest
- Enter the Forest DNS Name -- this must be the FQDN of the forest root domain (e.g.,
corp.example.com) - Select the Probe Host -- must belong to the same organization
- Set the Scan Interval (1-168 hours, default: 6)
- Click Save
Running inventory scans
Inventory scans enumerate users, computers, groups, OUs, GPOs, domain controllers, sites, subnets, and service accounts across the forest.
- Navigate to the forest detail page
- Click Run Inventory Scan (requires ad.manage)
- The system dispatches a job to the probe host. Status begins as
pending. - Once complete, view results on the Inventory tab
Scan results include
- Denormalized counts: total users, computers, groups, OUs, GPOs, DCs
- Domain controller details with OS versions
- Sites and subnets topology
- GPO summary
- Server and client OS distribution breakdown
- Group type distribution
Stale account detection
Configure policies to identify dormant or unused user and computer accounts that may pose security risks.
- Navigate to the forest detail page > Stale Accounts tab
- Click Create Policy
- Select the object type:
userorcomputer(one policy per type per forest) - Configure detection thresholds
- Set the scan interval (1-168 hours, default: 24)
- Click Save
Viewing results
After a scan completes, the results page shows per-account details including DN, SAM account name, display name, last logon date, creation date, enabled status, and password last set date. Use this data to feed your deprovisioning or cleanup workflows.
On-demand scan
Trigger an immediate stale audit by clicking Scan Now on the stale accounts tab. Filter by user or computer.
Replication health monitoring
Monitor AD replication convergence and identify failing replication partnerships before they cause data inconsistency.
- Navigate to the forest detail page > Replication tab
- Click Run Replication Check (or wait for scheduled check)
- Review the results dashboard
Result fields
repadmin /replsummary outputUse the History tab to view replication trends over time and spot degrading partnerships.
Group analysis and ADGLP remediation
Analyze AD group structures for nesting violations, circular memberships, ADGLP policy violations, empty groups, and direct permission assignments.
- Navigate to the forest detail page > Groups tab
- Click Run Group Analysis
- Once complete, review violations and the recommended remediation plan
Executing ADGLP remediation
- Review the ADGLP remediation plan on the analysis detail page
- Click Execute Remediation (requires ad.execute)
- Confirm the list of modifications: each is an
add_memberorremove_memberaction with group DN and member DN - The system creates a job with no automatic retries for safety
- Monitor the job on the Jobs page
WEF event monitoring
Monitor security events from Windows Event Forwarding across your forest. Configure which event categories to collect and how frequently to poll.
- Navigate to the forest detail page > Events tab
- Click Configure Event Monitoring
- Toggle event categories on or off
- Optionally add watched group DNs for targeted group change monitoring
- Set the poll interval (60-86400 seconds, default: 300)
- Click Save
Event type mappings
| Windows Event ID | Event Type |
|---|---|
| 4728, 4732, 4756 | group_member_added |
| 4729, 4733, 4757 | group_member_removed |
| 4624 | logon_success |
| 4625 | logon_failure |
| 4740 | account_lockout |
| 4768 | kerberos_tgt_request |
| 4769 | kerberos_service_ticket |
| 4771 | kerberos_preauth_failure |
Monitoring configuration toggles
View collected events at Events > Event Log. Filter by event type, date range, or use the summary view for aggregated counts over a configurable time window.
Backup and restore
Creating a backup
- Navigate to the forest detail page > Backups tab
- Click Create Backup (requires ad.execute)
- Select the backup type:
system_state,gpo, ordns_zone - For GPO backups: enter the GPO name and GUID
- For DNS zone backups: enter the zone name
- Add an optional description
- Click Start Backup
pending → uploading → completed (or failed)Downloading a backup
- Navigate to the backup list and find the completed backup
- Click Download (requires ad.view)
- The file is decrypted on the fly and streamed to your browser
- SHA-256 hash is verified after decryption for integrity
- The download is recorded in the audit log
Restoring from backup
- Find the completed backup on the Backups tab
- Click Restore (requires ad.restore -- highest privilege level)
- Confirm the restore operation
- The probe agent downloads the backup (decrypted on the fly by the server) and executes the restore
- Monitor the restore job on the Jobs page
ad.restore is the highest AD permission level. Only grant it to senior administrators. Restore operations cannot be undone.
Deleting a backup
Click Delete on a backup record (requires ad.manage). This removes both the database record and the encrypted file from disk. There is no automated backup retention policy -- manage cleanup manually.
Cross-forest dashboard
The AD dashboard aggregates data across all active forests for a given organization, showing total counts of forests, domains, users, computers, groups, and domain controllers along with per-forest summaries from the latest completed inventory scans.
Scan interval reference
| Scan type | Range | Default | Notes |
|---|---|---|---|
| Forest inventory | 1-168 hours | 6 hours | Scheduler checks every 30 min |
| Stale account audit | 1-168 hours | 24 hours | One policy per object type per forest |
| Event collection | 60-86400 seconds | 300 seconds | Uses high-water mark cursor |
Permissions reference
| Permission | Grants |
|---|---|
| ad.view | List/view forests, domains, inventory, stale results, replication, groups, events, backups, download backups, dashboard |
| ad.manage | Create/update/delete forests and stale policies. Configure event monitoring. Trigger inventory, stale, replication, and group scans. Delete backups. |
| ad.execute | Execute ADGLP remediation (group modifications). Create backups. |
| ad.restore | Restore from backup. Highest privilege level. |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No scans running | Forest is disabled or no probe host assigned | Enable the forest and assign a probe host |
| Scan stuck in "pending" | Probe host offline or agent not polling | Verify probe host status is "online" on the Hosts page |
| All AD jobs failing | Probe host missing RSAT tools | Install RSAT on the probe host (see prerequisites) |
| 422 on forest create | Probe host in different org | Probe host must belong to the same organization as the forest |
| 409 on forest create | A forest with that DNS name already exists in the organization | Update or delete the existing forest first |
| 409 on stale policy create | Policy already exists for that object type | Update the existing policy or delete it first |
| 422 on restore | Backup not in "completed" status | Wait for backup to complete or choose a different backup |
| Missing events | Event cursor not reset | The event collection cursor may need manual reset if events were missed while the agent was offline |
| Dashboard shows no counts | No completed inventory scans | Run an inventory scan first |
| Backup files accumulating | No automated retention policy | There is no automated backup cleanup. Delete old backups manually from the Backups tab. |