Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Disconnect users

by bamy787 (Novice)
on Nov 30, 2002 at 17:28 UTC ( #216663=perlquestion: print w/replies, xml ) Need Help??
bamy787 has asked for the wisdom of the Perl Monks concerning the following question:

Hi all monks!

I am working on a program to record the users' activities on a LAN and disconnect them when their username expires(after a time period). The LAN is implemented on a Win2000 Advanced Server.

How can I disconnect the users using Perl? Is this possible? Has got a special trick or a flag in Windows registry?

Thanks for your suggestion.

Replies are listed 'Best First'.
Re: Disconnect users
by traveler (Parson) on Nov 30, 2002 at 19:11 UTC
    You need to call the Win32 function ExitWindows(). You can get a perl wrapper for tha (and more) in Win32::AdminMisc. The date is 2000. I have not seen anything more current. It would be nice, IMHO, if ActiveState would include this with their distro.

    HTH, --traveler

Re: Disconnect users (Win32AdminMisc,UserSetMiscAttributes, UF_ACCOUNTDISABLE, USER_LOGON_HOURS)
by ybiC (Prior) on Nov 30, 2002 at 22:56 UTC

    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")

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://216663]
Approved by ybiC
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (7)
As of 2018-07-17 13:56 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (368 votes). Check out past polls.