Powershell Sensu命令通过命令行运行,但通过Sensu失败

Powershell Sensu命令通过命令行运行,但通过Sensu失败,powershell,sensu,Powershell,Sensu,我遇到一个问题,我正在使用的Sensu检查在使用Sensu客户端运行时不起作用,但是如果我运行与检查发出的命令相同的命令,我会得到没有错误的良好结果。我附上Sensu运行命令和我运行命令的屏幕截图,以显示手动运行命令时命令本身可以工作 以下是Sensu检查正在发布的PowerShell脚本: [CmdletBinding()] Param( [Parameter(Mandatory=$True,Position=1)] [int]$WARNING, [Parameter(M

我遇到一个问题,我正在使用的Sensu检查在使用Sensu客户端运行时不起作用,但是如果我运行与检查发出的命令相同的命令,我会得到没有错误的良好结果。我附上Sensu运行命令和我运行命令的屏幕截图,以显示手动运行命令时命令本身可以工作

以下是Sensu检查正在发布的PowerShell脚本:

[CmdletBinding()]
Param(
  [Parameter(Mandatory=$True,Position=1)]
   [int]$WARNING,

   [Parameter(Mandatory=$True,Position=2)]
   [int]$CRITICAL
)

$ThisProcess = Get-Process -Id $pid
$ThisProcess.PriorityClass = "BelowNormal"

$Counter = ((Get-Counter '\SMTP Server(_TOTAL)\Cat: Categorizations failed (DS logon failure)').CounterSamples)

$Path = ($Counter.Path).Trim("\\") -replace " ","_" -replace "\\","." -replace "[\{\}]","" -replace "[\[\]]",""
$Value = [System.Math]::Truncate($Counter.CookedValue)
$Time = [int][double]::Parse((Get-Date -UFormat %s))
If ($Value -ge $CRITICAL) {
  Write-Host "CatCategorizationsFailedDSLogonFailure CRITICAL:  Value is at $Value"
  Exit 2
}
Elseif ($Value -ge $WARNING) {
  Write-Host "CatCategorizationsFailedDSLogonFailure WARNING:  Value is at $Value"
  Exit 1
}
Else {
  Write-Host "CatCategorizationsFailedDSLogonFailure OK: Value is at $Value"
  Exit 0
}

这里有人知道为什么手动运行时命令有效,但Sensu运行时命令失败吗?

这很奇怪。。。我对powershell了解不多,但我会开始检查环境,您可以在sensu中运行仅运行“env”的脚本,并将输出与在shell上运行“env”进行比较。感谢您的响应,Enrique。据我所知,与运行该命令没有太大区别。以下是我执行此操作时的输出:。下面是Sensu运行它时的样子(不幸的是,它被截断):这非常奇怪。。。我对powershell了解不多,但我会开始检查环境,您可以在sensu中运行仅运行“env”的脚本,并将输出与在shell上运行“env”进行比较。感谢您的响应,Enrique。据我所知,与运行该命令没有太大区别。以下是我执行此操作时的输出:。下面是Sensu运行它时的样子(不幸的是,它被截断):