I’m not sure if this is because of network lag, or the fact that my lab is on a different AD domain (and different NTP clock) than my local computer.  All I know is:

(Get-Item local\path\to\OriginalFile.txt).LastWriteTime –eq (Get-Item remote\path\to\CopyOfFile.txt).LastWriteTime

Does not work reliably.  My solution is to arbitrarily rule that if the timestamps are within 5 seconds, they’re good enough.  (Given that these files are manually updated, and I want to know if the files were recently updated or not, 5 seconds is fine.)

function Test-DateTimeWithinInterval 
{
     <#

     .SYNOPSIS
     Test if two timestamps are within the specified interval

     .DESCRIPTION
    Because file LastWriteTime DateTime values are stored to the millisecond, a copy of a file may not have the same value as the original.  This allows for a "plus-or-minus" range, default of 5 seconds.

     .PARAMETER ReferenceObject
     First Datetime

     .PARAMETER DifferenceObject
     Second Datetime

     .PARAMETER Interval
     Timespan (measured in seconds) the two DateTime parameters must be within, absolute value, to return true.

     #>


    param (
        [DateTime]$ReferenceObject,
         [DateTime]$DifferenceObject,
         [Int]$Interval = 5
     );

    [Math]::Abs(($ReferenceObject - $DifferenceObject).TotalSeconds) -le $Interval;

}
 # function Test-DateTimeWithinInterval

This is more of an exercise in using [Math]::Abs() than anything else.