The pwsh relaunch existed only to get ForEach-Object -Parallel for shard transfers. Downloads now run concurrently on Windows PowerShell 5.1 through Invoke-InModuleRunspace and the publisher no longer uploads, so Update-KHDB.ps1, Update-LithnetStore.ps1 and Uninstall.ps1 just run in whichever PowerShell starts them. The Windows PowerShell relaunch stays for the two AD wrappers (Test-WeakADPasswords.ps1, Extract-NTHashes.ps1): DSInternals and ActiveDirectory need the Desktop edition. They now dot-source src/Elysium/Private/Relaunch.ps1 directly instead of the loader. Restart-WithPwshIfAvailable is removed. With no script dot-sourcing it any more, the transitional Elysium.Common.ps1 loader is deleted; every wrapper imports the module from src/Elysium. AGENTS.md's edition rules and the "new script" guidance now describe the module layout (cmdlet in Public/, export in the manifest, no `exit` in module code); README describes 5.1/7 support. Verified on pwsh 7: with a fake powershell.exe on PATH both AD wrappers ask it to run themselves; Update-KHDB.ps1 -MaxParallelTransfers 3 syncs 4 shards from a local HTTP server with no relaunch; Uninstall.ps1 still cancels on a wrong answer; 31/31 Pester tests and the decrypt round trip pass.
40 lines
1.4 KiB
PowerShell
40 lines
1.4 KiB
PowerShell
##################################################
|
|
## ____ ___ ____ _____ _ _ _____ _____ ##
|
|
## / ___/ _ \| _ \| ____| | \ | | ____|_ _| ##
|
|
## | | | | | | |_) | _| | \| | _| | | ##
|
|
## | |__| |_| | _ <| |___ _| |\ | |___ | | ##
|
|
## \____\__\_\_| \_\_____(_)_| \_|_____| |_| ##
|
|
##################################################
|
|
## Project: Elysium ##
|
|
## File: Update-LithnetStore.ps1 ##
|
|
## Support: support@cqre.net ##
|
|
##################################################
|
|
|
|
<#
|
|
.SYNOPSIS
|
|
Populates a Lithnet Password Protection store with compromised passwords and banned words.
|
|
|
|
.DESCRIPTION
|
|
Reads configuration from ElysiumSettings.txt (or a provided settings file), opens the Lithnet
|
|
Password Protection store, optionally synchronizes with Have I Been Pwned, imports local NTLM
|
|
hash lists, plaintext password lists, and banned-word files.
|
|
|
|
Thin wrapper around the Update-ElysiumLithnetStore cmdlet in src/Elysium, kept so existing
|
|
invocations and the menu keep working.
|
|
#>
|
|
|
|
[CmdletBinding()]
|
|
param(
|
|
[string]$SettingsPath,
|
|
[string[]]$HashFiles,
|
|
[string[]]$PlaintextFiles,
|
|
[string[]]$BannedWordFiles,
|
|
[switch]$SkipHibpSync
|
|
)
|
|
|
|
$ErrorActionPreference = 'Stop'
|
|
Set-StrictMode -Version Latest
|
|
|
|
Import-Module -Name (Join-Path -Path $PSScriptRoot -ChildPath 'src/Elysium/Elysium.psd1') -Force
|
|
Update-ElysiumLithnetStore @PSBoundParameters
|