Controlling User Display settings

Hello!

I would like to control my users display settings without purchasing a 3rd party product. Then turn the ability to change display settings off in the GPO.  I'm using Windows 2003 AD servers in native mode and all users are on XP sp2. Is there any freeware or log on scripts that I can use to control this setting? How about reg hacks or VB scripts?
RobertoYzaguirreAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Jeffrey Kane - TechSoEasyPrincipal ConsultantCommented:
Do you mean you want to change the screen resolution?  You can't do that because the settings are not constant.  For instance if you connect via Terminal Services with a different monitor, then the settings need to adjust.  Also, these are hardware reliant settings... do all of your workstations have the exact same monitor model and the exact same driver version?


Jeff
TechSoEasy
0
redseatechnologiesCommented:
Hi TechSoEasy,

Are you just wanting to stop the users from opening up the display properties from control panel and/or desktop?

This question has info on how to do that with a GPO that should be straight forward.

http://www.experts-exchange.com/Networking/Q_21271757.html

Hope that helps,

-red
0
redseatechnologiesCommented:
Oh dear...

That should obviously be;

Hi, RobertoYzaguirre - Quickpost and me have been apart too long

But anyway, Hi Jeff!

-red
0
Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

RobertoYzaguirreAuthor Commented:
Yes I would like to set all the workstations local screen resolution to 1024 x 768.  I need to set them because of an application requirements.  Different monitors.
0
RobertoYzaguirreAuthor Commented:
It is my understating that I can not set display settings via GPO; only make it so users can not change the setting.
0
Netman66Commented:
Display resolution is per profile.  I'm looking at something for you now.

0
redseatechnologiesCommented:
RobertoYzaguirre,

I have found some freeware products that will do this, they look quite good and I am testing the now for my own uses

My preferred option
http://www.brothersoft.com/desktop_utilities/shell_desktop_management/reschange_21436.html
A more total solution - but it costs money
http://www.brothersoft.com/utilities/registry_tools/tweaking_toolbox_xp_16379.html
Another option to look at
http://www.softpedia.com/get/System/OS-Enhancements/Resolution-Changer.shtml

-red
0
Netman66Commented:
It looks like this isn't possible with VBScript or WMI.  Apparently, (and I'm not a coder) there are some APIs to access this stuff.  You may want to post a Q in the Programming section linking to this one.

0
Cherukuri30Service EngineerCommented:
I guess scripting is difficult for this as API Calls is not possible in VB Script. I beleive the best way is to set all the screens to desired resolution and then apply the group policy to restrict the users from changing the settings.
0
RobertoYzaguirreAuthor Commented:
That is what I do not want to do - 300 workstations at 16 locations
0
Cherukuri30Service EngineerCommented:
Ok just try this below technique, I dont know how effectively it works for you but just give a try.
This will reset the display resolution to desired setting when user logs on.

download the utility from below link and install it in your server eg: in the folder like c:\multires and share the folder.

http://www.entechtaiwan.com/files/multires.exe

now create a logon script with the below code

Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run "\\<server name>\multires\multires.exe /1024,768,16,60"
set wshshell = nothing


and attach this script as a logon script to the users

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
RobertoYzaguirreAuthor Commented:
What is the file extention for the script?
0
Netman66Commented:
Looks like .vbs

0
RobertoYzaguirreAuthor Commented:
I installed it and ran local .vbs as below:

Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run "C:\Program Files\MultiRes\MultiRes.exe /1024,768,16,60"
set wshshell = nothing

Didn't work.
0
Cherukuri30Service EngineerCommented:
copy the folder multires from program files folder to your c drive and change the script as below

wshshell.run "C:\MultiRes\MultiRes.exe /1024,768,16,60"  

and run the script
0
Cherukuri30Service EngineerCommented:
make sure when you are saving the script as .VBS file
0
Cherukuri30Service EngineerCommented:
If you still want to use the Program Files reference  then the Program Files folder name should be given in DOS format (progra~1)

Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run "C:\Progra~1\MultiRes\MultiRes.exe /1024,768,16,60"
set wshshell = nothing
0
MoeterCommented:
Because of the spaces you some more ""

Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run """C:\Program Files\MultiRes\MultiRes.exe"" /1280,1024,16,60"
set wshshell = nothing
0
RobertoYzaguirreAuthor Commented:
The script ran but then went back to my (higher) display settings.
0
RobertoYzaguirreAuthor Commented:
Stop the press! It worked!

Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run "C:\Progra~1\MultiRes\MultiRes.exe /1024,768,16,60"
set wshshell = nothing

BUT...can I change 16 to 32 and 60 to a higher refresh rate?
0
RobertoYzaguirreAuthor Commented:
Yes I can!

Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run "C:\Progra~1\MultiRes\MultiRes.exe /1024,768,32,70"
set wshshell = nothing

Now all I have to do is put it on a network share that all domain users have right to and BAM!

Ok - on last part to this...If I turn off the display(s) options in a GPO the script will still run correct?
0
Cherukuri30Service EngineerCommented:
yes it will run without any hassles what i suggest is after the GPO settings are done then link this script as logon script for users and leave it for 2 days once you are sure that all users screens are 1024X768 then you can remove this script. Otherwise you can leave it also.  

0
RobertoYzaguirreAuthor Commented:
Thanks Cherukuri30!
0
Cherukuri30Service EngineerCommented:
You are welcome
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows Server 2003

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.