sathish_raos
asked on
Access Denied Problem in WMI for Windows XP only
Hi All
I have been writing an application to get the details of remote machine like OS Name, Logon User Name etc using WMI Classes.
In our network we have machines with Windows XP, Windows Vista Windows 7.
I am able to get the informations for all windows 7 and windows vista machines.
But the problem here is i am not able to get the informations for windows XP machines.
Every time i am getting the following exception
Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
I have gone through the net but no help. I have done all the steps mentioned in the following link
http://support.microsoft.com/kb/875605.
But no luck still i am not able to solve the problem.
I have domain username with administrator privilages.
Below is the code that i have used. (C#)
Please help me to solve the problem.
I have been writing an application to get the details of remote machine like OS Name, Logon User Name etc using WMI Classes.
In our network we have machines with Windows XP, Windows Vista Windows 7.
I am able to get the informations for all windows 7 and windows vista machines.
But the problem here is i am not able to get the informations for windows XP machines.
Every time i am getting the following exception
Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
I have gone through the net but no help. I have done all the steps mentioned in the following link
http://support.microsoft.com/kb/875605.
But no luck still i am not able to solve the problem.
I have domain username with administrator privilages.
Below is the code that i have used. (C#)
private void GetRemoteComputerInfo(string compName)
{
ObjectGetOptions oc = new ObjectGetOptions();
try {
ConnectionOptions connOptions = new ConnectionOptions();
connOptions.Username = "domain\\domainUserName";
connOptions.Password = "domainUserPass";
connOptions.Authority = "kerberos:domain\\" + compName;
connOptions.Impersonation = ImpersonationLevel.Impersonate;
connOptions.EnablePrivileges = true;
ManagementScope msc;
if (compName == Environment.MachineName)
msc = new ManagementScope("\\\\" + compName + "\\root\\cimv2");
else
msc = new ManagementScope("\\\\" + compName + "\\root\\cimv2", connOptions);
msc.Connect();
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
mc.Scope = msc;
//collection to store all management objects
ManagementObjectCollection moc = mc.GetInstances();
if (moc.Count != 0) {
foreach (ManagementObject mo in mc.GetInstances()) {
Console.WriteLine(string.Format("\nMachine Make: {0}\nMachine Model: {1} System Type: {2} Host Name: {3} Logon User Name: {4}{5}",
mo["Manufacturer"].ToString(),
mo["Model"].ToString(),
mo["SystemType"].ToString(),
mo["DNSHostName"].ToString(),
mo["UserName"].ToString(),
Environment.NewLine));
}
}
}
catch (Exception e) {
Console.WriteLine("{0}: {1}", e.GetType().Name, e.Message);
}
}
Please help me to solve the problem.
Hi, you have to give rights to all the the user for using sql server.
ASKER
@samirbhogayta: I am not using sql server.
I want to get the details of a remote computer using WMI.
I have admin provilages.
I want to get the details of a remote computer using WMI.
I have admin provilages.
Hi Sathish: since you have admin rights already on that PC, have a look at this page:
http://social.msdn.microsoft.com/Forums/eu/vsreportcontrols/thread/26accc30-9cfb-4d86-9c27-780f51929ecb
Also:
Source: http://forums.asp.net/t/1225290.aspx/1?Access+is+denied+Exception+from+HRESULT+0x80070005+E_ACCESSDENIED+
http://social.msdn.microsoft.com/Forums/eu/vsreportcontrols/thread/26accc30-9cfb-4d86-9c27-780f51929ecb
Also:
1) go to dev box (web server) and run: "sc sdshow msdtc"output could be similar to this:
D:(A;;CCLCSWRPLOCRRC;;;S-1-2-0)(A;;C CLCSWRPWPD TLOCRRC;;; SY)(A;;CCD CLCSWRPWPD TLOCRSDRCW DWO;;;BA)( A;;CCLCSWL OCRRC;;;AU )(A;;CCLCS WRPWPDTLOC RRC;;;PU)( A;;CCLCSWR PRC;;;WD)( A;;CCLCSWR PLORC;;;NS )S:(AU;FA; CCDCLCSWRP WPDTLOCRSD RCWDWO;;;W D) 2) go to prod box (web server) and run the same "sc sdshow msdtc"outout could be similar to this:
D:(A;;CCLCSWRPLOCRRC;;;S-1-2-0)(A;;C CLCSWRPWPD TLOCRRC;;; SY)(A;;CCD CLCSWRPWPD TLOCRSDRCW DWO;;;BA)( A;;CCLCSWL OCRRC;;;IU )(A;;CCLCS WLOCRRC;;; SU)(A;;CR; ;;AU)(A;;C CLCSWRPWPD TLOCRRC;;; PU)(A;;CCL CSWRPLORC; ;;NS)S:(AU ;FA;CCDCLC SWRPWPDTLO CRSDRCWDWO ;;;WD) As you can see - highlighted strings are different - that's where my issue was.
3) I changed it but running the following:
sc sdset msdtc D:(A;;CCLCSWRPLOCRRC;;;S-1-2-0)(A;;C CLCSWRPWPD TLOCRRC;;; SY)(A;;CCD CLCSWRPWPD TLOCRSDRCW DWO;;;BA)( A;;CCLCSWL OCRRC;;;IU )(A;;CCLCS WLOCRRC;;; SU)(A;;CCL CSWRPRC;;; WD)(A;;CCL CSWRPWPDTL OCRRC;;;PU )(A;;CCLCS WRPLORC;;; NS)S:(AU;F A;CCDCLCSW RPWPDTLOCR SDRCWDWO;; ;WD)
** Note - I only changed that one string, the rest stayed the same as they were on prod environment. This could be caused either by the invalid install or permissions set during the install or because of some sort of the "hot fix" or the update. If your transactions suddenly stop working you should look into these settings and see if they are identical. Also don't forget to back up your server before making any changes or put it into undoable mode!!! Here are the posts I used: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2915944&SiteID=1 and http://msdn2.microsoft.com/en-us/library/aa374928.aspx Good Luck!
Source: http://forums.asp.net/t/1225290.aspx/1?Access+is+denied+Exception+from+HRESULT+0x80070005+E_ACCESSDENIED+
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
disable the windows firewall some times it block .
disable the firewall in server and client.
disable the firewall in server and client.
ASKER
both client and server firewalls are disabled still not getting.
Sathish: did u go through the recommendations of actions I've listed?
ASKER
@Gene_Cyp: I have done all the steps you have told.
But still i am not able to get the solution.
But still i am not able to get the solution.
ASKER
I have checked the WMI logs (wbemprox.log) on the Windows XP machine i found following erros listed in that.
(Tue Mar 08 17:15:46 2011.13254671) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x800706ba
(Tue Mar 08 17:16:34 2011.13303437) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x800706ba
(Tue Mar 08 17:16:35 2011.13304562) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x800706ba
(Tue Mar 08 17:16:51 2011.13320125) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x800706ba
(Tue Mar 08 17:16:52 2011.13321156) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x800706ba
(Tue Mar 08 17:22:10 2011.13639062) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x80070005
(Tue Mar 08 17:22:17 2011.13646437) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x80070005
I am still not able to solve the problem.
(Tue Mar 08 17:15:46 2011.13254671) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x800706ba
(Tue Mar 08 17:16:34 2011.13303437) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x800706ba
(Tue Mar 08 17:16:35 2011.13304562) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x800706ba
(Tue Mar 08 17:16:51 2011.13320125) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x800706ba
(Tue Mar 08 17:16:52 2011.13321156) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x800706ba
(Tue Mar 08 17:22:10 2011.13639062) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x80070005
(Tue Mar 08 17:22:17 2011.13646437) : ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x80070005
I am still not able to solve the problem.
ASKER
Hi
I found one solution by adding NETWORK SERVICE to local administrator group in xp machines and restarting the machine.
Since i have many computers running XP os in LAN i cannot do it for all the systems. Is there an alternative way to do this?
I found one solution by adding NETWORK SERVICE to local administrator group in xp machines and restarting the machine.
Since i have many computers running XP os in LAN i cannot do it for all the systems. Is there an alternative way to do this?