使用powershell逗号时出现问题

Jin*_*177 5 powershell wmic

我试着编写一个非常简短的PowerShell脚本来运行一些命令,将它们的输出传递给一个文本文件,然后对一个关键字进行搜索.

我不知道要改变什么,但这条线:

wmic service get name, startname | out-File "$pwd\admin\wmic.txt"

WMIC.exe : Invalid GET Expression.
At \\test.ps1:7 char:5
+ wmic <<<<  service get name startname | out-File "$pwd\admin\wmic.txt"
+ CategoryInfo          : NotSpecified: (Invalid GET Expression.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Run Code Online (Sandbox Code Playgroud)

我相信错误是从','生成的,因为powershell使用逗号来创建数组.有什么想法或建议吗?

谢谢

sev*_*rce 7

从 PowerShell 3.0 开始,有新的转义运算符--%可用(请参阅发行说明中的魔法参数):

wmic --% service get name, startname | out-File "$pwd\admin\wmic.txt"
Run Code Online (Sandbox Code Playgroud)

此运算符称为停止解析运算符,它指示 PowerShell 从该点开始停止将输入解释为 PowerShell 命令或表达式(请参阅此处的文档)。


小智 6

wmic service get name"," startname| out-File "$pwd\admin\wmic.txt"
Run Code Online (Sandbox Code Playgroud)

这很容易解决逗号,完全没有变化.