You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell GUI搜索CSV日志结果异常:ISE正常GUI仅返回1条结果

问题原因与解决方案
  • 核心问题:逻辑运算符优先级错误
    PowerShell中-and的优先级高于-or,你的原表达式未正确分组,导致逻辑判断不符合预期。ISE中变量值刚好适配了错误逻辑,而GUI中变量值存在差异,最终出现结果不一致的情况。

  • 修正后的代码
    通过括号明确逻辑分组,确保条件判断符合预期:

    (Import-Csv C:\User\Logs\Files\Calendar-Permissions-Log.csv | Where-Object {
        # 先匹配指定的Action类型
        (($_."Action" -eq "Remove Permissions") -or ($_."Action" -eq "Grant Permissions")) -and
        # 匹配用户、日历、权限的指定条件
        ($_."Add/Remove User" -eq $Add_Remove_Email.Text) -and
        ($_."To/From Calendar" -eq $To_From_Email.Text) -and
        ($_."Permission" -eq $WPFSelect_Permission.Text) -and
        # 匹配任一指定日期
        (($_."Trigger Date" -eq $Date.Text) -or ($_."Trigger Date" -eq $Date_Remove.Text)) -and
        # 匹配Delegate Flag和私有项权限的条件
        ($_."Delegate Flag Enabled" -like "Yes" -or $_."Delegate Flag Enabled" -eq $null) -and
        ($_."Can View Private Items" -like "Yes" -or $_."Can View Private Items" -eq $null)
    })."Task Name" | Out-GridView
    
  • 关键调整说明

    • 给Action的两个-or条件添加括号,确保先判断动作类型,再与其他条件做-and关联
    • 给Trigger Date的两个-or条件添加括号,确保日期为二选一匹配后,再和其余条件关联

内容的提问来源于stack exchange,提问作者Dust Ellse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 03:32:15