【发布时间】:2021-03-01 16:42:49
【问题描述】:
我正在处理的新脚本有问题。 该脚本包含一个命令,我想在其中执行另一个带有参数的程序, 由本程序支持。 首先,我将从 PowerShell 脚本获取输入并将其保存到变量中,而不是 将这些变量放入启动过程的参数列表中,以使其通过程序。 但这并不像我想要的那样工作。 我总是看到程序写了一个日志,它将变量写为 Name 而不是变量内部的内容。 我尝试了不同的方法,但它不想工作。这是带有一些测试变量的代码:
$goal = "dlr-1-ws240"
$newdate = (Get-Date).AddDays(7) | Get-Date -Format "yyyy-MM-dd-12-00-00"
$adminurl = "w10_lgrm.admin_" + $goal + "_b"
$newmember = $env:USERNAME + ":" + $newdate
$argulist = "-o AddMembers -service $adminurl -members $newmember"
Start-Process "C:\Cometo V.2.5\Bin\CometClient.exe" -Argumentlist {-o AddMembers -service $adminurl -members $newmember /log}
它总是将 $newmember 检测为名称“$newmember”,而不是其内部。
感谢您的每一次帮助。谢谢
【问题讨论】:
-
ArgumentList不是这样工作的。请参阅docs 的正确示例。您现在正在传递一个脚本块{ },它被翻译成一个字符串。 -
非常感谢,我没有看到这个“小”错误,但它确实解决了所有问题。
标签: c# windows powershell variables start-process