Как я могу получить список общих каталогов на локальном сервере Windows?

69

Если у меня есть сервер Windows (обычно 2000, 2003 или 2008), есть ли простой способ перечислить все локальные каталоги на этом сервере?

Я могу найти сами общие папки достаточно просто, но мне бы хотелось быстро найти локальные каталоги, которые они представляют, на диске.

Спасибо!

Руна Якобсен
источник

Ответы:

93

Вы можете перейти к управлению компьютером (щелкнуть правой кнопкой мыши по моему компьютеру, выбрать «Управление»), развернуть узел «Общие папки» и увидеть список всех общих папок, подключенных сеансов и открытых файлов.

Для W2K8 вы делаете это в Диспетчере серверов вместо: Роли -> Файловые службы -> Управление общими ресурсами и хранилищами; вкладка Shares в центре окна.

Для перечисления общих ресурсов удаленных серверов, обратите внимание, что в svr_name NET VIEW будут отображаться только общие ресурсы пользователя, без администраторов или скрытых. Добавление ключа / 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.
Сэм Коган
источник
2
Спасибо за скриншот. В будущем вы также должны обрисовать в общих чертах и ​​описать, как именно получить то, что вы публикуете, на случай, если изображение будет недоступно в будущем.
SQLChicken
Вы делаете это звучит так, как будто он связан с другим сайтом или чем-то еще. Он загрузил картинку на этот сайт ... так что, конечно, она будет доступна в будущем.
Остин «Опасность» Пауэрс
3
Для записи: фотография была размещена на ImageShack, и на сегодняшний день она недоступна.
Массимо
3
Это вводит в заблуждение; в то время как решение с графическим интерфейсом работает, при переходе к CLI net shareследует использовать, чтобы показать, что совместно используется на локальном сервере, и соответствующие физические пути (которые net viewне отображаются).
Массимо
1
@Massimo Ваш комментарий вводит в заблуждение. Мое предложение состояло в том, чтобы использовать Net View для распечатки удаленных акций. Net Share не будет перечислять удаленные ресурсы и поэтому не может использоваться для этого. Если вы смотрите на локальный компьютер, то да, Net Share - лучший вариант, но он не доступен удаленно.
Сэм Коган
36

Из командной строки вы можете использовать команду «net share». Он напечатает таблицу со списком имени ресурса, ресурса и необязательного замечания.

Benoit
источник
22

net shareиз командной строки даст вам имя ресурса и путь. Если вам нужно что-то более продвинутое, вы можете запросить WMI, используя VBScript или PowerShell.

ThatGraemeGuy
источник
17

Используйте WMI: Win32_Share.

В PowerShell:

gwmi -class Win32_Share

Это также включает в себя систему предоставленных общих ресурсов и будет работать удаленно.

Свойство Path полученного объекта является локальным путем.

Ричард
источник
2
чтобы получить это с компьютера, отличного от того, на котором вы находитесь, добавьте «-computername name» в команду. Это может быть очень удобно, если вы хотите получить общий доступ к целому ряду компьютеров. Не забывайте, что вы можете выбросить их в CSV-файл для дальнейшей обработки и множества других полезных возможностей PowerShell.
flickerfly
10

Для некоторой ясности (поскольку не очевидно, где найти список акций в 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.

В Windows Server 2008 либо щелкните правой кнопкой мыши Компьютер в меню « Пуск» и выберите « Управление» , либо запустите Диспетчер серверов (по умолчанию первый значок рядом с меню «Пуск» на панели задач).

В Диспетчере серверов разверните узел Роли , затем разверните узел Файловые службы . Нажмите на Управление доступом и хранилищем . На дисплее появятся две вкладки: « Общие» и « Объемы» . На вкладке Shares отображаются существующие общие ресурсы (аналогично выводу консоли выше). Этот интерфейс позволяет вам взаимодействовать с общим ресурсом, например, изменять свойства / разрешения, останавливать общий ресурс или создавать новые.

Надеюсь, это поможет.

Бил Симсер
источник
7

Для быстрого и грязного списка из командной строки выполните «NET SHARE». Единственная проблема с этой командой состоит в том, что она вдумчиво форматирует данные в столбцы и потенциально обрезает длинные пути.

Вы можете быть лучше обслужены, делая в

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Shares

с REGEDIT. Вы можете экспортировать это по желанию.

Эван Андерсон
источник
4

Щелкните правой кнопкой мыши на своем My Computerзначке и выберите Manage.

В открывшемся окне найдите в дереве слева значок с надписью Shared Foldersи разверните его, чтобы найти другой значок с надписью Shares. Нажмите здесь, и вы должны увидеть список всех текущих акций.

Джоэл Коэль
источник
0

Откройте экземпляр 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'"
    }
}
деятель
источник
-1

\ servername напишите имя сервера на вашем компьютере в Run (окно + R), а затем отобразите список общих папок, предоставленных службой

Хавраз Абдулла

user518579
источник
Это не является правильным ( * \ ** SERVER вместо \ SERVER) и не является ответом. Windows Explorer перечисляет не * локальные общие ресурсы, а удаленные общие, и даже исключает имена с $ в нем. Кроме того, это не список, а окно отображения.
bjoster
-3

Я попробовал это, используя советы из всего вышеизложенного и придумав собственное решение ...

Это способ получить доли всех ДРУГИХ компьютеров на ntwk, а не только доли ЭТОГО компьютера или одного компьютера

по досу подсказки ...

NET VIEW> C: \ TEMP \ SVRS.TXT

(ТОГДА РЕДАКТИРОВАТЬ SVRS.TXT) (ПОСМОТРЕТЬ, ЧТО ЭТО ТАК :)

\\COMPUTER1
\\COMPUTER2
\\COMPUTERX

(ЗАМЕНИТЕ ДВОЙНЫЕ СТАВКИ С ПОМОЩЬЮ)

(Чистый вид)

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)

ЛМК, что вы думаете о моем решении - извините за все заглавные буквы

ЧАС

user2792497
источник