我正在编写一个脚本,该脚本调用一个传递不同参数的程序。我想将参数构建为字符串,例如:
$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