;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