At this time Robocopy / SecureCopy were our two choices. I will check Unison (you talk it up well \:\) ).

We are moving across a LAN so that will ease the pain alot.

In your (or anyone else that wants to speak up) opinion what is the most effective way of closing the connections.

We don't need to worry about "sync" as it will be a full out move.

Currently as I see it,

 Code:
;Script to move Profiles and HomeDrives for all Users
;----------------------------------------------------
;
If Not @LOGONMODE
	     Break On
EndIf

$SO=SetOption("Explicit", "ON")
$SO=SetOption("NoMacrosInStrings", "ON")
$SO=SetOption("NoVarsInStrings", "ON")
$SO=SetOption("WrapAtEOL", "ON")

;Setup Variables and Declerations

Dim $DirToMove, $Directory,$LogFile.$FH,$DN,$SO,$logons
Dim $Logoffs,$File,$FlagOn[],$FlagOff[]


$Logfile="\\AServer\scripthome\logs\FileMove.txt"
$FH = FreeFileHandle()

If Open ($FH,$LogFile,5) = 0


;Begin by creating an array that contains all of the 
;current HomeDirs

	$DirToMove = DirPlus("\\OldServer\home$")

;Now we begin to check each of the entry's int $DirToMove
	For Each $Directory in $DirToMove
	$SO=WriteLine($FH,"Looking up "+$Directory+@CRLF)
;Now we check to see if it is a valid user
		$DN = TranslateName(3,"",3,"ADomain\"+$Directory,1)
		If $DN[1] = 0
	;Is the user logged in?
			$FlagOn = 0,0 ;date,time
			$FlagOff = 0,0
			$Logons = Dirplus("\\AServer\g-drive\KixTrax\Logon", /M $Directory)
			$Logoffs = Dirplus("\\AServer\g-drive\KixTrax\Logoff", /M $Directory)
			For Each $File in $Logons
				If SerialDate(Left(GetFileTime("\\AServer\g-drive\KixTrax\Logon\"+$File),10)) > $FlagOn[0]
					If SerialTime(Right(GetFileTime("\\AServer\g-drive\KixTrax\Logon\"+$File),8)) > $FlagOn[1]
						$FlagOn[0] = SerialDate(Left(GetFileTime("\\AServer\g-drive\KixTrax\Logon\"+$File),10))
						$FlagOn[1] = SerialTime(Right(GetFileTime("\\AServer\g-drive\KixTrax\Logon\"+$File),8))
					EndIf
				EndIf
			Next
			
			For Each $File in $Logoffs
				If SerialDate(Left(GetFileTime("\\AServer\g-drive\KixTrax\Logoff\"+$File),10)) > $FlagOff[0]
					If SerialTime(Right(GetFileTime("\\AServer\g-drive\KixTrax\Logoff\"+$File),8)) > $FlagOff[1]
						$FlagOff[0] = SerialDate(Left(GetFileTime("\\AServer\g-drive\KixTrax\Logoff\"+$File),10))
						$FlagOff[1] = SerialTime(Right(GetFileTime("\\AServer\g-drive\KixTrax\Logoff\"+$File),8))
					EndIf
				EndIf
			Next

		
	;Logoff user
	
	;Lock user account
	
	;Move HomeDir / Profile

	;Unlock user account
		EndIf
	Next
EndIf

;Functions


Where the Logon / Logoff Files are created everytime someone logons to a machine, each user-machine file is overwritten every logon/logoff.

If you see any major flaws in my logic to this point please let me know.
_________________________
Today is the tomorrow you worried about yesterday.