我在用戶目錄中有多個文件夾,這些文件夾以錯誤的ACL結尾。我想找到一種方法來使用PowerShell(或者一個常規的命令提示符,如果更簡單的話)刪除現有的ACL並將其替換爲應該從其父文件夾繼承的內容。訣竅是隻有擁有該文件夾的用戶纔有權訪問它(get-acl'。\ folder'返回「試圖執行未經授權的操作」)。這些文件夾都位於Windows Server 2003 Std系統上。使用PowerShell替換具有繼承默認值的ACL
0
A
回答
0
試試這個:
#You have a textfile with FOLDER-paths
#$a = Get-Content d:\list.txt
#You have an array of FOLDER-paths
$a = @("d:\mytestfolder", "d:\my2ndtestfolder")
$a | % {
#Take ownership to admin-group
& TAKEOWN /F $_ /A /R /D Y
#Reset acl to default recursively
& ICACLS $_ /RESET /T /C
}
+0
謝謝!這基本上是我最終做的,雖然我沒有打擾PowerShell。我不知道你可以「打電話」那樣的常規命令。 – Caynadian 2013-02-08 16:15:15
+0
如果使用調用操作符('&'),則將字符串的其餘部分轉換爲命令;) – 2013-02-08 16:17:54
0
事實證明,這是很容易與普通的命令提示符工具來完成。附件中的腳本做什麼,我需要在短短的幾行:
@Echo Off
@Echo Taking ownership of files in %1
takeown /f %1 /r /d Y /a > :nul
@Echo Restoring default ACLs in %1
icacls %1 /reset /t /c > :nul
@Echo Restoring ownership of files to %2
subinacl /file %1 /setowner=%2 > :nul
subinacl /subdirectories %1\*.* /setowner=%2 > :nul
相關問題
- 1. 具有默認參數的類繼承
- 2. 的JavaScript繼承的屬性默認值
- 3. Doctrine2 + Symfony2的默認繼承
- 4. Python的默認繼承?
- 5. PHP - 繼承功能默認值
- 6. .Net繼承控件屬性默認值
- 7. 默認值與單表繼承
- 8. 使用具有繼承
- 9. 從具有默認參數的類模板繼承
- 10. 熊貓替換默認值
- 11. 沒有默認構造函數 - 繼承
- 12. 應該如何創建從NumPy ndarray繼承並且具有默認值的類?
- 13. 「默認情況下結構具有公共繼承」
- 14. dojo:使用默認值繼承 - mixin不會發生
- 15. 爲什麼在使用TPH繼承時忽略默認值?
- 16. 具有繼承和覆蓋的分層ACl
- 17. HXT使用'orElse'用默認值替換丟失的屬性值
- 18. 用默認文本替換空值
- 19. 使用Linq to Entities查詢中的默認值替換空值
- 20. 麪包::板的默認/可替換值
- 21. 原則繼承替換
- 22. 替換用作默認表
- 23. 具有默認值的通用解析
- 24. C#中的默認繼承類型
- 25. 的Java 8默認方法繼承
- 26. 有條件地用Pandas中的默認值替換幾列
- 27. Java繼承:嚴格的默認抽象和默認默認的衝突規範
- 28. 繼承:沒有適當的默認構造函數可用
- 29. 使用enable_shared_from_this具有多繼承
- 30. 用jQuery工具提示替換所有標題的默認工具提示
http://mattgemmell.com/2008/12/08/what-have-you-tried/ – 2013-02-08 15:32:33
@CB:我已經試過一些來自我發現的其他密切相關查詢的腳本,但所有這些腳本都失敗了,因爲上面的消息有所變化。我認爲PowerShell是新事物,使用它可以更容易地完成我的任務,但正如您在下面的答案中看到的,使用舊的命令提示符會更容易。 – Caynadian 2013-02-08 16:10:46