Software Development Kit (SDK) and API Discussions
Software Development Kit (SDK) and API Discussions
Couple things with this, first I'm wanting to convert the output from LastTransferEndTimestamp to a human readable date. I've read a few articles that demonstrate how to convert the output using get-date and I've had good success but I'm struggling to get the syntax correct to make the conversion on single line nested in foreach loop.
No struggles here
PS C:\> $date = (Get-Date '1970-01-01').AddSeconds(1471979101)
PS C:\> $date.GetDateTimeFormats('s')
2016-08-23T19:05:01
My questions, how can I achieve the desired result with the code below? I like the flexibility of using the code below but, am I over complicating it?
I struggle here.
$mirrors = @() foreach ($controller in @($controllers)) { Connect-NcController $controller # Collect desired volumes from controllers and store in variable $mirrors += Get-NcSnapmirror -Controller $_ | Where-Object {$_.DestinationVolume -match 'Prod_SQL'} } #foreach $reportData = foreach ($mirror in $mirrors) { # Create object with values [PSCustomObject][ordered]@{ 'Destination_SVM' = $mirror.DestinationVserver 'Destination_Vol' = $mirror.DestinationVolume 'Status' = $mirror.status 'LagTime' = $mirror.LagTime 'LastTransDuration' = $mirror.LastTransferDuration 'LastTransSize_GB' = $mirror.LastTransferSize / 1tb | % {$_.ToString("#.##")} 'LastTransError' =$mirror.LastTransferError 'LastTransEnd' =$mirror.LastTransferEndTimestamp 'TranferRateMax' =$mirror.CurrentMaxTransferRate 'ExportSnapshot' =$mirror.ExportedSnapshot 'SnapshotTimestamp' =$mirror.CurrentMaxTransferRateExportedSnapshotTimestamp 'Break/fail' = $mirror.BreakFailedCount 'CatalogStatus' = $mirror.CatalogStatus; } }
Thanks in advance
Solved! See The Solution
Replacing line 18 in your code with this:
(Get-Date '1970-01-01').AddSeconds($mirror.LastTransferEndTimestamp)
worked in my lab, and yielded output like this:
LastTransEnd : 2/25/2020 7:05:16 AM
Replacing line 18 in your code with this:
(Get-Date '1970-01-01').AddSeconds($mirror.LastTransferEndTimestamp)
worked in my lab, and yielded output like this:
LastTransEnd : 2/25/2020 7:05:16 AM
Worked perfectly. Any advice on lag time to represent dd:hh:ss ?
Line 14 to the right of the equal sign can be replaced with:
[Timespan]::FromSeconds($mirror.LagTime) | % {"{0:dd\:hh\:mm\:ss}" -f $_}
It displays like this:
LagTime : 00:09:35:31