从字符串中调用变量

时间:2018-11-29 23:20:07

标签: powershell

我正在尝试使用Powershell通过变量在另一个域(/域切换)中打开AD U&C。

未使用任何域交换机都可以工作(只是我想要的域不起作用):

posts.once('value', function(snapshot) {...}

在数组中定义特定域的工作原理:

Start-Process powershell -Credential $domvar'\'$id -ArgumentList '-command &{Start-Process mmc -verb Runas -ArgumentList "C:\Windows\System32\dsa.msc"}'

但是 添加Start-Process powershell -Credential $domvar'\'$id -ArgumentList '-command &{Start-Process mmc -verb Runas -ArgumentList @("C:\Windows\System32\dsa.msc" /domain=domain.com)}' 不会(对ArgumentList中的所有内容都用双引号没有帮助):

/domain=$domain

NOR 将domain.com更改为我的变量Start-Process powershell -Credential $domvar'\'$id -ArgumentList '-command &{Start-Process mmc -verb Runas -ArgumentList "C:\Windows\System32\dsa.msc" /domain=$domain}'

$domain

此外,会弹出一个新窗口,我看到红色的错误字体,但不确定如何获取该信息。尝试使用调试并进入,但没有用。

1 个答案:

答案 0 :(得分:0)

在powershell中,单引号不执行变量替换。在您的情况下,您可能只需将命令周围的单引号更改为双引号即可。对于带引号的字符串中的双引号,您可以在$前面加上反引号,作为文字。

"-command &{Start-Process mmc -verb Runas -ArgumentList `"C:\Windows\System32\dsa.msc`" /domain=$($domain)}"