寻求帮助,我正在尝试使用此列表来填充运行此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
答案 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,您可以克服这种情况。