如何获取本地 Windows 服务器上的共享目录列表?

Run*_*sen 69 windows-server-2003 windows-server-2008 file-sharing

如果我有一台 Windows 服务器(通常是 2000、2003 或 2008),是否有一种简单的方法可以列出该服务器上共享的所有本地目录?

我可以很容易地找到共享本身,但我希望能快速找到它们在磁盘上代表的本地目录。

谢谢!

Sam*_*gan 94

您可以进入计算机管理(右键单击我的计算机,选择管理),展开共享文件夹节点并查看所有共享、连接的会话和打开的文件的列表。

对于 W2K8,您可以在服务器管理器中执行此操作:角色 -> 文件服务 -> 共享和存储管理;窗口中央的“共享”选项卡。

对于列出远程服务器的共享,请注意 NET VIEW svr_name 将只显示用户共享,没有管理或隐藏共享。在末尾添加 /all 开关将显示其他这些(对于 W2K8)。

C:\>net view sx1
Shared resources at sx1

Share name    Type  Used as  Comment
 --------------------------------------------
SHARE_CIFS    Disk
The command completed successfully.

C:\>net view sx1 /all
Shared resources at sx1

Share name    Type  Used as  Comment
 --------------------------------------------
ADMIN$        Disk           Remote Admin
SHARE_CIFS    Disk
C$            Disk           Default share
IPC$          IPC            Remote IPC
The command completed successfully.
Run Code Online (Sandbox Code Playgroud)

  • 这是误导;虽然 GUI 解决方案有效,但在使用 CLI 时,应该使用“net share”来显示本地服务器上共享的内容以及相应的物理路径(“net view”不显示)。 (3认同)

Ben*_*oit 35

在命令行提示符下,您可以使用“net share”命令。它将打印一个表格,其中包含共享名称、资源和可选注释的列表。


Tha*_*Guy 22

net share从命令提示符将为您提供共享名称和路径。如果您需要更高级的东西,您可以使用 VBScript 或 PowerShell 查询 WMI。


Ric*_*ard 17

使用 WMI:Win32_Share。

在 PowerShell 中:

gwmi -class Win32_Share
Run Code Online (Sandbox Code Playgroud)

这还包括系统提供的共享并将远程工作。

结果对象的 Path 属性是本地路径。

  • 要从您所在的计算机以外的计算机上获取此信息,请在命令中添加“-computername name”。如果您想在整个主机上获得共享,这可能非常方便。不要忘记您可以将它们转储到 csv 中以供进一步处理和许多其他有趣的 PowerShell 优点。 (2认同)

小智 11

为了清楚起见(因为在 GUI 中找到共享列表的位置并不明显)

正如人们所提到的,打开命令提示符并输入net share。这可能是查看可用共享的最简单方法。这还将显示隐藏的共享(后缀为 $ 的共享)以及共享指向的位置。

下面是一个例子:

C:\Users\tstmoss>net share

Share name   Resource                        Remark
-------------------------------------------------------------------------------
C$           C:\                             Default share
IPC$                                         Remote IPC
ADMIN$       C:\Windows                      Remote Admin
The command completed successfully.
Run Code Online (Sandbox Code Playgroud)

在 Windows Server 2008 上,右键单击“开始”菜单中的“计算机”并选择“管理”,或启动服务器管理器(默认情况下,任务栏中开始菜单旁边的第一个图标)。

Server Manager 中,展开Roles节点,然后展开File Services节点。单击共享和存储管理。显示屏将显示两个选项卡,SharesVolumes。Shares 选项卡显示现有共享(与上面的控制台输出相同)。此界面确实允许您与共享进行交互,例如更改属性/权限、停止共享或创建新共享。

希望有帮助。


Eva*_*son 7

对于快速和肮脏的列表,从命令提示符执行“NET SHARE”。这个命令的唯一问题是它仔细地将数据格式化为列并可能切断长路径。

这样做可能会更好地为您服务

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Shares
Run Code Online (Sandbox Code Playgroud)

与 REGEDIT。您可以根据需要导出它。