Pear Posted September 27, 2006 Posted September 27, 2006 Here is my pop up vbs script for logins so that users have to accept our new policy at logon, if they refuse they are logged off. The slight problem is that users can continue working in the background and don't actually have to click yes on the policy. Const EWX_LOGOFF = 0 Set obj = WScript.CreateObject("WScript.Shell") Set WshShell = CreateObject("WScript.Shell") intButton = WshShell.Popup ("Do you accept the user policy ? rest of policy to be added", , "Corpus Christi Catholic Sports College Student User Acceptability Policy", 4 + 32) Select Case intButton Case 7 strMessage = "You have rejected the policy and will be logged off." WshShell.Popup strMessage, 5 , "Corpus Christi Catholic Sports College Student User Acceptability Policy", 64 Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true") For Each OpSys In OpSysSet OpSys.Win32Shutdown EWX_LOGOFF Next End Select Anyone know if I can put a system pause/freeze into it so that no other programs in the background will work until yes/no is clicked ?
IanB Posted September 27, 2006 Posted September 27, 2006 You could try putting a timeout on it; this site may help: http://www.winguides.com/scripting/... Or using a system-modal message box instead of a popup. System modal means that everything else stops until the user responds. Hope this helps
plexer Posted September 27, 2006 Posted September 27, 2006 Going to get very annoying having to accept it every time. Can you not create a flag file in their my docs that it can check for so they only have to accept it once? Ben
Pear Posted September 27, 2006 Author Posted September 27, 2006 I agree that it will be annoying, however a few years back when I was at college I had to click accept everytime. If a student who hasn't accepted, logs on as a student who has accepted, then the they will never need to accept, therefore they can lawfully claim they never broke the agreement. Any more advice about modal stuff, like an example script I can look over ?
woody Posted September 27, 2006 Posted September 27, 2006 We have used Securus to do this. You can upload your own AUP to server and force everyone to Accept otherwise they are logged out. We don't have it running at the moment, but it does work well. A little slow on older PCs though which are slow to log on to begin with.
plexer Posted September 27, 2006 Posted September 27, 2006 answer=MsgBox("Hello everyone!",4096,"Example") The 4096 makes it a system modal box. Ben
Irazmus Posted September 27, 2006 Posted September 27, 2006 @Pear: That may be true, but if they're logging on using an account other than their own then they are commiting an offence under section 1 of the computer misuse act (1990). 1.—(1) A person is guilty of an offence if— (a) he causes a computer to perform any function with intent to secure access to any program or data held in any computer; (b) the access he intends to secure is unauthorised; and © he knows at the time when he causes the computer to perform the function that that is the case. (2) The intent a person has to have to commit an offence under this section need not be directed at— (a) any particular program or data; (b) a program or data of any particular kind; or © a program or data held in any particular computer. (3) A person guilty of an offence under this section shall be liable on summary conviction to imprisonment for a term not exceeding six months or to a fine not exceeding level 5 on the standard scale or to both.
Gatt Posted September 27, 2006 Posted September 27, 2006 What about a KIX script? It processes everything before the user's desktop is loaded If they try to close the window - they are logged out.
Pear Posted September 28, 2006 Author Posted September 28, 2006 Wouldn't know where to begin with KIX. Here is what I have now. It still lets users open programs before clicking yes, but it does stays in the foreground. Const EWX_LOGOFF = 0 Set obj = WScript.CreateObject("WScript.Shell") Set WshShell = CreateObject("WScript.Shell") intButton = MsgBox("Do you agree to this policy ?", 4 + 32 + 4096 + 65536,"Corpus Christi Catholic Sports College Student User Acceptability Policy") Select Case intButton Case 7 strMessage = "You clicked the cancel button." WshShell.Popup strMessage, 5 , "Corpus Christi Catholic Sports College Student User Acceptability Policy", 64 Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true") For Each OpSys In OpSysSet OpSys.Win32Shutdown EWX_LOGOFF Next End Select
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now