1

Nous avons plusieurs serveurs partageant de nombreux répertoires. Il est assez facile de regarder le navigateur de partages pour voir ce que sont les partages de «niveau supérieur», mais en dessous se trouve un fouillis d'autorisations personnalisées, dont aucune n'est documentée. Je voudrais énumérer tous les partages sur le domaine (certainement tous les «serveurs», les PCs locaux seraient gentils) et ensuite recurse chacun et signaler n'importe quelle déviation du parent. Si l'enfant a les mêmes permissions, il n'est pas nécessaire de le signaler.Énumérer les partages réseau Windows et toutes les autorisations personnalisées sur ou à l'intérieur de

Je préférerais une simple solution de script-y pour écrire une grande application C#, mais toute méthode qui fonctionne fera l'affaire (même les logiciels existants).

Par exemple, je voudrais obtenir:

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) 

etc.

Répondre

1

Je sais que ce script isnt, mais vous avez essayé ShareEnum? http://technet.microsoft.com/en-us/sysinternals/bb897442.aspx, puis exportez-le? Vous pouvez également comparer à d'anciennes exécutions. Je ne pense pas qu'il existe une interface de ligne cmd (qui craint), mais il vous obtiendra les informations dont vous avez besoin

+0

Il est propre mais n'énumère pas les subdirs d'actions pour les différents niveaux d'autorisations. Par exemple, sur le serveur A, nous avons D: \ company partagé. Profondément à l'intérieur D: \ company \ path \ to \ dir nous avons un autre répertoire avec des perms personnalisées qui n'apparait pas dans ShareEnum :( –

1

This Powershell script accomplit votre objectif.

Comme il est dit:

Ce petit script énumérer toutes les actions sur un ordinateur, et la liste des autorisations de niveau pour chaque action. Il utilise WMI pour récupérer les partages et pour répertorier les autorisations.

Notez que ce script répertorie les autorisations au niveau du partage et non les autorisations NTFS.

Il accepte un certain nombre d'ordinateurs comme son entrée, une seule adresse IP, ou en cours d'exécution dans le système local:

 .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' 
Questions connexes