noid-privacy/Modules/AdvancedSecurity/AdvancedSecurity.psm1

66 lines
1.6 KiB
PowerShell
Raw Normal View History

# AdvancedSecurity Module Loader
# Version: 2.2.0
# Description: Advanced Security Hardening - Beyond Microsoft Security Baseline
# Get module path
$ModulePath = $PSScriptRoot
# Load Private functions
$PrivateFunctions = @(
'Enable-RdpNLA',
'Set-WDigestProtection',
'Disable-AdminShares',
'Disable-RiskyPorts',
'Stop-RiskyServices',
'Disable-WPAD',
'Disable-LegacyTLS',
'Remove-PowerShellV2',
'Block-FingerProtocol',
'Set-SRPRules',
'Set-WindowsUpdate',
'Set-WirelessDisplaySecurity',
'Set-DiscoveryProtocolsSecurity',
'Set-FirewallShieldsUp',
'Set-IPv6Security',
'Test-RdpSecurity',
'Test-WDigest',
'Test-RiskyPorts',
'Test-RiskyServices',
'Test-AdminShares',
'Test-SRPCompliance',
'Test-WindowsUpdate',
'Test-LegacyTLS',
'Test-WPAD',
'Test-PowerShellV2',
'Test-FingerProtocol',
'Test-WirelessDisplaySecurity',
'Test-DiscoveryProtocolsSecurity',
'Test-FirewallShieldsUp',
'Test-IPv6Security',
'Backup-AdvancedSecuritySettings'
)
foreach ($function in $PrivateFunctions) {
$functionPath = Join-Path $ModulePath "Private\$function.ps1"
if (Test-Path $functionPath) {
. $functionPath
}
}
# Load Public functions
$PublicFunctions = @(
'Invoke-AdvancedSecurity',
'Test-AdvancedSecurity',
'Restore-AdvancedSecuritySettings'
)
foreach ($function in $PublicFunctions) {
$functionPath = Join-Path $ModulePath "Public\$function.ps1"
if (Test-Path $functionPath) {
. $functionPath
}
}
# Export only Public functions
Export-ModuleMember -Function $PublicFunctions