簡體   English   中英

枚舉 Windows 網絡共享和所有自定義權限

[英]Enumerate Windows network shares and all custom permissions on or within

我們有各種共享許多目錄的服務器。 查看共享瀏覽器以查看“頂級”共享是什么很容易,但下面是一堆亂七八糟的自定義權限,沒有任何記錄。

我想枚舉域中的所有共享(肯定是所有的“服務器”,本地 PC 會很好),然后向下遞歸每個並報告與父級的任何偏差。 如果孩子擁有相同的權限,則無需報告。

我更喜歡使用簡單的腳本解決方案來編寫大型 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 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM