NooB qustion ...我正在尝试从cmd shell运行以下命令并收到缺少的参数错误。有趣的是,如果我直接将PowerShell命令解析为PS命令提示符,我不会收到任何错误。
希望是一个简单的拼写错误,有人可以帮助检查语法。
CMD.exe命令:
powershell.exe -Command Add-Computer -DomainName mydomain -Credential (New-Object System.Management.Automation.PSCredential("mydomain\admin", (ConvertTo-SecureString "W/GdGax+1CebYQ74" -AsPlainText -Force)))
错误:
At line:1 char:115
+ ... ect System.Management.Automation.PSCredential(mydomain\admin, (Conver ...
+ ~
Missing argument in parameter list.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingArgument*
答案 0 :(得分:0)
我能够重现你的问题。为了实例化Credential,我尝试单独传递TypeName和ArgumentList,如下所示,这是有效的。你能试一试吗:
powershell.exe -Command" Add-Computer" -DomainName" mydomain" -凭据 ( New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList " mydomain \ admin",(ConvertTo-SecureString" W / GdGax + 1CebYQ74" -AsPlainText - 力))
答案 1 :(得分:0)
如果你尝试运行它,因为.ps1脚本会做同样的事情吗?
powershell.exe -file yourScript.ps1
答案 2 :(得分:0)
只需添加外引号来分隔作为一个命令发送的行
并转义命令中的所有引号,如下所示:
powershell.exe -Command "Add-Computer -DomainName mydomain -Credential (New-Object System.Management.Automation.PSCredential(\"mydomain\admin\", (ConvertTo-SecureString \"W/GdGax+1CebYQ74\" -AsPlainText -Force)))"
答案 3 :(得分:0)
请确保您的源文件名不包含任何逗号、连字符 - 或*任何特殊符号或[像我的文件名所做的[1]:https://i.stack .imgur.com/eAfTt.jpg]。一旦你删除它们,它就可以工作。希望它有帮助!!!
<块引用>错误描述可能不同,但原因相同