我有一个按预期工作的批处理脚本:
operationalhealth.bat --hostname machine.domain.com --username admin --password admin1 --outputDir C:\Temp
我试图从 PowerShell 触发此脚本并传递“长选项”参数,但没有成功。
我已经尝试过:
示例1:
$scriptPath = "C:\path\to\operationalhealth.bat"
$arguments = "--hostname", "machine.domain.com", "--username", "admin", "--password", "admin1", "--outputDir", "C:\Temp"
Start-Process -FilePath "cmd.exe" -ArgumentList "/c", "$scriptPath", $arguments -Wait
示例2:
Start-Process "C:\path\to\operationalhealth.bat" -ArgumentList "--hostname machine.domain.com --username admin --password admin1 --outputDir C:\Temp" -Wait
在每个实例中,命令提示符都会打开,但似乎没有收到参数。我确信这是一个模糊的语法问题,但我无法理解正确的格式是什么。任何帮助将不胜感激!
这应该有效:
$scriptPath = "C:\path\to\operationalhealth.bat"
$outputDir = "C:\Temp"
& $scriptPath --hostname machine.domain.com --username admin --password admin1 --outputDir $outputDir