28 lines
618 B
PowerShell
28 lines
618 B
PowerShell
function Get-ServerConfig {
|
|
param(
|
|
[string]$Path = ".\servers.json"
|
|
)
|
|
|
|
if (-not (Test-Path $Path)) {
|
|
throw "Config-Datei nicht gefunden: $Path"
|
|
}
|
|
|
|
return Get-Content $Path -Raw | ConvertFrom-Json
|
|
}
|
|
|
|
function Set-ServerConfig {
|
|
param(
|
|
[string]$Path = ".\servers.json",
|
|
[string]$Name
|
|
)
|
|
|
|
$servers = Get-ServerConfig -Path $Path
|
|
|
|
$server = $servers.groups.TST | Where-Object {$_.name -eq $Name}
|
|
$server | Add-Member -MemberType NoteProperty -Name "role" -Value "web"
|
|
|
|
$servers | ConvertTo-Json -Depth 10 | Set-Content $Path
|
|
|
|
|
|
return $server
|
|
} |