我正在尝试使用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
此外,会弹出一个新窗口,我看到红色的错误字体,但不确定如何获取该信息。尝试使用调试并进入,但没有用。
答案 0 :(得分:0)
在powershell中,单引号不执行变量替换。在您的情况下,您可能只需将命令周围的单引号更改为双引号即可。对于带引号的字符串中的双引号,您可以在$
前面加上反引号,作为文字。
"-command &{Start-Process mmc -verb Runas -ArgumentList `"C:\Windows\System32\dsa.msc`" /domain=$($domain)}"