G
Guest
hello,
i'm writing a script that access WMI on a remote computer to perform certain
actions. i've tried using the GetObject as follows:
Set objWMIService = GetObject _
("winmgmts:{impersonationLevel=impersonate,(Shutdown)}\\" & _
strComputerName & "\root\cimv2")
and i've also tried using whe sWbemLocator ConnectServer method as follows:
Set objSWbemLocator = CreateObject("WbemScripting.sWbemLocator")
Set objWMIService = objSWbemLocator.ConnectServer(strComputerName, _
"\root\CIMV2", _
strUser, _
strPassword, _
"MS_409", _
"NTLMDomain:" + strComputerName)
when i use the first method, i get
error code: 800A0046
Error: Permission denied: 'GetObject'
System: the remote server has been paused or is in the process of being
started.
when i use the second method, i get:
error Code: 80070005
Error: Access is denied
Source: SWbemLocator
System: Access is denied
the remote computer is a Windows XP sp2, i'm running a network with a
windows 2003 domain controler. i'm running the script as a domain
administrator.
i have searched all around on a way to fix this. i have followed all
instructions in how to set securiy and impersonation level, and access level,
and still my scripts error out.
i suspect that some recent windows update is blocking access to local wmi
from the network.
all the variables are declared explicitly and are assigned values before
reaching this part of the code.
i have disabled the firewall on the local machines using a gpo, so it's not
a firewall issue.
if i'm locally on the machine, all the scripts run without a problem. it's
only remotely that i have a problem.
thanks and regards,
i'm writing a script that access WMI on a remote computer to perform certain
actions. i've tried using the GetObject as follows:
Set objWMIService = GetObject _
("winmgmts:{impersonationLevel=impersonate,(Shutdown)}\\" & _
strComputerName & "\root\cimv2")
and i've also tried using whe sWbemLocator ConnectServer method as follows:
Set objSWbemLocator = CreateObject("WbemScripting.sWbemLocator")
Set objWMIService = objSWbemLocator.ConnectServer(strComputerName, _
"\root\CIMV2", _
strUser, _
strPassword, _
"MS_409", _
"NTLMDomain:" + strComputerName)
when i use the first method, i get
error code: 800A0046
Error: Permission denied: 'GetObject'
System: the remote server has been paused or is in the process of being
started.
when i use the second method, i get:
error Code: 80070005
Error: Access is denied
Source: SWbemLocator
System: Access is denied
the remote computer is a Windows XP sp2, i'm running a network with a
windows 2003 domain controler. i'm running the script as a domain
administrator.
i have searched all around on a way to fix this. i have followed all
instructions in how to set securiy and impersonation level, and access level,
and still my scripts error out.
i suspect that some recent windows update is blocking access to local wmi
from the network.
all the variables are declared explicitly and are assigned values before
reaching this part of the code.
i have disabled the firewall on the local machines using a gpo, so it's not
a firewall issue.
if i'm locally on the machine, all the scripts run without a problem. it's
only remotely that i have a problem.
thanks and regards,