58 lines
2.3 KiB
PowerShell
58 lines
2.3 KiB
PowerShell
$ErrorActionPreference = "Continue"
|
|
function Load-EnvFile($path) {
|
|
$map = @{}
|
|
if (-not (Test-Path $path)) { return $map }
|
|
Get-Content $path | ForEach-Object {
|
|
$line = $_.Trim()
|
|
if (-not $line -or $line.StartsWith("#")) { return }
|
|
$i = $line.IndexOf("=")
|
|
if ($i -lt 1) { return }
|
|
$k = $line.Substring(0,$i).Trim()
|
|
$v = $line.Substring($i+1).Trim().Trim('"')
|
|
$map[$k] = $v
|
|
}
|
|
return $map
|
|
}
|
|
function Show-RedisKeys($label, $map) {
|
|
$keys = @("YTD_REDIS_HOST","YTD_REDIS_PORT","YTD_REDIS_DB","YTD_REDIS_USERNAME","YTD_REDIS_PASSWORD","REDIS_URL","REDIS_PASSWORD","REDIS_USERNAME")
|
|
Write-Host ("=== " + $label + " ===")
|
|
foreach ($k in $keys) {
|
|
if ($map.ContainsKey($k)) {
|
|
$v = $map[$k]
|
|
$safe = $v
|
|
if ($k -match "PASSWORD|URL") {
|
|
if ($k -eq "REDIS_URL" -and $v -match "redis://([^:/@]+):([^@]+)@([^:/]+)") {
|
|
Write-Host (" REDIS_URL user=" + $Matches[1] + " pw_len=" + $Matches[2].Length + " host=" + $Matches[3])
|
|
continue
|
|
}
|
|
Write-Host (" " + $k + " len=" + $v.Length)
|
|
} else {
|
|
Write-Host (" " + $k + "=" + $v)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$candidates = @(
|
|
"E:\wwwroot\.env",
|
|
"C:\yutongda\.env",
|
|
"C:\yutongda\releases\admin-rel26-local-source-20260911d\backend\.env",
|
|
"C:\yutongda\releases\admin-rel26-local-source-20260911d\.env",
|
|
"E:\wwwroot\inquiry-new\.env"
|
|
)
|
|
Get-ChildItem "C:\yutongda" -Filter ".env" -Recurse -Depth 4 -ErrorAction SilentlyContinue | Select-Object -First 10 | ForEach-Object { $candidates += $_.FullName }
|
|
$candidates = $candidates | Select-Object -Unique
|
|
foreach ($p in $candidates) {
|
|
if (Test-Path $p) { Show-RedisKeys $p (Load-EnvFile $p) }
|
|
}
|
|
# Compare whether URL password equals any YTD_REDIS_PASSWORD found
|
|
$www = Load-EnvFile "E:\wwwroot\.env"
|
|
$urlPw = $null; $urlUser = $null
|
|
if ($www["REDIS_URL"] -match "redis://([^:/@]+):([^@]+)@") { $urlUser = $Matches[1]; $urlPw = $Matches[2] }
|
|
Get-ChildItem "C:\yutongda" -Filter ".env" -Recurse -Depth 4 -ErrorAction SilentlyContinue | ForEach-Object {
|
|
$m = Load-EnvFile $_.FullName
|
|
if ($m.ContainsKey("YTD_REDIS_PASSWORD") -and $urlPw) {
|
|
$same = ($m["YTD_REDIS_PASSWORD"] -eq $urlPw)
|
|
Write-Host ("cmp " + $_.FullName + " YTD_pw_len=" + $m["YTD_REDIS_PASSWORD"].Length + " same_as_www_url_pw=" + $same + " user=" + $m["YTD_REDIS_USERNAME"])
|
|
}
|
|
}
|
|
Write-Host "COMPARE_DONE" |