Разделить строки в столбце значения с помощью Powercli - PullRequest
0 голосов
/ 06 декабря 2018

Это то, что я написал, чтобы получить вывод с помощью powercli;

Get-VM -name SERVERX | Get-Annotation -CustomAttribute "Last EMC vProxy Backup"|select @{N='VM';E={$_.AnnotatedEntity}},Value

Это вывод

VM       Value                                                                                                                                                                                
--       -----                                                                                                                                                                                
SERVERX  Backup Server=networker01, Policy=vmbackup, Workflow=Linux_Test_Production, Action=Linux_Test_Production, JobId=1039978, StartTime=2018-10-31T00:00:27Z, EndTime=2018-10-31T00:12:45Z
SERVERX1 Backup Server=networker01, Policy=vmbackup, Workflow=Linux_Test_Production, Action=Linux_Test_Production, JobId=1226232, StartTime=2018-12-06T00:00:29Z, EndTime=2018-12-06T00:0...
SERVERX2 Backup Server=networker01, Policy=vmbackup, Workflow=Linux_Test_Production, Action=Linux_Test_Production, JobId=1226239, StartTime=2018-12-05T23:58:27Z, EndTime=2018-12-06T00:0...

Но я хотел бы получить только значения "starttime" и "endtime"

Требуемый вывод:

 VM       Value                                                                                                                                                                                
 --       -----      
 SERVERX  StartTime=2018-10-31T00:00:27Z, EndTime=2018-10-31T00:12:45Z
 SERVERX1 StartTime=2018-12-06T00:00:29Z, EndTime=2018-1206T00:11:14Z
 SERVERX2 StartTime=2018-12-05T23:58:27Z, EndTime=2018-12-06T00:11:20Z

Как получить этот вывод?

1 Ответ

0 голосов
/ 06 декабря 2018

Это лучше подходит для форума Powershell, так как это всего лишь манипулирование данными.

Если вы выводите всегда то же количество запятых, что и

$myannotation = Get-VM -name SERVERX | Get-Annotation -CustomAttribute "Last EMC 
vProxy Backup"|select @{N='VM';E={$_.AnnotatedEntity}},Value
$table1 = @()
foreach($a in $myannotation)
    $splitter = $a.value -split ','
    $splitbackupstart = $splitter[5]
    $splitbackupend = $splitter[6]
    $row = '' | select vmname, backupstart, backupend
    $row.vmname = $a.AnnotatedEntity # or .vm would have to try
    $row.backupstart = $splitbackupstart 
    $row.backupend= $splitbackupend 
    $table1 += $row
}
$table1

Не проверено.Если формат строки будет меняться со временем, то регулярное выражение для поиска времени начала будет лучше.

...