我需要一些帮助。
我有一个从报告中导入csv数据的数组。数据包含服务器名称,开始时间和最终任务状态代码。
ServerName Start Time Final task Code SERVER1 07/11/2017 01:35:30 19 SERVER2 07/11/2017 01:35:31 19 SERVER3 07/11/2017 01:35:33 6**
我相信我需要编写一个switch语句来将Final任务代码更改为更多用户友情。 Code 19 = Successful
,Code 6 = Error
我写了以下switch语句:
switch ($Successrate.FinalJobStatus){
19 {"100% Success"}
6 {"Error"}
}
这将按预期更改屏幕输出,但我很难将最终任务代码的输出设为100% success
或Error
,而不是19
和6
有人可以帮忙吗?
这是我的代码:
$Successcutofdate = (Get-Date).AddDays(-1)
$Successrate = import-csv C:\ITO\RB\PROD\Reports\Success.csv | Where-Object ({$_.ActualStartTime -as [datetime] -gt $Successcutofdate}) |select-Object @{n='Server Name';e={$_.ResourceName }}, @{n='Start Time';e={$_.ActualStartTime}} , FinalJobStatus| Sort-Object "Server Name"
答案 0 :(得分:0)
您可以使用计算属性,例如您在同一行中执行的属性:
$Successcutofdate = (Get-Date).AddDays(-1)
$Successrate = import-csv C:\ITO\RB\PROD\Reports\Success.csv | Where-Object ( {$_.ActualStartTime -as [datetime] -gt $Successcutofdate}) | Select-Object @{n='Server Name';e={$_.ResourceName }}, @{n='Start Time';e={$_.ActualStartTime}}, @{n='FinalJobStatus';e={switch ($_.FinalJobStatus){ 19 {"100% Success"} 6 {"Error"}}}} | Sort-Object "Server Name"