在我的本地网络中,我有超过 10 pc 。我需要关注所有的pc.I想知道所有pc的硬件信息。我也想控制那些pc,假设,此刻我想重新启动我的一台客户端电脑。是否有可能在C#。如果有任何问题请问。请提前谢谢 我使用bellow语法来执行命令。
try
{
// create the ProcessStartInfo using "cmd" as the program to be run,
// and "/c " as the parameters.
// Incidentally, /c tells cmd that we want it to execute the command that follows,
// and then exit.
System.Diagnostics.ProcessStartInfo procStartInfo =
new System.Diagnostics.ProcessStartInfo("cmd", "/c " + "shutdown /r /m \\172.16.1.3 /t 1 /");
// The following commands are needed to redirect the standard output.
// This means that it will be redirected to the Process.StandardOutput StreamReader.
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
// Do not create the black window.
procStartInfo.CreateNoWindow = true;
// Now we create a process, assign its ProcessStartInfo and start it
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
// Get the output into a string
string result = proc.StandardOutput.ReadToEnd();
// Display the command output.
Console.WriteLine(result);
}
catch (Exception objException)
{
// Log the exception
}
使用上面的代码,我收到消息“找不到网络路径。”
答案 0 :(得分:1)
请检查网址。 http://support.microsoft.com/kb/317371
如果您想制作一个能够获取远程系统信息的程序。您必须使用Microsoft的Remoting
。在这里,我们可以在远程系统中创建一个对象,我们可以控制它。
可以通过执行System.Diagnostics.ProcessStartInfo
来获取系统信息。
可以使用“systeminfo”获取系统信息。可以使用C#
获取输出请查看this。 我希望这对你有用。
答案 1 :(得分:0)
我不认为这是一个C#问题,因为使用Group Policy Editor,System Management Server,System Center Operations Manager等内容可以做得更优雅。
要在远程计算机上执行一些简单的任务,您可以查看PsTools。
答案 2 :(得分:0)
根据这些要求,我的第一站将是WMI。例如,Win32_OperatingSystem类具有Reboot
和Shutdown
方法,Win32_Processor具有关于CPU的各种信息。
此MSDN部分向您展示如何使用.Net:Getting Started Accessing WMI Data
这个MSDN部分有很多简短的VBScript样本用于使用WMI做各种事情,即使代码不同,至少你可以看到你应该看到哪些WMI类/方法/属性:{{3 }}
请注意RB的评论,你需要拥有正确的权限才能使用。
编辑:忘记了,因为您要连接到其他计算机,此示例将非常有用:WMI Tasks for Scripts and Applications