C# 检查机器是否启动/活动
我想检查远程计算机是否已经使用C#启动(重新启动/重新映像后) 现在,我所能想到的就是运行PING命令并检查机器是否会响应。有什么优雅的方式吗 谢谢 编辑C# 检查机器是否启动/活动,c#,diagnostics,C#,Diagnostics,我想检查远程计算机是否已经使用C#启动(重新启动/重新映像后) 现在,我所能想到的就是运行PING命令并检查机器是否会响应。有什么优雅的方式吗 谢谢 编辑 我担心的一点是,PING通常会在机器启动Windows后做出响应。到那时,某些服务可能尚未启动。请参见Anders Lindahl的回答。考虑到PING本质上是设计来完成您想要做的事情的(看看是否有一台机器可用并响应),我认为它已经相当优雅了。为什么事情会复杂化?为什么你认为ping是个坏主意?我不认为你会绕过发送主机的东西,并检查它是否响应
我担心的一点是,PING通常会在机器启动Windows后做出响应。到那时,某些服务可能尚未启动。请参见Anders Lindahl的回答。考虑到PING本质上是设计来完成您想要做的事情的(看看是否有一台机器可用并响应),我认为它已经相当优雅了。为什么事情会复杂化?为什么你认为ping是个坏主意?我不认为你会绕过发送主机的东西,并检查它是否响应,并没有任何比ping更小的程序可以做到这一点。通过使用ping,您不必自己实现某些功能。我不知道优雅,但取决于(a)某些机器可以设置为不响应ping作为潜在的DoS攻击,以及(b)您对机器的访问方式,也许可以使用PowerShell脚本。PowerShell可在intranet上用于确定机器是否已通电、确定各种机器服务的状态、访问该机器上的SQL数据库、打开/关闭应用程序服务等。同样,这取决于您需要执行的操作,C#可能不是该作业的正确工具。Ping通常足以验证机器是否已正确重新启动,但如果您依赖机器上的任何服务来启动,则可能需要明确检查。查看如何使用来查询:
nmap-sS-P0-A-v