[英]Is it possible to pass command-line arguments to an executable via an associated file?
[英]How to pass arguments to a WMI method via WMIC command line?
我正在尝试使用WMIC命令从WESL_UserSetting
类执行SetCustomShell
方法。 该类位于Windows 10 Enterprise中的非默认\\\\root\\StandardCimv2\\Embedded
命名空间中。
我已经启用了自定义外壳功能,并且我知道该类已正确安装,因为命令:
wmic /namespace:\\root\StandardCimv2\Embedded CLASS WESL_UserSetting CALL SetCustomShell /?
产生以下输出:
Call [ In/Out ]Params&type Status
==== ===================== ======
SetCustomShell [IN ]CustomReturnCodes(array of sint32) Implemented
[IN ]CustomReturnCodesAction(array of sint32)
[IN ]DefaultAction(sint32)
[IN ]Shell(string)
[IN ]Sid(string)
[OUT]ReturnValue(uint32)
这也与Microsoft的文档相对应(除了它列出的参数以不同的顺序排列),所以我认为我在这里是正确的。 但是我试图以多种不同的方式传递参数,而wmic
似乎并不理解我要做什么。
我尝试过命名参数(例如shell = xxx,Sid = xxx等),将整个列表括在引号中,仅将值括在引号中,并用括号调用,并仅用逗号分隔的值对其进行爆破。 似乎没有任何作用。 我总是以:
Invalid named parameter list.
Hint: <named param list> ::= <named param> | <named param> <named param list> where <named param> ::= <param name>=<param value>
要么:
Invalid format.
Hint: <paramlist> = <param> [, <paramlist>].
如何正确调用此方法?
具有讽刺意味的是,我知道如何使用VBScript或PowerShell执行此操作。 有许多示例说明了如何使用各种语言的脚本来执行此操作。 但是我需要从组策略或在操作系统部署期间执行它,而不必依赖脚本文件在客户端可以看到的某个地方可用,而这应该是我可以用一个命令完成的事情。
我相信以下内容:
wmic /namespace:\\root\StandardCimv2\Embedded CLASS WESL_UserSetting CALL SetCustomShell Sid="s-1-*" Shell="cmd.exe" DefaultAction=0 CustomReturnCodes=(0,1,2) CustomReturnCodesAction=(0,1,2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.