TestEnvironment

1.0.0

Seeds a realistic identity test environment in Entra ID, Active Directory, Okta, Authentik or FreeIPA - users in every lifecycle state, groups, devices and hosts, and the access policy over them - and tears it down again cleanly, proving ownership of every object before deleting it. One connect-seed-report-teardown surface for all five, no module dependencies, Windows
Seeds a realistic identity test environment in Entra ID, Active Directory, Okta, Authentik or FreeIPA - users in every lifecycle state, groups, devices and hosts, and the access policy over them - and tears it down again cleanly, proving ownership of every object before deleting it. One connect-seed-report-teardown surface for all five, no module dependencies, Windows PowerShell 5.1 and PowerShell 7.
Show more

Minimum PowerShell version

5.1

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name TestEnvironment -RequiredVersion 1.0.0

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name TestEnvironment -Version 1.0.0

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) 2026 EntraVantage LLC. All rights reserved.

Package Details

Author(s)

  • Jeffrey Stuhr

Tags

TestData TestEnvironment SeedData Identity IAM IdentityManagement Entra EntraID AzureAD MicrosoftGraph ActiveDirectory Okta Authentik FreeIPA Kerberos LDAP ConditionalAccess PIM HBAC Sudo Automation Pester Lab Windows Linux MacOS

Functions

Connect-TestEnvironment Disconnect-TestEnvironment Get-TestEnvironmentProvider New-TestEnvironment Remove-TestEnvironment Get-TestEnvironmentReport Get-TestAccessToken New-TestServiceApp Get-TestServiceApp Update-TestContainment New-EntraAdministrativeUnit New-EntraUser New-EntraGuestUser New-EntraGroup New-EntraDevice New-EntraApplication New-EntraNamedLocation New-EntraConditionalAccessPolicy New-EntraAuthenticationStrength New-EntraDirectoryRole New-EntraRoleEligibility New-EntraDirectoryExtension Set-EntraLicense New-ADTestOUStructure New-ADTestUser New-ADTestDevice New-ADTestSecurityGroups New-ADTestServiceAccount New-ADTestEdgeCase New-ADTestGroupPolicy Get-ADTestPasswordFromVault New-OktaProfileAttribute New-OktaUser New-OktaGroup New-OktaGroupRule New-OktaApp New-OktaUserType New-OktaNetworkZone New-OktaPolicy New-OktaLinkedObject New-OktaTrustedOrigin New-OktaEventHook New-AuthentikGroup New-AuthentikUser New-AuthentikRole New-AuthentikApplication New-AuthentikOutpost New-AuthentikFlow New-AuthentikScopeMapping New-AuthentikEntitlement New-AuthentikPolicy New-AuthentikNotificationRule New-AuthentikBinding New-AuthentikToken New-AuthentikInvitation New-FreeIPAGroup New-FreeIPAUser New-FreeIPAHostgroup New-FreeIPAHost New-FreeIPANetgroup New-FreeIPAHbacRule New-FreeIPASudoRule New-FreeIPARole New-FreeIPAPasswordPolicy New-FreeIPAService New-FreeIPAIdView New-FreeIPAOtpToken New-FreeIPAAutomemberRule New-FreeIPAAutomount New-FreeIPASelinuxUserMap New-FreeIPACertMapRule New-FreeIPACaAcl New-FreeIPACertificate New-FreeIPADnsZone New-FreeIPAIdentityProvider

PSEditions

Desktop Core

Dependencies

This module has no dependencies.

Release Notes

1.0.0 - First release.

Five providers behind one connect-seed-report-teardown surface:

- Entra ID: ~1,150 objects across twelve types, held in administrative units.
- Active Directory: ~1,100 objects across five types, held in OU=TestData.
- Okta: ~60 objects across ten types, seed-tagged.
- Authentik: ~480 objects across seventeen types, under a user path of their own.
- FreeIPA: ~970 objects across twenty-eight types, seed-tagged, in DNS zones of their own.

The Entra and Active Directory providers seed the same people, so hybrid identity matching
is testable across the two.

Every provider proves ownership before deleting anything, never puts a directory into an
enforcing state (a seeded Conditional Access policy is report-only, a seeded PIM eligibility
is never active, a stock FreeIPA rule is never touched, and none of that is a parameter),
and honours -WhatIf over -Force on every destructive command. RequiredModules is empty:
importing this module installs nothing. The AD provider imports RSAT at connect time; the
other four run from a stock host on any platform.

See CHANGELOG.md for the detail.

FileList

Version History

Version Downloads Last updated
1.1.0 6 9/12/2026
1.0.0 (current version) 6 9/12/2026