69 lines
2.1 KiB
PowerShell
69 lines
2.1 KiB
PowerShell
|
|
# Modules\ConfigService.ps1
|
||
|
|
# Configuration Management Module for Enterprise Admin Studio
|
||
|
|
|
||
|
|
$global:AppConfigPath = Join-Path (Split-Path -Parent $PSScriptRoot) "config.json"
|
||
|
|
|
||
|
|
function Get-AppConfig {
|
||
|
|
if (-not (Test-Path $global:AppConfigPath)) {
|
||
|
|
$defaultConfig = @{
|
||
|
|
Application = @{
|
||
|
|
LiveMode = $false
|
||
|
|
Theme = "Dark"
|
||
|
|
AutoRefreshSeconds = 60
|
||
|
|
}
|
||
|
|
ActiveDirectory = @{
|
||
|
|
UseLive = $false
|
||
|
|
DomainController = "dc01.corp.local"
|
||
|
|
Domain = "corp.local"
|
||
|
|
BaseOU = "DC=corp,DC=local"
|
||
|
|
UseLdaps = $false
|
||
|
|
Username = ""
|
||
|
|
Password = ""
|
||
|
|
}
|
||
|
|
NetApp = @{
|
||
|
|
UseLive = $false
|
||
|
|
ClusterEndpoint = "https://10.200.10.50"
|
||
|
|
Port = 443
|
||
|
|
DefaultSvm = "svm_cifs_prod01"
|
||
|
|
Username = "admin"
|
||
|
|
Password = ""
|
||
|
|
IgnoreSslErrors = $true
|
||
|
|
}
|
||
|
|
MsSql = @{
|
||
|
|
UseLive = $false
|
||
|
|
Server = "localhost"
|
||
|
|
AuthType = "Integrated"
|
||
|
|
Username = "sa"
|
||
|
|
Password = ""
|
||
|
|
DefaultDatabase = "master"
|
||
|
|
ConnectionTimeout = 10
|
||
|
|
BackupDirectory = "C:\Backups"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
$json = $defaultConfig | ConvertTo-Json -Depth 5
|
||
|
|
[System.IO.File]::WriteAllText($global:AppConfigPath, $json, [System.Text.Encoding]::UTF8)
|
||
|
|
return $defaultConfig
|
||
|
|
}
|
||
|
|
|
||
|
|
try {
|
||
|
|
$raw = [System.IO.File]::ReadAllText($global:AppConfigPath, [System.Text.Encoding]::UTF8)
|
||
|
|
return ($raw | ConvertFrom-Json)
|
||
|
|
} catch {
|
||
|
|
Write-Warning "설정 파일 로드 실패, 기본값을 사용합니다: $_"
|
||
|
|
return $null
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
function Save-AppConfig {
|
||
|
|
param([object]$Config)
|
||
|
|
|
||
|
|
try {
|
||
|
|
$json = $Config | ConvertTo-Json -Depth 5
|
||
|
|
[System.IO.File]::WriteAllText($global:AppConfigPath, $json, [System.Text.Encoding]::UTF8)
|
||
|
|
return $true
|
||
|
|
} catch {
|
||
|
|
Write-Error "설정 저장 실패: $_"
|
||
|
|
return $false
|
||
|
|
}
|
||
|
|
}
|