ps/Modules/Alkami.PowerShell.Services/Public/Test-IsNagServer.ps1

31 lines
1.1 KiB
PowerShell
Raw Normal View History

2023-05-30 22:51:22 -07:00
function Test-IsNagServer {
<#
.SYNOPSIS
Tests if the specified server is the designated Nag server for this pod.
.PARAMETER server
Server to test
#>
param(
[ValidateNotNullOrEmpty()]
[Alias("ComputerName")]
[string]$Server = "localhost"
)
# Set the path where the nag config file lives.
$orbPath = Get-OrbPath
$nagConfigFilepath = Join-Path $orbPath "\Nag\Alkami.App.Nag.Host.Service.exe.config"
if ((![string]::IsNullOrWhiteSpace($Server)) -and ($Server -ne "localhost")) {
$nagAppConfigPath = Get-UncPath -filePath $nagConfigFilepath -ComputerName $Server
} else {
$nagAppConfigPath = $nagConfigFilepath
}
# blatant theft er "borrowing": https://stackoverflow.com/a/27485038/3691973
# Yes, it's overkill. But it's concise.
$slaveNodeValue = Get-AppSetting -filePath $nagAppConfigPath -appSettingKey "Nag.IsSlaveNode"
$isSlaveNode = switch ($slaveNodeValue) { { $_ -eq 1 -or $_ -eq "True" } { $true } default { $false } }
return (!$isSlaveNode -and (Test-IsNagRunning -Server $Server))
}