簡體   English   中英

從命令行錯誤中調用Powershell腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM