in reply to Disconnect users
Hrm. I could be wrong here</CharlesBarkley>, but looks to me like Bamy787 is asking about logging off remote users, while ExitWindows() appears to be about closing the server console as if by typing CTRL+ALT+DEL.
You can use Win32AdminMisc to *set* account expiration, but that also doesn't seem to be the real question.
UserSetMiscAttributes( $Domain, $User, USER_ACCT_EXPIRES, $Expiration_In_Secs_Since_1970-01-01_00:00:00 );
Just a guess, but looks like the real question is partially addressed by this MS Knowledge Base article, and that the solution includes configuring periodic logouts (eg; nightly) using UserSetMiscAttributes( $Domain, $User, USER_LOGON_HOURS $num ); At the very worst, bouncing the server (after setting necessary account params) would force new logins with desired params now activated.
UF_ACCOUNTDISABLE and UF_LOCKOUT might also come into play, and all of the above are documented here. Dave Roth, author of the Win32AdminMisc module, has also written two books you might find useful: Win32 Perl Scripting and Win32 Perl Programming.
striving toward Perl Adept
(it's pronounced "why-bick")