首页 > 解决方案 > 通过启动过程传递变量的Powershell问题

问题描述

我正在处理的新脚本有问题。该脚本包含一个命令,我想在其中执行另一个带有参数的程序,由该程序支持。首先,我将从 PowerShell 脚本获取输入并将其保存到变量中,然后将这些变量放入启动过程的参数列表中,以使其通过 Programm。但这并不像我想要的那样工作。我总是看到程序写了一个日志,它将变量写为 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”,而不是其内部。

我很感激每一个帮助。谢谢

标签: c#windowspowershellvariablesstart-process

解决方案


&{
    param(
        [int]$packageCount,
        [string]$hostName
    )

Start-Process "ping.exe" -ArgumentList "$hostName -n $packageCount"
} -packageCount 10  -hostName "google.com"


推荐阅读