何か間違っているかどうかはわかりませんが、期待した結果が得られません。
UTC 日付/時刻値を返す次の関数があるため、ローカル マシンとリモート マシンの両方を要求できます。
function Get-UTCTime {
Param([string]$computername=$env:computername)
$utc = Get-WmiObject win32_utctime -ComputerName $computername
return $sysdt = ([string]$utc.month + "/" + [string]$utc.day + "/" + [string]$utc.year + " " + [string]$utc.hour + ":" + [string]$utc.minute + ":" + [string]$utc.second)
}
[datetime]$lsysdt = Get-UTCTime "."
Write-Host "Local:" $lsysdt
[datetime]$rsysdt = Get-UTCTime $computer
Write-Host "Remote:" $rsysdt.addminutes(6)
$tester1 = $lsysdt - $rsysdt
$tester2 = New-TimeSpan -Start $lsysdt -End $rsysdt
Write-Host "Tester 1" $tester1
Write-Host "Tester 2" $tester2
私の結果は次のとおりです
Local: 6/21/2013 6:06:43 PM
Remote: 6/21/2013 6:12:45 PM
Tester 1 -00:00:02
Tester 2 00:00:02
時間に 6 分 2 秒の差があることがわかりますが、結果として返される値には秒しか表示されません。
tester1 変数のすべてのプロパティを展開しましたが、分が含まれていることがわかりません。
Ticks : -20000000
Days : 0
Hours : 0
Milliseconds : 0
Minutes : 0
Seconds : -2
TotalDays : -2.31481481481481E-05
TotalHours : -0.000555555555555556
TotalMilliseconds : -2000
TotalMinutes : -0.0333333333333333
TotalSeconds : -2
日時の比較で欠けている単純な小さな概念は何ですか?