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

求助:如何在PowerShell中让Get-Date与Get-Service输出在同一行

在PowerShell中让Get-Service输出每行包含当前时间

嗨,我来帮你实现这个需求!要让Get-Service的每条服务信息都和当前时间显示在同一行,我们可以利用PowerShell的计算属性来轻松搞定,下面是几种实用的方法:

方法1:自定义输出属性(推荐用于后续处理)

这种方法会生成带有时间属性的对象,方便你后续对输出结果进行筛选、导出等操作:

Get-Service | Select-Object `
    @{Name='CurrentTime'; Expression={(Get-Date).ToString('yyyy-MM-dd HH:mm:ss')}},
    Name,
    DisplayName,
    Status
  • 解释:@{Name='CurrentTime'; Expression={...}}定义了一个名为CurrentTime的计算属性,(Get-Date).ToString('yyyy-MM-dd HH:mm:ss')会生成格式化后的当前时间(你可以根据需求修改时间格式,比如HH:mm只显示时分)。
  • 后面的Name、DisplayName、Status是服务的常用属性,你可以根据需要添加或移除其他属性(比如StartType)。

方法2:保留默认输出样式并添加时间列

如果想要更贴近Get-Service默认的表格输出样式,只是额外增加时间列,可以用Format-Table:

Get-Service | Format-Table `
    @{Name='CurrentTime'; Expression={(Get-Date).ToString('yyyy-MM-dd HH:mm:ss')}},
    * `
    -AutoSize
  • *表示保留服务对象的所有默认属性,-AutoSize会自动调整列宽,让输出更美观。

额外技巧:统一使用脚本启动时间

如果希望所有服务行都显示脚本开始执行的时间(而非每条服务的处理时间),可以先把时间存为变量:

# 先记录脚本启动时的时间
$scriptStartTime = (Get-Date).ToString('yyyy-MM-dd HH:mm:ss')

# 输出时统一使用这个时间
Get-Service | Select-Object `
    @{Name='ScriptStartTime'; Expression={$scriptStartTime}},
    Name,
    DisplayName,
    Status

这样就能根据你的需求,灵活实现服务信息和时间在同一行的输出啦!

内容的提问来源于stack exchange,提问作者Brandon Scott

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:12:54