我创建了一个具有3个属性的自定义对象。属性中的数据是从Backup Exec作业日志文件中提取的。Powershell - 从自定义对象中输出多个-noteproperty到多行
$BackupServer = Get-Content C:\ITO\RB\ERRORS\STARTEND.TXT | Select-String -SimpleMatch 'Backup of "'
$BackupStartTime = Get-Content C:\ITO\RB\ERRORS\STARTEND.TXT | Select-String -SimpleMatch 'Backup started on'
$BackupEndTime = Get-Content C:\ITO\RB\ERRORS\STARTEND.TXT | Select-String -SimpleMatch 'Backup completed on'
我然后创建一个客户对象,具有自定义属性
$props= [ordered]@{ ServerName = $backupserver
StartTime = $backupstarttime
EndTime = $BackupEndTime
Success = 'Did Backup Complete'
}
$obj = New-Object -TypeName psobject -Property $props
$objectoutput = $obj | Select @{n='Server Name';e={$_.ServerName -split ','+"`n"}}, @{n='Start Time';e={$_.StartTime -split '.'+"`n"}}, @{n='End Time';e={$_.EndTime -split '.'+"`n"}}
$objectoutput
数组中的数据是什么,我想,所以我很高兴至今。
Custom Object :
$objectoutput | Get-Member
TypeName: Selected.System.Management.Automation.PSCustomObject
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
End Time NoteProperty System.Object[] End Time=16/10/2017 at 06:04:38. 16/10/2017 at 06:04:57. 16/10/2017 at 06:05:11. 16/10/2017 at 06:05:42. 16/10/2017 at 06:08:31. 16/10/2017 at 06:09:03. 15/10/2017 at 20:07:30. 15/10/2017 at 20:09:49. ...
Server Name NoteProperty System.Object[] Server Name=server1.
SERVERVMWSUS SERVEROP5P01 SERVERLUDIP01 SERVERNEWMPLP04 SERVERURV2...
**Start Time** NoteProperty System.Object[] Start Time=16/10/2017 at 06:03:08. 16/10/2017 at 06:04:55. 16/10/2017 at 06:05:07. 16/10/2017 at 06:05:36. 16/10/2017 at 06:06:19. 16/10/2017 at 06:09:00. 15/10/2017 at 20:02:36. 15/10/2017 at 20:08:23...
当我调用数组时,我得到了这个。数据元素在那里。然而它似乎是一长串文字。
$objectoutput
Server Name Start Time End Time
{ITOTFXSBK01.C, ITOTFXSBK01.EFISystemPartition, ITOTFXSBK01.BKUPEXEC, ITOTFXSB...
{16/10/2017 at 06:03:08., 16/10/2017 at 06:04:55., 16/10/2017 at 06:05:07., 16...
{16/10/2017 at 06:04:38., 16/10/2017 at 06:04:57., 16/10/2017 at 06:05:11., 16...
我想要的是有一个新的生产线的每个服务器,有一个可以用来分割服务器名记属性“空间”,为开始时间和结束时间有一个“”可以用来分割。
在我最后的报告中,我使用这个命令,尝试输出我怎么想,但它没有好,我已经尝试过许多不同的组合“R” n和-split和-join等
$rpt4+= Get-HtmlContentTable ($objectoutput | Select @{n='Server Name';e={$_.ServerName -split '\s+'}})
我的我真的很努力去解决它。我能做的最好的可以看到下面: PICTUREHERE
样本数据
$backupserver =
TELB2BDB01
TELCLUS01
TELADVDB01
TELSPDB01
TELSQL04
$BackupStarttime =
16/10/2017 at 04:10:43.
16/10/2017 at 04:12:07.
16/10/2017 at 02:02:38.
16/10/2017 at 02:01:02.
16/10/2017 at 02:01:32.
$BackupEndTime =
16/10/2017 at 04:11:51.
16/10/2017 at 04:13:14.
16/10/2017 at 02:06:17.
16/10/2017 at 02:02:10.
16/10/2017 at 02:02:52.
你能提供,我们可以用它来创建对象我们自己和我们展示了一个输出实例你期望? –
我更新了我的主要问题以进一步解释 - 谢谢。 –
我们快到了。现在我们需要示例数据来处理... –