【发布时间】:2014-02-21 11:30:20
【问题描述】:
如果我想检查服务器的可用性,但我不知道它的共享,我可以在 Windows 资源管理器窗口中输入它的 UNC 名称(或 IP 地址),即使 没有服务器共享目录:: p>
如何在 .NET 中以编程方式使用它来验证服务器是否在线?我正在尝试
My.Computer.FileSystem.DirectoryExists(UNCPath)
但这仅适用于\\MY_SERVER\Users 等UNC 路径,不适用于\\MY_SERVER。
我想避免 Ping 并坚持使用在文件系统工作时有效的功能,因为出于安全原因,某些服务器可能会禁用 ICMP_ECHO。
(如果您想发布一些代码,请随意选择 VB 或 C#。)
【问题讨论】:
-
什么是
My.Computer.FileSystem...? -
我认为问题在于
"\\MY_SERVER"不是目录,而是服务器名称。"\\MY_SERVER\Users"是一个目录,它是共享内容的根目录,因此没有父目录供您检查。 -
@musefan
My.Computer.FileSystem是VB-exclusive convenience for functionalities from System.IO.File -
难道没有一个答案是我为您链接的重复问题吗?
-
@musefan 建议的解决方案提示使用 WMI 检查远程服务的可用性,这有助于文件和共享服务。这应该显示服务器的可用性。我没有使用 WMI 的经验,所以我不确定是否可以在没有事先在远程计算机上进行身份验证的情况下完成。因此,我将这个问题悬而未决,也许有人仍然可以在这里添加一个好的答案。