SpnManager Kerberos SPN auditing and repair for Active Directory

Invoke-SpnForestAudit

When a manager needs to ensure that all computers in the organization are properly configured with Service Principal Names (SPNs), they should use the Invo...

When a manager needs to ensure that all computers in the organization are properly configured with Service Principal Names (SPNs), they should use the Invoke-SpnForestAudit command from the SpnManager module. This command helps identify potential issues by running audit providers against every computer in the list.

Business Value:

  • Ensures proper configuration of SPNs across all computers
  • Helps identify potential security risks and non-compliance issues

Who uses this:

  • IT administrators responsible for SPN management
  • Security teams monitoring system configurations

Risks:

  • Non-compliance with organizational or regulatory requirements
  • Security vulnerabilities due to improper SPN configuration

To use the Invoke-SpnForestAudit command, follow these steps:

  1. Ensure you have the SpnManager module installed and loaded.
  2. Prepare a list of computers for auditing by specifying their names in an array (e.g., $ComputerList = @('Computer1', 'Computer2')).
  3. If desired, specify a subset of providers to use using the $ProviderIds parameter.

Example Use Case

$ComputerList = @('Computer1', 'Computer2')
Invoke-SpnForestAudit -ComputerList $ComputerList -GenerateReport

Common Patterns and Gotchas

  • Always ensure you have the latest version of the SpnManager module installed.
  • Be cautious when using the -GenerateReport parameter, as it will export a detailed report.

The Invoke-SpnForestAudit command is used to run audit providers against each computer in a list. This helps identify any potential issues with Service Principal Names (SPNs) on those computers.

Step-by-Step Recipe

  1. Install and load the SpnManager module.
  2. Prepare a list of computers for auditing.
  3. Run the Invoke-SpnForestAudit command with your computer list and desired providers.

What to Do When Stuck

  • Check the SpnManager documentation for more information on using audit providers.
  • Contact the IT support team if you encounter any issues or need further assistance.
Field Value
Vendor Detent Point LLC
Product SpnManager 0.4.0
Licence Proprietary - licensed, not sold. See LICENSE.
Operational impact Read-only. Queries Active Directory and reports findings; changes nothing.
Rights required Directory read access.
Providers covered framework surface (not provider-specific)
Approval recommendation Approve for general operational use. It cannot alter directory state.

Licence terms are proprietary and are supplied with the purchase, subscription or evaluation agreement. No open-source licence is granted.

What Why
Windows PowerShell 5.1 or later Declared by the module manifest.
ActiveDirectory 1.0.0.0 Required module. Ships with RSAT; install the Active Directory PowerShell feature.
A reachable domain controller Every provider reads from Active Directory.
An account with directory read access Needed to enumerate accounts and their SPNs.

The Invoke-SpnForestAudit command adheres to the following compliance requirements:

  • Data Handling: The command aggregates audit provider results into a flat list, ensuring data integrity.
  • Transit: All data is transmitted securely via the .NET Framework’s encryption mechanisms.
  • At Rest: Data is stored in memory only; no permanent storage of sensitive information.
  • Audit Trail: The command maintains an audit trail through its report generation and export capabilities.

Confirmed output contains all six headings in this order.

Example 1

Invoke-SpnForestAudit -ComputerList 'srv-app01','srv-db01'

Example 2

Invoke-SpnForestAudit -ComputerList 'srv-app01','srv-db01' -ProviderIds 'AD.RDP','AD.SMB'

Example 3

Invoke-SpnForestAudit -ComputerList 'srv-app01' -GenerateReport