SqlSpnManager
1.4.0
Minimum PowerShell version
5.1
Installation Options
Owners
Copyright
(c) Keith Ramsey. All rights reserved.
Package Details
Author(s)
- Keith Ramsey
Tags
SQL SPN Kerberos ActiveDirectory AD FCI AlwaysOn AG Authentication Audit EventLog SIEM DBA Governance ServicePrincipalName CrossForest gMSA ManagedServiceAccount Windows
Functions
Add-SqlSpn Assert-SqlAccountStandard Export-SqlSpnRegistrationScript Get-SqlSpnAccount Get-SqlSpnDiscoveryEngine Get-SqlSpnInfrastructure Invoke-SqlSpnExecutionEngine New-SqlSpnPlan Remove-SqlSpn Show-SqlSpnDiagnostic Start-SqlSpnConfiguration Start-SqlSpnManager Test-SqlSpnPlan
PSEditions
Dependencies
This module has no dependencies.
Release Notes
v1.4.0 (Phase 3 close - DR-309 + DR-311):
- Public surface narrowed to the lab-proven Engine core (DR-309):
Role in {Engine, Agent} x Scenario in {Standalone, AlwaysOn, FCI}.
SSAS, SSRS, PBIRS, Browser, MSDTC deferred as named, demand-sequenced,
prove-before-expose post-v1 expansions (internal tables unchanged).
- Added Export-SqlSpnRegistrationScript (DR-311): renders a plan into a
clean setspn command bundle for an AD admin to execute. Supports Cmd
and PowerShell formats. Output carries provenance: module version,
plan GUID, UTC stamp, target account sAMAccountName + DN. Closes the
workflow for AD-segregated organisations (regulated environments,
anywhere the DBA does not have AD write rights).
- DR-307 closed as documented v1 limitation (option c): English-locale
assumption for setspn success detection; engineered fix deferred as a
named post-v1 increment, reopens on real demand signal.
- DR-310 (Level 1 testing standard) implemented across the unit suite:
tests run our own real functions and substitute ONLY the true external
edge (setspn / AD cmdlets / OS APIs). Surfaced and removed a tautology
test and a 30s remote-registry network hang.
- 213/213 Pester 5 tests; PSScriptAnalyzer gate clean; lab-validated
Waves 1-3 on a real domain 2026-05-17.
FileList
- SqlSpnManager.nuspec
- Docs\COMMAND_EXAMPLES.md
- Docs\Configuration.md
- Docs\FOR-SYSADMINS.md
- Docs\HOW-TO-USE-SQLSPNMANAGER.md
- Docs\QUICKSTART.md
- Docs\SOP.md
- Docs\SQLSPNMANAGER-VS-RAW-SETSPN.md
- LICENSE
- Private\Get-SqlAccountPolicy.ps1
- Private\Get-SqlActualPort.ps1
- Private\Get-SqlRoleMetadata.ps1
- Private\Get-SqlSpnExecutionConfirmation.ps1
- Private\Get-SqlSpnScenarioChoice.ps1
- Private\Get-SqlSpnSourceChoice.ps1
- Private\Get-SqlSpnTargetName.ps1
- Private\Get-SqlSpnVisualAccountSelection.ps1
- Private\Invoke-SqlSpnNativeCall.ps1
- Private\Invoke-SqlSpnSetspnAction.ps1
- Private\Resolve-SqlPolicyFromContext.ps1
- Private\Resolve-SqlSpnFciCno.ps1
- Private\Resolve-SqlSpnLogPath.ps1
- Private\Resolve-SqlSpnStandardPool.ps1
- Private\Resolve-SqlSpnVirtualAccount.ps1
- Private\Test-SqlAdPermission.ps1
- Private\Write-SqlSpnEventLog.ps1
- Private\Write-SqlSpnLog.ps1
- Public\Add-SqlSpn.ps1
- Public\Assert-SqlAccountStandard.ps1
- Public\Export-SqlSpnRegistrationScript.ps1
- Public\Get-SqlSpnAccount.ps1
- Public\Get-SqlSpnDiscoveryEngine.ps1
- Public\Get-SqlSpnInfrastructure.ps1
- Public\Invoke-SqlSpnExecutionEngine.ps1
- Public\New-SqlSpnPlan.ps1
- Public\Remove-SqlSpn.ps1
- Public\Show-SqlSpnDiagnostic.ps1
- Public\Start-SqlSpnConfiguration.ps1
- Public\Start-SqlSpnManager.ps1
- Public\Test-SqlSpnPlan.ps1
- SqlSpnManager.psd1
- SqlSpnManager.psm1
- readme.md
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 1.4.1 | 0 | 5/24/2026 |
| 1.4.0 (current version) | 0 | 5/24/2026 |