Reputation: 1450
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.
Upvotes: 2
Views: 3982
Reputation: 624
This error can be caused if the Remote Registry service is not started on the remote machine 1.
Upvotes: 11
Reputation: 44275
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.");
Upvotes: 2
Reputation: 63126
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.
Upvotes: 0
Reputation: 164281
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.
Upvotes: 0