CMD.exe和cscript / wscript

| 所以我试图通过嵌入在powershell脚本中的cscript.exe运行VBscript。它会因允许错误而不断出错。在调试代码时,我意识到确切的命令不会在cscript或wscript中运行,而是从命令提示符下运行。我的印象是,默认情况下,cmd.exe调用wscript来执行VBScript。 这是令我失望的代码。
$hostname = MIA-DC1
$user = contoso\\administrator
$password = Pa$$w0rd
cscript.exe c:\\windows\\system32\\slmgr.vbs $hostname $user $password /dlv
我首先以为是导致问题恶化的变量,但是,以下所有操作均因相同的错误而失败:
cscript.exe c:\\windows\\system32\\slmgr.vbs MIA-DC1  contoso\\administrator Pa$$w0rd /dlv
cscript.exe c:\\windows\\system32\\slmgr.vbs MIA-DC1  \"contoso\\administrator\" Pa$$w0rd /dlv
wscript.exe c:\\windows\\system32\\slmgr.vbs MIA-DC1  contoso\\administrator Pa$$w0rd /dlv
wscript.exe c:\\windows\\system32\\slmgr.vbs MIA-DC1  \"contoso\\administrator\" Pa$$w0rd /dlv
但是,如果我在命令提示符下键入命令(以任何形式),它会按预期运行,而不会出现任何问题。 在这一点上我有点想法。有人可以指出我cmd.exe调用cscript / wscript与自己调用它之间的区别吗? 非常感谢。     
已邀请:
尝试引用密码:
cscript.exe c:\\windows\\system32\\slmgr.vbs MIA-DC1  \"contoso\\administrator\" \'Pa$$w0rd\' /dlv
Cmd不会将$解释为任何特殊字符。但是,Powershell认为您有一个名为$ w0rd的变量,可能正在替换一个空字符串。单引号可以防止尝试替换;双引号不会。     

要回复问题请先登录注册