在 powershell 中建立控制台参数

在 powershell 中建立控制台参数

我正在编写一个脚本,该脚本调用一个传递不同参数的程序。我想将参数构建为字符串,例如:

$parameters = "";
if ($condition2) {
    $parameters = $parameters + " /include:hi /exclude:low"
}

if ($condition2) {
    $parameters = $parameters + " /v"
}

.\MyCommand.exe $parameters

问题是我实际上并没有将单个字符串参数传递给 MyCommand.exe,而是字符串包含应该传入的多个参数。

答案1

使用 Invoke-Expression

$RunQuery=.\MyCommand.exe + ' ' + $parameters
iex $RunQuery

真实测试:

$VerLDAP='dsquery * "cn=schema,cn=configuration,'+([ADSI]"LDAP://rootDSE").rootDomainNamingContext+'" -scope base -attr objectVersion'
iex $VerLDAP

相关内容