Ric_ Posted November 28, 2005 Posted November 28, 2005 <------ TOPIC SPLIT -----> You can find webman's HTA for controlling Internet access at http://edugeek.net/index.php?name=Forums&file=viewtopic&t=1084
ken_kaniff Posted January 4, 2006 Posted January 4, 2006 This certainly is a popular subject and there isn't really an easy way of doing it (not for free). Not actually true. Check out LanView 3 from MST Software. It has its own Internet Access Manager built in which you can use to disable access to single computers, whole rooms or just certain users. You can also set an over-ride for certain systems or users so that staff can still access the Internet. And just to cap it all off, it's completely free! (And no, I don't get commision from them! ) That's all well and good, and i have played with it, and it would be really very useful if it wasn't for the fact that anyone with a copy of it coud potentially come into my school and wreak havoc!! or am i missing some hidden security features? cause i can see none.
adamyoung Posted January 4, 2006 Posted January 4, 2006 It's also possible to get round lanview using explorer. If that could be stopped and the fact, as ken pointed out, anyone can install the server and take control - which could be somewhat problematic!
Guest metalmonkey Posted January 26, 2006 Posted January 26, 2006 Just to update Adam and Ken. The ability for anyone to install LV3 and gain control of the network has been addressed and will be in the next release. I've added a aupport article in preparation for the release which can be found here; http://www.mst-software.co.uk/software/index.php?option=com_content&task=view&id=232&Itemid=95 It should be released in early Feb.
TimH Posted March 6, 2006 Posted March 6, 2006 Having perused this thread I thought I'd have a go at creating such a tool. Attached is a Python cgi script which creates a view of an Active Directory system, inside which you can manoeuvre, chosing to block/unblock individual PCs or all those in an OU. It needs a little configuring depending on if you are using a proxy server or a firewall. Those who will manage blocking must have sufficient rights on the workstations to do so. If anyone is brave enough then please give it a try and let me know what happens ! (I might knock up an asp vbscript version but it won't be quite as nice.) Plus points 1. There is no need for lists of PCs, assuming they are organised into roomful OUs. 2. It will work with Firefox as well as IE 3. It works if using a proxy server or a firewall 4. Settings can be persistent over reboots - or not ! Minus Points 1. You need to install Python (with win32 extensions - Activestate Python being simplest) on a web server. 2. It will block all network access to a proxy server, so if your proxy is also your email server or a file server then that is not good ! 3. It's graphically boring !netblock.zip
TimH Posted March 6, 2006 Posted March 6, 2006 (I might knock up an asp vbscript version but it won't be quite as nice.) Attached is an asp version. The disadvantage over the Python version is that the asp has to call an external vbscript to perfrom the wmi to the remote machines. Without this it would have to wait for each machine (in an OU) before moving to next, which if the machine is not contactable could be a long time (timeout), the Python gets round this by multithreading, which, AFAIUI, vbscript can't do. As a consequence you don't get feedback as to whether a machine was contacted successfully or not. There is also a slightly tweaked Python version in the zip which matches the asp/vbscipt closely. Obviously the Python or vbscript could be used from the command line with a little tweaking - I just like the user friendliness of web versions. Timnetblock_368.zip
MrDylan Posted March 17, 2006 Posted March 17, 2006 I have a vLAN for each IT room. I then have an access rule in ISA2004 for each of these vLANs. The teachers can load up ISA Management and change the rule to Deny whenever they like. The Deny redirects to a little page with an 'Internet Disabled' message I made.
ChrisH Posted March 17, 2006 Posted March 17, 2006 Your posts seem to have slipped past me somehow TimH I will check these out soon
kestrel1 Posted April 1, 2006 Posted April 1, 2006 We are running a thin client network & wanted to do a similar thing. Our proxy server is a Unix box & the firewall & web managment software is on there. The initial setup can be a pain, but I can disable an intake year or individual users. This is more of a tech job though. I wouldn't trust the teachers to get it right. Basicaly, we have one port that denies access to the web & this is loaded into the users profile at loggin time. I think that is how it works, I cant really remember, cause I set it up a long time ago. It doesn't get used that much, but I do have to stop some pupils getting internet access.
Espada Posted July 9, 2006 Posted July 9, 2006 I have written a little piece of software for our school which is very simple in how it works, it just scans a text file on a shared server drive and allows or disallows access to IE based on that. If anyone is interested I would be happy to make a few minor alterations to make it installable on other networks.
MkII Posted July 9, 2006 Posted July 9, 2006 Ditto here - missed these posts altogether! @TimH: Thanks so much for that - I can move to an upstream proxy server to keep email access. The ability to block IE and FF is what I really need! @Espada: Yes Id beinterested to see that - again thanks.
Espada Posted July 9, 2006 Posted July 9, 2006 Okay here it is. The program needs installing on each machine. It will currently block both IE and Firefox from opening. If the settings are changed and IE is open, it will close it (unlike NetSupport). As it has been changed somewhat from the previous version to make it more portable, people will need to test it well. Please let me know of any issues with it. I should also mention that until the user opens IE or FF the program is completely invisible. Mark Edit: Suggestions for improvements most welcome. In a future version I hope to be able to control individual PCs rather than an entire room.closeie.zip
nsherin Posted July 22, 2006 Posted July 22, 2006 Browse control 2 from codework free useable download 30 day trial £400 for 175 users. We use it to give classroom teachers control of their own group of PCs, you can black list, white list, control applicatioins, shut of one machine or the whole class group, I use it alongside Dameware to keep an eye on pupils and their 'activities' but can also use it for teaching, (OOps let that one slip a traitor in the camp) Yes these are classroom management issues but technical help is a tool for management as well as teaching. BrowaeControl is excellent - we use it at the school I work at and I've just created different containers - i.e. 'Rooms' and placed the PCs that show on the the console in the relevant places. Seems to work a treat and I've also shown a couple of my colleagues about NetOp policies - handy if they just want the kids to access a restricted set of sites for a task.
manick Posted November 2, 2006 Posted November 2, 2006 just my ha'penneth worth. Another program is AB control from AB consulting, each licence cost around £150 (sliding scale dependent upon how many purchased), however, the licence is for the management side, each client is free, so if you want you only buy one licence and can control the whole school. With this software you can create rules for internet use, email use etc etc and also you can watch was the little darlings are doing if you so wish!! Cheers Manick
SpuffMonkey Posted November 3, 2006 Posted November 3, 2006 Just to support Manick - we ditched NetOp (after 2 painful years) and took up ABTutor over half term - its just fabulous in comparison to the useless, expensive, bug ridden bit of software it replaced. The clients rarely drop off, the viewing mode is responsive and policies are much better implemented. Well worth the cash imho.
moiebus Posted November 9, 2006 Posted November 9, 2006 We are using Lanschool, not free but very worth while we think. We have configured the channels(teacher) to cover each machine OU(pupils) There is also an 'over' channel where all machines can be seen. This allows individual or group net blocking, print screen ie log ect. Remote control, screen broadcast/freeze. Collect and send files. But from my point of view the 'run at...' option saves an age in installation/drive mappings ect you can even send links to force the pupils browser to open to a particular page. Channel 0 is our friend(all machines except teachers-those who control the channels) Definately worth a look ?!
moiebus Posted November 9, 2006 Posted November 9, 2006 We are using Lanschool, not free but very worth while we think. We have configured the channels(teacher) to cover each machine OU(pupils) There is also an 'over' channel where all machines can be seen. This allows individual or group net blocking, print screen ie log ect. Remote control, screen broadcast/freeze. Collect and send files. But from my point of view the 'run at...' option saves an age in installation/drive mappings ect you can even send links to force the pupils browser to open to a particular page. Channel 0 is our friend(all machines except teachers-those who control the channels) Definately worth a look ?!
edie209 Posted November 9, 2006 Posted November 9, 2006 Just to add a different approach to this subject or (maybe not) we had a company in over the summer to setup Citrix but with the package came one of their own (I think) programs called Netmanager. It seems that its just a linux box with some of their own programs running. But getting back to the disabling internet in one room we can now do that. Each room has been assigned a proxy port i.e room T8 get the proxy port 8008 room S20 gets the port 8020. this is done by way of a logon script and a look up file. As the student logs on to the machine the pc name determines the proxt port so PCs have to be name per room i.e S20-PC01, etc. we then have a web interface that can block or unblock a particular port we have given teachers access to this now they are able to turn the internet off and on as they want. I am not very good with linux but I'm sure the principle of this would be quite simple for some one who understands Linux. If someone wants to try to replicate this and I would imagine that most of it is already built into squid, I am quite happy to work with them and maybe develope a tool for the whole community.
ctbjs Posted March 23, 2007 Posted March 23, 2007 Another option is Browse Control from Codework, we use it extensively in the school and it is a huge relief to staff whereby they can: Turn the internet on or off Filter websites and applications Block CD and floppy drives Lock keyboard and mouse Blank screen Restart Shutdown Boot Computer all with a couple of clicks of a mouse which is what they want. Something simple and not time consuming and something that needs constant management!!
Espada Posted May 12, 2007 Posted May 12, 2007 I am now using a combination of tools. At the forefront I use a piece of software which allows the teacher to "turn off" Internet Explorer per room or per PC very easily. Literally just a couple of mouse clicks. It also places a small window at the top of the screen saying who is logged in and what web page they last visited.
mac_shinobi Posted May 12, 2007 Posted May 12, 2007 what pieces of software do you use to do this Espada ? If you can post back with each name of software along with the softwares website ( url ) Thanks
kestrel1 Posted May 13, 2007 Posted May 13, 2007 What you really want for this is Netmanager from Precedence Technologies. They had added this function in the last six months & once it is set up it works with a couple of clicks. http://www.precedence.co.uk/
Espada Posted May 15, 2007 Posted May 15, 2007 what pieces of software do you use to do this Espada ? If you can post back with each name of software along with the softwares website ( url ) Thanks It is bespoke, I coded it myself. The client code is here: #cs ---------------------------------------------------------------------------- AutoIt Version: 3.2.2.0 Author: Mark Wilson Script Function: Checks for whether IE is open when it shouldn't be and also displays the username at the top of the screen. #ce ---------------------------------------------------------------------------- #Include #include #include #include #include Opt("WinTitleMatchMode", 2) Opt("TrayMenuMode",1) Global $ProxyAbuse = False Dim $File[1] $Block = False TraySetIcon("green.ico") $IPTrim = 9 $FileLocation = "S:\BlockIE\" $LogFileLocation = "U:\" $NewWindowTitle = "" $OldWindowTitle = "" $IP = @IPAddress1 $PCNumber = StringRight(@ComputerName, 2) $LastOctet = StringTrimLeft($IP, $IPTrim) _DisplayUserName() Select Case $LastOctet < 64 $room = "ICT1" Case $LastOctet <128 & $LastOctet > 63 $room = "ICT2" EndSelect $InstructionFile = ($FileLocation & $room & ".txt") If FileExists ($LogFileLocation&"ProxyAbuse") Then _ProxyAbuseWindow() While 1 Sleep(250) If WinExists("Internet Explorer") Then _FileReadToArray($InstructionFile,$File) While 1 If $ProxyAbuse = True Then _ProxyAbuseWindow() ExitLoop EndIf If StringRight($File[$PCNumber],5) = "Block" Then TraySetIcon("red.ico") ProcessClose("IEXPLORE.EXE") ElseIf $File[$PCNumber] = StringRight("EndIt", 5) Then Exit Else $NewWindowTitle = WinGetTitle("") If $NewWindowTitle <> $OldWindowTitle Then $File = ($LogFileLocation&@Year&@MON&@MDAY&".log") IF FileExists($File) = 0 Then _FileCreate($File) FileSetAttrib($File, "+H") EndIf $OldWindowTitle = $NewWindowTitle $HWND = WinGetHandle($NewWindowTitle) $oIE = _IEAttach ($HWND,"HWND") $URL = _IEPropertyGet ($oIE, "locationurl") WinSetTitle("User:","",("User: "&@UserName&" Last Page: "&$URL&" at "&@HOUR&":"&@MIN)) _FileWriteLog($File,',"'& @UserName & '","'& @ComputerName &'","'& $NewWindowTitle & '","' & $URL &'"') ;Check for proxy abuse If StringRegExp($URL,"proxy") = 1 Then _proxyAbuseDetected($URL) EndIf EndIf EndIf ExitLoop WEnd FileClose($File) EndIf _ResetUserNamePosition() WEnd Func _proxyAbuseDetected($URL) $ProxyFile = ($LogFileLocation&"ProxyAbuse") _FileCreate($ProxyFile) FileSetAttrib($ProxyFile, "+H") _FileWriteLog($ProxyFile, $URL) _ProxyAbuseWindow() EndFunc Func _ProxyAbuseWindow() TraySetState (4) WinClose ("Internet Explorer") MsgBox (0, "Possible Proxy Abuse", "Your Internet access has been restricted due to possible proxy abuse. Please speak to a network technician") $ProxyAbuse = True EndFunc Func _DisplayUserName() $UserNameWindow = GUICreate(("User: "&@UserName),400,20,437,0,$WS_VISIBLE, $WS_EX_TOOLWINDOW) WinSetOnTop("User: ","",1) EndFunc Func _ResetUserNamePosition() WinMove("User:","", 437, 0) EndFunc I will post the control code shortly, as I said this is bespoke so you will need to tweak it. At the moment the control is through a hidden folder on the shared area but could easily be done through the registry. This means even if they shut down and restart, it will continue to take effect.
Espada Posted May 15, 2007 Posted May 15, 2007 Here is the control code this bit is very flaky but it does the job just. If you use it you will want to improve it. #include #include ;Opt("TrayMenuMode",1) ; Script Start - Add your code below here $SettingsLocation = "S:\BlockIE\" $SettingsFile = "Global.txt" $ReadSettings = FileOpen(($SettingsLocation & $SettingsFile), 0) $SettingsLineOne = FileReadLine($ReadSettings) $SettingsLineTwo = FileReadLine($ReadSettings) $NumberOfRooms = StringLeft($SettingsLineOne,2) $LastUpdated = 9999 $LastUpdatedRoom = 9999 $TotalComputers = 0 $CurrenSelection = 9999 Dim $RoomTreeItems [$NumberOfRooms] Dim $ComputersPerRoom [$NumberOfRooms] Dim $SaveRoom [$NumberOfRooms] $RoomNames = StringSplit($SettingsLineTwo,"|") $LeftCount = 2 $RightCount = (($NumberOfRooms * 2) - 2) For $a = 1 to $NumberOfRooms $ComputersPerRoom[$a-1] = StringTrimLeft(StringTrimRight($SettingsLineOne, $RightCount),$LeftCount) $LeftCount = $LeftCount + 2 $RightCount = $RightCount - 2 ;MsgBox (0, $a, $ComputersPerRoom[$a-1]) Next Dim $ComputerTreeItems[150] ; Create GUI $MainGui = GUICreate("Control Internet Access", 400, 600) $Tree = GUICtrlCreateTreeView(10, 10, 190, 550) For $a = 1 To $NumberOfRooms $RoomTreeItems[$a-1] = GUICtrlCreateTreeViewItem($RoomNames[$a], $Tree) For $b = $TotalComputers to ($TotalComputers + $ComputersPerRoom[$a-1])-1 $ComputerTreeItems[$b] = GUICtrlCreateTreeViewItem($RoomNames[$a]& "-" &(($b-$TotalComputers)+1), $RoomTreeItems[$a-1]) Next $TotalComputers = $TotalComputers + $ComputersPerRoom[$a-1] Next Dim $ComputerStatus [$TotalComputers] For $a = 0 to $TotalComputers - 1 $ComputerStatus[$a] = "Allow" Next $Group = GUICtrlCreateGroup ("Action", 210, 60, 140, 90) $BlockRadio = GUICtrlCreateRadio ("Block", 220, 75, 50, 20) $AllowRadio = GUICtrlCreateRadio ("Allow", 220, 95, 60, 20) $SetButton = GUICtrlCreateButton ("Set", 260, 115, 60) GUICtrlSetState ($SetButton, $GUI_Hide) $SetRoomButton = GUICtrlCreateButton ("Set Room", 260, 115, 60) GUICtrlSetState ($SetRoomButton, $GUI_Hide) GUICtrlCreateGroup ("",-99,-99,1,1) $SaveButton = GUICtrlCreateButton("Save Changes", 255, 550, 90) GUICtrlSetState ($SaveButton, $GUI_DISABLE) $SaveLabel = GUICtrlCreateLabel ("Changes will not be applied until they are saved.", 210, 150,180, 40) GUICtrlSetState ($SaveLabel, $GUI_Hide) $SaveGroup = GUICtrlCreateGroup("Room to Save Changes to.", 210, 210, 180, ($NumberOfRooms+2) * 20) For $a = 0 To $NumberOfRooms-1 $SaveRoom[$a] = GUICtrlCreateRadio($RoomNames[$a+1], 220, (230 + ($a*20))) Next GUICtrlCreateGroup ("",-99,-99,1,1) GUISetState(@SW_SHOW, $MainGui) ; Event Handler While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE Exit ;Case $msg = $GUI_EVENT_MINIMIZE ; GUISetState(@SW_HIDE, $MainGui) Case $msg = $SetButton ;If $LastUpdated < 9999 Then ;MsgBox(0, "Clicked", $LastUpdated) Select Case BitAnd(GUICtrlRead($AllowRadio),$GUI_CHECKED) $ComputerStatus[$LastUpdated] = "Allow" Case BitAnd(GUICtrlRead($BlockRadio),$GUI_CHECKED) $ComputerStatus[$LastUpdated] = "Block" ;MsgBox(0, "Clicked", "Blocked") EndSelect GUICtrlSetState ($SaveButton, $GUI_ENABLE) GUICtrlSetState ($SaveLabel, $GUI_Show) ;EndIf Case $msg = $SetRoomButton $ComputerCount = 0 $LastUpdated = 9999 For $a = 0 to $NumberOfRooms If $a = $LastUpdatedRoom Then For $b = $ComputerCount To ($ComputersPerRoom[$a]+$ComputerCount-1) Select Case BitAnd(GUICtrlRead($AllowRadio),$GUI_CHECKED) $ComputerStatus[$b] = "Allow" Case BitAnd(GUICtrlRead($BlockRadio),$GUI_CHECKED) $ComputerStatus[$b] = "Block" ;MsgBox(0, "Clicked", "Blocked") EndSelect Next ExitLoop Else $ComputerCount = $ComputerCount + $ComputersPerRoom[$a] EndIf Next GUICtrlSetState ($SaveButton, $GUI_ENABLE) GUICtrlSetState ($SaveLabel, $GUI_Show) Case $msg = $SaveButton GUICtrlSetState ($SaveButton, $GUI_DISABLE) GUICtrlSetState ($SaveLabel, $GUI_Hide) _SaveChanges() EndSelect For $c = 0 to $NumberOfRooms-1 If $msg = $RoomTreeItems[$c] Then ;ExitLoop GUICtrlSetData($Group, (_GUICtrlTreeViewGetText($Tree, $RoomTreeItems[$c])& " Set Room")) GUICtrlSetState ($SetButton, $GUI_Hide) GUICtrlSetState ($SetRoomButton, $GUI_Show) $LastUpdatedRoom = $c GUICtrlSetState ($AllowRadio, $GUI_UNCHECKED) GUICtrlSetState ($BlockRadio, $GUI_UNCHECKED) ;MsgBox(0, "Clicked", "You Clicked a room") EndIf Next For $d = 0 To $TotalComputers - 1 If $msg = $ComputerTreeItems[$d] Then ;If _GUICtrlTreeViewGetState($Tree, $ComputerTreeItems[$d]) = 2 Then If $LastUpdated <> $d Then ;MsgBox(0, "Clicked", GUICtrlGetHandle ( $ComputerTreeItems[$d] )) GUICtrlSetData($Group, _GUICtrlTreeViewGetText($Tree, $ComputerTreeItems[$d])) If $ComputerStatus[$d] = "Allow" Then GUICtrlSetState ($AllowRadio, $GUI_CHECKED) Else GUICtrlSetState ($BlockRadio, $GUI_CHECKED) EndIf $LastUpdated = $d GUICtrlSetState ($SetRoomButton, $GUI_Hide) GUICtrlSetState ($SetButton, $GUI_Show) EndIf ExitLoop EndIf Next WEnd Func _SaveChanges() $StartPoint = 0 For $a = 0 to $NumberOfRooms-1 If BitAnd(GUICtrlRead($SaveRoom[$a]),$GUI_CHECKED) Then $File = FileOpen(($SettingsLocation & $RoomNames[$a+1]&".txt"), 2) For $b = 0 to ($ComputersPerRoom[$a]-1) If $b < 9 Then FileWriteLine ($File, ("0"&$b+1&":"&$ComputerStatus[$b+$StartPoint])) Else FileWriteLine ($File, ($b+1&":"&$ComputerStatus[$b+$StartPoint])) EndIf Next FileClose($File) EndIf $StartPoint = $StartPoint + $ComputersPerRoom[$a] Next EndFunc
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