从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
答案 0 :(得分:1)
您拥有旧版本的PowerShell,其中Where-Object
需要代码块,并尝试将Name
视为一个代码块。请改用此格式:
Where-Object { $_.Name -eq "splunkd.exe" } |