Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Disconnect users

by bamy787 (Novice)
on Nov 30, 2002 at 17:28 UTC ( [id://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.

        cheers,
        Don
        striving toward Perl Adept
        (it's pronounced "why-bick")

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://216663]
Approved by ybiC
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (3)
As of 2024-04-20 03:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found