Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取远程PC的TCP全局设置_C#_Tcp_Remote Access - Fatal编程技术网

C# 获取远程PC的TCP全局设置

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();

我正在尝试获取远程PC的TCP设置。通过运行netsh int TCP show global可以轻松获取本地TCP设置

我尝试使用-r开关并指定远程机器名,但showglobal命令在int-tcp上下文下不可用,我认为showglobal在int-ip上下文下可以正常工作

我还尝试使用psexec在远程PC上执行netsh,但无论运行什么命令,都只返回第一行输出。有些人也有同样的问题,看起来他们都放弃了。以下是我的代码片段:

    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