从命令行错误

时间:2018-02-28 11:46:47

标签: powershell splunk

从splunk系统执行下面的代码时,我们会在日志文件中收到以下错误:

  

错误用户脚本例外::无法绑定参数' FilterScript'。无法转换"名称" type" System.String"的值输入" System.Management.Automation.ScriptBlock"。

似乎不喜欢Name子句中的where变量,无论如何都可以解决这个问题?

Get-WmiObject –class win32_process |
Add-Member -MemberType ScriptProperty -PassThru -Name Username -Value {$ud= $this.GetOwner();$user=$ud.Domain+"\"+$ud.User;
if ($user -eq "\") {"SYSTEM"} else {$user}}  |
where  Name -eq "splunkd.exe" |
where  Username -ne "NT AUTHORITY\SYSTEM"  | 
Format-List -Property Name, KernelModeTime, UserModeTime, ProcessID, WorkingSetSize, PageFileUsage, PageFaults

1 个答案:

答案 0 :(得分:1)

您拥有旧版本的PowerShell,其中Where-Object需要代码块,并尝试将Name视为一个代码块。请改用此格式:

Where-Object { $_.Name -eq "splunkd.exe" } |