[gptalk] Re: Gaming Restrictions

  • From: "Nelson, Jamie R Contr 72 CS/SCBAF" <Jamie.Nelson.ctr@xxxxxxxxxxxxx>
  • To: <gptalk@xxxxxxxxxxxxx>
  • Date: Fri, 28 Sep 2007 12:53:03 -0500

I used a simple startup script to remove the built-in Windows XP games
altogether. Worked pretty well for us. See the attached file (change
extension to .vbs) if interested.

Regards,

Jamie Nelson

-----Original Message-----
From: gptalk-bounce@xxxxxxxxxxxxx [mailto:gptalk-bounce@xxxxxxxxxxxxx]
On Behalf Of Darren Mar-Elia
Sent: Friday, September 28, 2007 11:05 AM
To: gptalk@xxxxxxxxxxxxx
Subject: [gptalk] Re: Gaming Restrictions

Tom-

That's probably going to slow them down. The intrepid user will get
around these easily but that's a "Layer 8" issue. You might also
consider using Software Restriction Policy for those apps rather than
the "Don't run specified Windows applications" policy. It's a little
more bomb-proof and if you create hash rules for those exes, renaming
won't help them-they'll still not run.

 

Darren

 

 

From: gptalk-bounce@xxxxxxxxxxxxx [mailto:gptalk-bounce@xxxxxxxxxxxxx]
On Behalf Of Tom Clover
Sent: Friday, September 28, 2007 9:03 AM
To: gptalk@xxxxxxxxxxxxx
Subject: [gptalk] Gaming Restrictions

 

I've been asked to restrict gaming at work.  Here are the changes that
I'm going to start with:

 

Keys:

\User Configuration\Administrative Templates\Windows Components\Start
Menu and Taskbar\Remove Drag-and-drop context menus on the Start Menu

\User Configuration\Administrative Templates\System\Restrict these
programs from being launched from help

\User Configuration\Administrative Templates\System\Don't run specified
Windows applications

\User Configuration\Administrative Templates\System\Prevent access to
the command prompt

\User Configuration\Start Menu and Taskbar\Remove Run from the Start
Menu

 

Restricted Program List:

winmine.exe

spider.exe

sol.exe

freecell.exe

mshearts.exe

bckgzm.exe

chkrzm.exe

hrtzzm.exe

rvsezm.exe

shvlzm.exe

pinball.exe

 

This should only leave the opening of browsing the hard disk drive and
renaming sol.exe to something else.  I figure if they're that desperate
to game, their going to get caught anyway.  Have I missed anything that
you can think of?

 

Thanks,

 

Tom Clover

Desktop Support Specialist

 

'///////////////////////////////////////////////////////////////
'Name: RemoveWinXPGames.vbs
'Author: Jamie Nelson
'Version: 1.1
'Purpose: Remove default games on Windows XP systems.
'-----------Date--------Version-----ChangeLog-------------------
'History:                               1.0                     Initial code 
developed.
'13 Jun 06                              1.1                     Modified 
conditional entry condition to detect removeGames.txt
'///////////////////////////////////////////////////////////////

'Option Explicit
On Error Resume Next

'===============================================================
'Declare variables, instantiate common script objects
'===============================================================

If IsServer() Or GetOsVersionNumber <> 5.1 Then WScript.Quit

Dim wsh : Set wsh = CreateObject("WScript.Shell")
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")

Dim strSystemRoot : strSystemRoot = wsh.ExpandEnvironmentStrings("%SYSTEMROOT%")
Dim strGamesFolder : strGamesFolder = wsh.SpecialFolders("AllUsersPrograms") & 
"\Games"

'===============================================================
'Begin Execution of Script
'===============================================================

'Check for removeGame.txt file - ONLY run if NOT found
If NOT fso.FileExists(strSystemRoot & "\inf\removeGames.txt") Then
        'Create file for uninstalling games.
        Dim objFile : Set objFile = fso.CreateTextFile(strSystemRoot & 
"\inf\removeGames.txt", True)
        With objFile
                .WriteLine("[Components]")
                .WriteLine("freecell=off")
                .WriteLine("hearts=off")
                .WriteLine("minesweeper=off")
                .WriteLine("msnexplr=off")
                .WriteLine("pinball=off")
                .WriteLine("solitaire=off")
                .WriteLine("spider=off")
                .WriteLine("zonegames=off")
                .Close
        End With
        Set objFile = Nothing
        wsh.Run "sysocmgr.exe /i:" & strSystemRoot & "\inf\sysoc.inf /u:""" & 
strSystemRoot & "\inf\removeGames.txt"" /q", 1, True
        fso.DeleteFolder strGamesFolder, True
End If


'===============================================================
'Clear variables, terminate script
'===============================================================

Set wsh = Nothing
Set fso = Nothing

WScript.Quit

'===============================================================
'Declare procedures/functions/classes
'===============================================================

'--------------------
Function GetOsVersionNumber()
'--------------------
'Determines OS by reading registry value & comparing to known values
'OS version number returned as number of type double:
'----------
'Windows 95:    1
'Windows 98:    2
'Windows ME:    3
'Windows NT4:   4
'Windows 2K:    5
'Windows XP:    5.1
'Windows 2K3:   5.2
'Windows >2K3:  >5.2
'----------
'Note: Decimal point returned is based on the Locale setting
'of the computer, so it might be returned as 5,1 as well.

Dim wshTemp : Set wshTemp = CreateObject("WScript.Shell")
Dim strOSType, strOSVersion

On Error Resume Next 
strOSType = 
wshTemp.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions\ProductType")
 
If Err.Number <> 0 Then 
        'Could not find this key, OS must be Win9x/Me 
        Err.Clear 
        strOSType = 
wshTemp.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\VersionNumber") 
        Select Case strOSType 
                Case "4.00.950" : strOSVersion = 1 'Windows 95A
                Case "4.00.1111" : strOSVersion = 1 'Windows 95B/C
                Case "4.03.1214" : strOSVersion = 1 'Windows 95B
                Case "4.10.1998" : strOSVersion = 2 'Windows 98
                Case "4.10.2222" : strOSVersion = 2 'Windows 98SE
                Case "4.90.3000" : strOSVersion = 3 'Windows Me
                Case Else : strOSVersion = 0 'Unknown
        End Select 
Else
        'Operating System is NT based
        strOSVersion = wshTemp.RegRead("HKLM\SOFTWARE\Microsoft\Windows 
NT\CurrentVersion\CurrentVersion")
        If Err.Number <> 0 Then
                'Could not determine NT version 
                GetOsVersionNumber = 0 
                Exit Function
        End If
End If

Set wshTemp = Nothing

'CDbl might error so we should set locale to "en-us" to be indifferent to
'country settings. 
SetLocale "en-us"
GetOsVersionNumber = CDbl(strOSVersion)

End Function


'--------------------
Function IsServer()
'--------------------
'Determines platform by reading registry value & comparing to known values
'http://support.microsoft.com/default.aspx?scid=kb;EN-US;152078
'Returns True if server platform, False if not

On Error Resume Next

Dim wshTemp, strOSType
Set wshTemp = CreateObject("WScript.Shell")

strOSType = 
wshTemp.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions\ProductType")
If Err.Number <> 0 Then
        'Could not find this key, OS must be Win9x/Me
        Err.Clear
        IsServer = False
        Exit Function
End If
Set wshTemp = Nothing

Select Case strOSType
        Case "LanmanNT" : IsServer = True
        Case "ServerNT" : IsServer = True
        Case "WinNT" : IsServer = False
End Select

End Function

Other related posts: