Optimized powershell code

This commit is contained in:
Alexey Pustovalov 2026-06-11 17:52:37 +09:00
parent cf628972c1
commit 71ffd3c36a
4 changed files with 28 additions and 28 deletions

View file

@ -37,11 +37,9 @@ WORKDIR C:\zabbix\
USER ContainerAdministrator
RUN setx /M PATH "%PATH%;C:\Program Files\PowerShell"
SHELL ["C:\\Program Files\\PowerShell\\pwsh.exe", "-Command", "$ErrorActionPreference = 'Stop';"]
SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop';"]
RUN $env:PATH = [string]::Format('{0}\zabbix\sbin;{0}\zabbix\bin;', $env:SystemDrive) + $env:PATH; `
RUN $env:PATH = [string]::Format('{0}\zabbix\sbin;{0}\zabbix\bin;{0}\Program Files\PowerShell;', $env:SystemDrive) + $env:PATH; `
[Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); `
`
[Environment]::SetEnvironmentVariable('ZABBIX_USER_HOME_DIR', $env:ZABBIX_USER_HOME_DIR, [EnvironmentVariableTarget]::Machine); `

View file

@ -5,11 +5,11 @@ if ($env:DEBUG_MODE -eq "true") {
}
# Default Zabbix server host
if ($env:ZBX_SERVER_HOST -eq $null) {
if ([string]::IsNullOrEmpty($env:ZBX_SERVER_HOST)) {
$env:ZBX_SERVER_HOST="zabbix-server"
}
# Default Zabbix server port number
if ($env:ZBX_SERVER_PORT -eq $null) {
if ([string]::IsNullOrEmpty($env:ZBX_SERVER_PORT)) {
$env:ZBX_SERVER_PORT="10051"
}
@ -140,10 +140,10 @@ function File-Process-From-Env {
}
function Prepare-Zbx-Agent-Config {
if ($env:ZBX_PASSIVESERVERS -eq $null) {
if ([string]::IsNullOrEmpty($env:ZBX_PASSIVESERVERS)) {
$env:ZBX_PASSIVESERVERS=""
}
if ($env:ZBX_ACTIVESERVERS -eq $null) {
if ([string]::IsNullOrEmpty($env:ZBX_ACTIVESERVERS)) {
$env:ZBX_ACTIVESERVERS=""
}
@ -216,16 +216,18 @@ function PrepareAgent {
ClearZbxEnv
}
$commandArgs=$args
$commandArgs = $args
if ($args.length -gt 0 -And $args[0].Substring(0, 1) -eq '-') {
$commandArgs = "C:\zabbix\sbin\zabbix_agentd.exe " + $commandArgs
if ($args.length -gt 0 -And $args[0].StartsWith('-')) {
$commandArgs = @("C:\zabbix\sbin\zabbix_agentd.exe") + $args
}
if ($args.length -gt 0 -And $args[0] -eq "C:\zabbix\sbin\zabbix_agentd.exe") {
if ($commandArgs.length -gt 0 -And $commandArgs[0] -eq "C:\zabbix\sbin\zabbix_agentd.exe") {
PrepareAgent
}
if ($args.length -gt 0) {
Invoke-Expression "$CommandArgs"
if ($commandArgs.length -gt 0) {
$exe, $exeArgs = $commandArgs
& $exe @exeArgs
exit $LASTEXITCODE
}

View file

@ -38,11 +38,9 @@ WORKDIR C:\zabbix\
USER ContainerAdministrator
RUN setx /M PATH "%PATH%;C:\Program Files\PowerShell"
SHELL ["C:\\Program Files\\PowerShell\\pwsh.exe", "-Command", "$ErrorActionPreference = 'Stop';"]
SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop';"]
RUN $env:PATH = [string]::Format('{0}\zabbix\sbin;{0}\zabbix\bin;', $env:SystemDrive) + $env:PATH; `
RUN $env:PATH = [string]::Format('{0}\zabbix\sbin;{0}\zabbix\bin;{0}\Program Files\PowerShell;', $env:SystemDrive) + $env:PATH; `
[Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); `
`
[Environment]::SetEnvironmentVariable('ZABBIX_USER_HOME_DIR', $env:ZABBIX_USER_HOME_DIR, [EnvironmentVariableTarget]::Machine); `

View file

@ -5,11 +5,11 @@ if ($env:DEBUG_MODE -eq "true") {
}
# Default Zabbix server host
if ($env:ZBX_SERVER_HOST -eq $null) {
if ([string]::IsNullOrEmpty($env:ZBX_SERVER_HOST)) {
$env:ZBX_SERVER_HOST="zabbix-server"
}
# Default Zabbix server port number
if ($env:ZBX_SERVER_PORT -eq $null) {
if ([string]::IsNullOrEmpty($env:ZBX_SERVER_PORT)) {
$env:ZBX_SERVER_PORT="10051"
}
@ -140,10 +140,10 @@ function File-Process-From-Env {
}
function Prepare-Zbx-Agent-Config {
if ($env:ZBX_PASSIVESERVERS -eq $null) {
if ([string]::IsNullOrEmpty($env:ZBX_PASSIVESERVERS)) {
$env:ZBX_PASSIVESERVERS=""
}
if ($env:ZBX_ACTIVESERVERS -eq $null) {
if ([string]::IsNullOrEmpty($env:ZBX_ACTIVESERVERS)) {
$env:ZBX_ACTIVESERVERS=""
}
@ -251,16 +251,18 @@ function PrepareAgent {
ClearZbxEnv
}
$commandArgs=$args
$commandArgs = $args
if ($args.length -gt 0 -And $args[0].Substring(0, 1) -eq '-') {
$commandArgs = "C:\zabbix\sbin\zabbix_agent2.exe " + $commandArgs
if ($args.length -gt 0 -And $args[0].StartsWith('-')) {
$commandArgs = @("C:\zabbix\sbin\zabbix_agent2.exe") + $args
}
if ($args.length -gt 0 -And $args[0] -eq "C:\zabbix\sbin\zabbix_agent2.exe") {
if ($commandArgs.length -gt 0 -And $commandArgs[0] -eq "C:\zabbix\sbin\zabbix_agent2.exe") {
PrepareAgent
}
if ($args.length -gt 0) {
Invoke-Expression "$CommandArgs"
if ($commandArgs.length -gt 0) {
$exe, $exeArgs = $commandArgs
& $exe @exeArgs
exit $LASTEXITCODE
}