[英]calling powershell script from command line error
從splunk系統執行以下代碼時,我們在日志文件中返回以下錯誤:
錯誤用戶腳本異常::無法綁定參數“ FilterScript”。 無法將類型“ System.String”的“名稱”值轉換為類型“ System.Management.Automation.ScriptBlock”。
似乎不喜歡where
子句中的Name
變量,是否有解決方法?
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
您使用的是舊版PowerShell,其中Where-Object
需要一個代碼塊,並嘗試將Name
視為一個。 請改用以下格式:
Where-Object { $_.Name -eq "splunkd.exe" } |
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.