Перечислите общие сетевые ресурсы Windows и все настраиваемые разрешения на или внутри

StackOverflow https://stackoverflow.com/questions/115649

Вопрос

У нас есть различные серверы, на которых есть много общих каталогов.Достаточно легко посмотреть в браузере общих ресурсов, чтобы увидеть, что представляют собой общие ресурсы «верхнего уровня», но под ним находится беспорядочная мешанина пользовательских разрешений, ни одно из которых не задокументировано.

Я хотел бы перечислить все общие ресурсы в домене (определенно все «серверы», локальные компьютеры были бы хороши), а затем рекурсивно просмотреть каждый из них и сообщить о любых отклонениях от родительского.Если у ребенка такие же разрешения, сообщать об этом не нужно.

Я бы предпочел простое решение на основе сценариев написанию большого приложения на C#, но подойдет любой работающий метод (даже существующее программное обеспечение).

Например, я хотел бы получить:

SERVER1\
 \-- C: (EVERYONE: Total control, ADMINs, etc. etc.)
   \-- (skip anything that is not the same as above)
   \-- SuperSecretStuff (Everyone: NO access; Bob: Read access)
SERVER2\ 
 \-- Stuff (some people)

и т. д.

Это было полезно?

Решение

Я знаю, что это не скриптинг, но пробовали ли вы ShareEnum? http://technet.microsoft.com/en-us/sysinternals/bb897442.aspx а потом экспортировать?Вы также можете сравнить со старыми версиями.Я не думаю, что существует интерфейс строки cmd (это отстой), но он предоставит вам необходимую информацию.

Другие советы

Этот скрипт Powershell достигает своей цели.

Как сказано:

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

Обратите внимание, что в этом сценарии перечислены разрешения на уровне общего ресурса, а не разрешения NTFS.

Он принимает на вход несколько компьютеров, один IP-адрес или запускает его в локальной системе:

       .EXAMPLE 
       C:\PS> .\Get-SharePermissions # Operates against local computer. 

       .EXAMPLE 
       C:\PS> 'computerName' | .\Get-SharePermissions 

       .EXAMPLE 
       C:\PS> Get-Content 'computerlist.txt' | .\Get-SharePermissions | Out-File 'SharePermissions.txt' 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top