For the following code, I am getting
System.ComponentModel.Win32Exception: The network path was not found
Can anyone help?
PerformanceCounter pc = new PerformanceCounter("System",
"System Up Time");
pc.MachineName = "1.2.3.4";
//Normally starts with zero. do Next Value always.
pc.NextValue();
TimeSpan ts = TimeSpan.FromSeconds(pc.NextValue());
Response.Write("This system 1.2.3.4 has been up for " + ts.Days + " days " + ts.Hours + " hours, " + ts.Minutes + " and " + ts.Seconds +" seconds.");
Edit:
I tried with machine name, and I still get the same error!
Note: 1.2.3.4 is a sample value.
Uncomment pc.NextValue()
and the code works. The problem is reproduceable by giving a bad machine name or IP address. So your IP is bad.
var machineNameOrIP = "10.16.7.1";
var pc = new PerformanceCounter("System", "System Up Time");
pc.MachineName = machineNameOrIP;
//Normally starts with zero. do Next Value always.
pc.NextValue();//uncomment this
var ts = TimeSpan.FromSeconds(pc.NextValue());
Response.Write("This system " + pc.MachineName + " has been up for " + ts.Days + " days " + ts.Hours + " hours, " + ts.Minutes + " and " + ts.Seconds +" seconds.");
This error can be caused if the Remote Registry service is not started on the remote machine 1.
Either the MachineName "1.2.3.4" does not exist, or it cannot be reached on the network.
I tested your code with a machine name that exists on my network, and it works fine.
More than likely the MachineName value that you are using is not a machine that can be found on the network. i would start with that and validate that you are able to connect to it.