Powersell与get-service在同一条线上获取日期

时间:2018-03-07 19:10:10

标签: powershell

寻求帮助,我正在尝试使用此列表来填充运行此PS脚本的当前时间。

$serverlist = Get-Content E:\Scripts\3PL-pkgs\Tools\ServiceChecker\machines_List.txt


$servicecheck = ForEach ($server in $serverlist) 
{
$serverlist = Get-Content E:\Scripts\3PL-pkgs\Tools\ServiceChecker\machines_List.txt
$time = Get-Date -Format g
Get-Service -Computername $server "foo*", "bar*", "biz*", "baz*", "Exp*"  | time, machinename, name, status
 }


$servicecheck 

2 个答案:

答案 0 :(得分:1)

计算属性可以满足您的需求。 Calculated属性允许您将哈希表添加到Select-Object语句中的对象列表,以引用当前管道中未公开的现有属性。  它们看起来像这样:

@{Name='ColumnName';Expression={#SomeCodeHere}}

所以,既然你已经拥有了一个你想要存储在$time中的值的变量,我们所要做的就是将它添加到你选择的列列表中

Get-Service -Computername $server "f*"   |
   Select-Object @{L='time';exp={$time}}, machinename, name, status
}

以下结果:

time              MachineName Name         Status
----              ----------- ----         ------
3/7/2018 11:14 AM localhost   Fax         Stopped
3/7/2018 11:14 AM localhost   fdPHost     Stopped
3/7/2018 11:14 AM localhost   FDResPub    Stopped
3/7/2018 11:14 AM localhost   fhsvc       Stopped
3/7/2018 11:14 AM localhost   FontCache   Running
3/7/2018 11:14 AM localhost   FrameServer Stopped

答案 1 :(得分:0)

您可以像这样添加别名属性 -

Get-Service -Computername $server "foo*", "bar*", "biz*", "baz*", "Exp*"  |
foreach {
$_ | Add-Member -MemberType AliasProperty -Name Time -Value $time -PassThru
} |
Select time, machinename, name, status

使用calculated properties,您可以克服这种情况。