Argumentos podem ser permitidos em vários níveis (dependendo de como você deseja dividir sua "segurança"). Em essência, isso significa que você pode permitir argumentos no nível do NRPE, bem como o nível de scripts externos (e, no seu caso, você provavelmente os desejará em ambos os lugares)
Você pode encontrar alguns detalhes do plano de fundo aqui: link
Mas, desconsiderando a teoria para responder à sua pergunta, você precisa ativar os argumentos permitidos em DOIS locais (veja o seguinte):
[/settings/NRPE/server]
allow arguments=true
[/settings/external scripts]
allow arguments=true
[/settings/external scripts/scripts]
foo=scripts\foo.bat "argument 1" "argument 2"
O que você está perdendo é o último:
[/settings/external scripts]
allow arguments=true
Portanto, adicionar isso resolveria seu problema.
Editar: Adicione informações sobre o segundo problema.
O problema secundário com o lançamento do power shell (veja o comentário neste post) foi relacionado à estranheza do powershell que requer uma sintaxe de linha de comando bastante complexa:
[/settings/external scripts/scripts]
test = cmd /c echo scripts\test.ps1 "$ARG1$"; exit($lastexitcode) | powershell.exe -command -
O problema foi o desaparecimento - no final do comando (comando correto acima).