This article was previously published under Q233513
When you try to use a system environment variable in Windows Script Host and you are not an administrator for the computer, you may receive an 'access denied' error message.
This issue can occur if the system environment variables are not defined correctly.
To resolve this issue, define the system environment variable using the Process environment. For an example about how to use the Process environment variable, view the following Visual Basic Script samples.
This script works when an administrator runs it but does not work when a user who does not have administrator permissions runs it.
Set WSHShell = WScript.CreateObject("WScript.Shell")Set WSHEnv = WSHShell.EnvironmentWScript.Echo WSHEnv("OS")
NOTE: Notice that since there is no type specified after Environment that it will default to the "System" type.
This script works when either an administrator or non-administrator runs it.
Set WSHShell = WScript.CreateObject("WScript.Shell")Set WSHEnv = WSHShell.Environment("Process")WScript.Echo WSHEnv("OS")
NOTE: Notice that the type "Process" is specified after Environment.