C# 获取远程PC的TCP全局设置
我正在尝试获取远程PC的TCP设置。通过运行netsh int TCP show global可以轻松获取本地TCP设置 我尝试使用-r开关并指定远程机器名,但showglobal命令在int-tcp上下文下不可用,我认为showglobal在int-ip上下文下可以正常工作 我还尝试使用psexec在远程PC上执行netsh,但无论运行什么命令,都只返回第一行输出。有些人也有同样的问题,看起来他们都放弃了。以下是我的代码片段:C# 获取远程PC的TCP全局设置,c#,tcp,remote-access,C#,Tcp,Remote Access,我正在尝试获取远程PC的TCP设置。通过运行netsh int TCP show global可以轻松获取本地TCP设置 我尝试使用-r开关并指定远程机器名,但showglobal命令在int-tcp上下文下不可用,我认为showglobal在int-ip上下文下可以正常工作 我还尝试使用psexec在远程PC上执行netsh,但无论运行什么命令,都只返回第一行输出。有些人也有同样的问题,看起来他们都放弃了。以下是我的代码片段: Process p = new Process();
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.FileName = "PsExec.exe";
p.StartInfo.Arguments = @"\\remotemachine -u DOMAIN\username -p pwd netsh int tcp show global";
p.Start();
p.WaitForExit();
string output = p.StandardOutput.ReadToEnd();
string errormessage = p.StandardError.ReadToEnd();
Console.WriteLine("Standard Output:\n" + output + "Standard Error:\n" + errormessage);
是否有任何方法可以通过WMI获取TCP参数,或者有任何其他方法可以通过C获取TCP参数?通过将psexec输出写入文件来解决此问题:
psexec \\remotemachine -u DOMAIN\username -p pwd netsh int tcp show global > c:\output.log