2016-01-22 111 views
0

我正在編寫一個powershell腳本,以通過不同的文件夾遞歸搜索,查看每一個特定的文件。當我運行下面的命令,我得到了一些錯誤,因爲我的用戶無法訪問某些文件/目錄:避免在沒有權限的情況下瀏覽目錄

$files = Get-ChildItem -Recurse -File 'E:\\' -ErrorAction SilentlyContinue 

的問題是,在$文件,所有文件會保存,即使我的用戶不要沒有機會接觸到他們。哪種方法可以預防這種情況?

我在考慮檢查每個文件的ACL並做一些測試,但我不知道是否有更簡單和/或優雅的方式來做到這一點。

回答

0

檢查您正在使用的帳戶是否在「用戶」組中。您可能必須使用「編輯本地用戶和組」程序來關聯該程序。那些有時會得到「列表文件夾內容」,也許嘗試編輯權限,以刪除用戶,並看看你是否得到不同的結果。

+0

我知道用戶沒有適當的權限來訪問文件夾,這很好。我只是不希望這些文件/文件夾存儲在'$ files'變量中。 – CapitanShinChan

+0

當你說訪問時,你的意思是「打開並返回數據」。 「閱讀」和「列表」是兩種不同的權限。用戶根據用戶權限或他們所在的任何組擁有List權限嗎?我試圖通過在目錄上使用gci來複制此信息我知道我的帳戶沒有讀取或列出權限,並且出現了預期的錯誤。您需要查看文件夾權限(自上而下),您可能會在該目錄或更高級別的目錄中看到具有「列表」的用戶,這就是爲什麼您會收到由PS返回的文件。 – Hiker86

相關問題