_ _____ _______ _ _ _______ _______ _____ _______ _ _
| | | | |____/ |______ | | | | | |_____|
|_____ |_____| |_____ | \_ ______| | | | __|__ | | |
.--. .--. .--.
/.-. '----------. /.-. '----------. /.-. '----------.
\'-' .---'-''-'-' \'-' .--'--''-'-' \'-' .--'--'-''-'
'--' '--' '--'
A tiny small tool built to detect and fix common misconfigurations in Active Directory Certificate Services.
- Open a PowerShell prompt and run
Install-Module -Name Locksmith -Scope CurrentUser
- Download the latest module version ( Locksmith-v<YEAR>.<MONTH>.zip )
- Extract the downloaded zip file
- Open a PowerShell prompt to the loction of the extracted file and run
Import-Module Locksmith.psd1
- Download the latest script version: https://github.com/TrimarcJake/Locksmith/releases/latest/download/Invoke-Locksmith.zip
- Extract the downloaded zip file
Running Invoke-Locksmith.ps1
with no parameters or with -Mode 0
will scan the current Active Directory forest and output all discovered AD CS issues to the console in Table format.
# Module Syntax
PS> Invoke-Locksmith
# Script Syntax
PS> .\Invoke-Locksmith.ps1
Example Output for Mode 0: https://github.com/TrimarcJake/Locksmith/blob/main/examples/Mode0.md
This mode scans the current forest and outputs all discovered AD CS issues and possible fixes to the console in List format.
# Module Syntax
PS> Invoke-Locksmith -Mode 1
# Script Syntax
PS> .\Invoke-Locksmith.ps1 -Mode 1
Example Output for Mode 1: https://github.com/TrimarcJake/Locksmith/blob/main/examples/Mode1.md
Locksmith Mode 2 scans the current forest and outputs all discovered AD CS issues to ADCSIssues.CSV in the present working directory.
# Module Syntax
PS> Invoke-Locksmith -Mode 2
# Script Syntax
PS> .\Invoke-Locksmith.ps1 -Mode 2
Example Output for Mode 2: https://github.com/TrimarcJake/Locksmith/blob/main/examples/Mode2.md
In Mode 3, Locksmith scans the current forest and outputs all discovered AD CS issues and example fixes to ADCSRemediation.CSV in the present working directory.
# Module Syntax
PS> Invoke-Locksmith -Mode 3
# Script Syntax
PS> .\Invoke-Locksmith.ps1 -Mode 3
Example Output for Mode 3: https://github.com/TrimarcJake/Locksmith/blob/main/examples/Mode3.md
Mode 4 is the "easy button." Running Locksmith in Mode 4 will identify all misconfigurations and offer to fix each issue. If there is any possible operational impact, Locksmith will warn you.
# Module Syntax
PS> Invoke-Locksmith -Mode 4
# Script Syntax
PS> .\Invoke-Locksmith.ps1 -Mode 4
Example Output for Mode 4: https://github.com/TrimarcJake/Locksmith/blob/main/examples/Mode4.md