gpt4 book ai didi

powershell - CMD.exe与CScript/WScript

转载 作者:行者123 更新时间:2023-12-03 01:23:11 33 4
gpt4 key购买 nike

所以我试图通过嵌入在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的变量,可能正在替换一个空字符串。单引号可以防止尝试替换;双引号不会。

关于powershell - CMD.exe与CScript/WScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6143967/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com