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

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

我可以很容易地find这些共享,但我很乐意快速find它们在磁盘上表示的本地目录。

谢谢!

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

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

    对于列出远程服务器的共享,请注意,NET VIEW svr_name将只显示用户共享,不显示pipe理员或隐藏共享。 在最后添加/ 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. 

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

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

    使用WMI:Win32_Share。

    在PowerShell中:

     gwmi -class Win32_Share 

    这也包括系统提供的份额,并将远程工作。

    生成对象的Path属性是本地path。

    为了一些清晰(因为它不明白哪里可以findGUI中的股票列表)

    正如人们提到的那样,打开一个命令提示符并键入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. 

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

    在“ 服务器pipe理器”中 ,展开“ angular色”节点,然后展开“ 文件服务”节点。 点击共享和存储pipe理 。 显示屏将显示两个选项卡, 份额 。 份额选项卡显示您现有的份额(与上面的控制台输出相同)。 这个接口允许你与共享进行交互,如更改属性/权限,停止共享或创build新共享。

    希望有所帮助。

    对于一个快捷的列表,从命令提示执行“NET SHARE”。 这个命令唯一的问题是它将数据格式化成列,并可能切断长path。

    你可能会更好地服务于做

     HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Shares 

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

    右键点击My Computer图标,然后selectManage

    在打开的窗口中,在左侧的树中查找标记为“ Shared Folders的图标,然后展开以查找另一个标有Shares图标。 点击这里,你应该看到所有当前股份的清单。

    打开一个PowerShell实例,添加这个函数,然后运行它:

     function Get-FileShare { [CmdletBinding()] param( [string] $Name = '%', [parameter(ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] [string] $ComputerName = "$env:COMPUTERNAME" ) Set-StrictMode -Version Latest $Name = $Name -replace "\*", "%" if ($Name -eq '%') { Get-WmiObject -Class Win32_Share -ComputerName $ComputerName } else { Get-WmiObject -Class Win32_Share -ComputerName $ComputerName -Filter "Name LIKE '$Name'" } } 

    我试着用上面所有的build议和devise我自己的解决scheme…

    这是一种获得ntwk上所有其他计算机的份额的方法 – 不仅仅是这台计算机或一台计算机的份额

    在dos提示符下

    NET VIEW> C:\ TEMP \ SVRS.TXT

    (然后编辑SVRS.TXT)(看到像这样:) 🙂

     \\COMPUTER1 \\COMPUTER2 \\COMPUTERX 

    (更换双反斜杠)

    (NET VIEW)

     NET VIEW COMPUTER1 NET VIEW COMPUTER2 NET VIEW COMPUTERX 

    (打到第一行的结尾)

    (/ ALL> C:\ TEMP \ SHARES.TXT)

     NET VIEW COMPUTER1 /ALL > C:\TEMP\SHARES.TXT NET VIEW COMPUTER2 NET VIEW COMPUTERX 

    (通过最后一行粘贴到第二条线的末端)

    (/ ALL >> C:\ TEMP \ SHARES.TXT)

     NET VIEW COMPUTER1 /ALL > C:\TEMP\SHARES.TXT NET VIEW COMPUTER2 /ALL >> C:\TEMP\SHARES.TXT NET VIEW COMPUTERX /ALL >> C:\TEMP\SHARES.TXT 

    (将该文件保存为.BAT文件)

    (双击该.BAT文件)

    (查看您的C:\ TEMP \ SHARES.TXT文件)

    LMK你对我的解决scheme的看法 – 对所有上限进行讨论

    H