docs/documentation/platform/pam/discovery/active-directory.mdx
Active Directory Discovery connects to your domain controller via LDAP, enumerates all computers and user accounts in the domain, and then scans each machine for service dependencies via WinRM.
Every computer object in Active Directory is imported as a Windows Server PAM Resource. For each machine, Discovery resolves the DNS hostname to an IP address and captures:
Discovery imports two categories of accounts:
Domain Accounts — User objects from Active Directory, associated with the AD Server resource. Each account includes:
svc-*Local Accounts — User accounts local to each Windows machine, discovered via WinRM. Each account includes:
For each Windows machine reachable via WinRM, Discovery enumerates:
| Dependency Type | What's Captured |
|---|---|
| Windows Services | Service name, display name, state, start mode, path, and the account it runs as |
| Scheduled Tasks | Task name, path, logon type, run level, triggers, actions, last/next run time, and the account it runs as |
| IIS App Pools | Pool name, runtime version, pipeline mode, auto-start setting, identity type, and the account it runs as |
Each dependency is automatically linked to the PAM Account whose credentials it uses. Discovery resolves account references in multiple formats including DOMAIN\user, [email protected], UPN, and local account names.
<ParamField path="Name" type="string" required>
A friendly name for this discovery source (e.g., `corp-ad-discovery`)
</ParamField>
<ParamField path="Gateway" type="string" required>
Select the Gateway that has network access to your domain controller and Windows machines
</ParamField>
<ParamField path="Domain FQDN" type="string" required>
The fully-qualified domain name (e.g., `corp.example.com`)
</ParamField>
<ParamField path="DC Address" type="string" required>
The hostname or IP address of the domain controller (e.g., `10.0.1.10`)
</ParamField>
<ParamField path="Port" type="number" required>
The LDAP port (default: `389`)
</ParamField>
<ParamField path="Username" type="string" required>
An Active Directory account with read access to query the directory
</ParamField>
<ParamField path="Password" type="string" required>
The password for the AD account
</ParamField>
<ParamField path="Schedule" type="string">
How often to run discovery automatically:
- **Manual** — Only runs when triggered
- **Daily** — Runs once per day
- **Weekly** — Runs once per week
</ParamField>
Clicking **Create** will validate the LDAP connection through the Gateway before saving.
Each discovery scan executes two phases sequentially:
Connects to the domain controller via LDAP through the Gateway and:
For each discovered Windows machine, connects via WinRM through the Gateway and:
After a scan completes, review the results from the discovery source detail page:
From an account's detail page, select the Dependencies tab to see all services, tasks, and app pools that run under that account's credentials. Each dependency shows:
Dependencies are discovered with rotation disabled by default. To include a dependency in credential rotation:
When the account's password is rotated, Infisical will automatically update the credentials for all enabled dependencies.
<Info> The enabled/disabled state of a dependency is never overwritten by subsequent discovery scans. Your configuration is always preserved. </Info>