![](/img/trans.png)
[英]Is there a Windows user space function to enumerate connected network shares?
[英]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.