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

如何在PowerShell的Measure-Object中排除Name属性获取最新日期

问题解决方法

你的问题出在计算最大值时没有排除Name属性,导致字符串类型的姓名被纳入比较,最终返回了姓名而非最新日期。以下是两种可行的修正方案:

方案1:排除Name属性计算最大值

通过过滤属性集合,只保留非Name的属性值进行计算:

$results = get-SiteVisits -Properties Name,Site1,Site2,Site3

$results | ForEach-Object {
    $_ | Select-Object -Property *, @{
        Name='MaxValue';
        Expression={
            ($_.PSObject.Properties | Where-Object Name -ne 'Name').Value | Measure-Object -Maximum | Select-Object -ExpandProperty Maximum
        }
    }
}

方案2:直接指定日期属性(更高效)

既然明确要计算的是Site1、Site2、Site3三个日期的最大值,直接提取这三个属性的值进行计算:

$results = get-SiteVisits -Properties Name,Site1,Site2,Site3

$results | ForEach-Object {
    $_ | Select-Object -Property *, @{
        Name='MaxValue';
        Expression={
            ($_.Site1, $_.Site2, $_.Site3 | Measure-Object -Maximum).Maximum
        }
    }
}

两种方案都能得到你期望的输出,方案2因为不需要遍历所有属性,执行效率会更高。

内容的提问来源于stack exchange,提问作者Billy Nunya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:15:27