假设我可以访问IP 1.2.3.4的SMB服务器,如何确定可用共享列表?
当我输入UNC路径时,Windows资源管理器可以执行此操作\\ 1.2.3.4 \ - 但命令提示符“dir \\ 1.2.3.4”会失败!
我尝试过通常的FindFirstFile / FindNext调用 - 我成功地使用它来读取每个共享上的文件和目录,但它们不能直接在服务器根目录上运行。
理想情况下,我需要一些适用于XP的东西。
编辑:我想以编程方式执行此操作,而不是从命令行执行此操作。重定向和解析“net view 1.2.3.4”的输出会起作用,但我理想的是为这项工作寻找API。
答案 0 :(得分:8)
根据文档,有NetShareEnum
和WNetEnumResource
函数。
答案 1 :(得分:4)
答案 2 :(得分:0)
您似乎可以使用WMI获取此信息。检查this post以获取一些现在显示的使用Win32_Share WMI对象的简洁PowerShell教程。
答案 3 :(得分:0)
永远不要使用WMI(本地未安装)
使用Win32 api枚举共享,在google groups(win32)上发布数百万次