我目前使用的是Vista 32位。如何添加Windows安全組「Everyone」並完全控制目錄及其所有子目錄和所有文件?有沒有我可以使用的PowerShell腳本?將組「Everyone」添加到目錄及其所有子目錄
謝謝!
我目前使用的是Vista 32位。如何添加Windows安全組「Everyone」並完全控制目錄及其所有子目錄和所有文件?有沒有我可以使用的PowerShell腳本?將組「Everyone」添加到目錄及其所有子目錄
謝謝!
我已經擴展martona的片段,並能夠訪問所有文件夾和子文件夾。這裏是我的代碼 -
$FilesAndFolders = gci "c:\data" -recurse | % {$_.FullName}
foreach($FileAndFolder in $FilesAndFolders)
{
#using get-item instead because some of the folders have '[' or ']' character and Powershell throws exception trying to do a get-acl or set-acl on them.
$item = gi -literalpath $FileAndFolder
$acl = $item.GetAccessControl()
$permission = "Everyone","FullControl","Allow"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($rule)
$item.SetAccessControl($acl)
}
$acl = Get-Acl c:\mydir
$permission = "Everyone","FullControl","Allow"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($rule)
$acl | Set-Acl c:\mydir
有時「本地」PowerShell方式不一定是最好的方式。對於這樣的事情,我仍然會使用icacls.exe。請記住,在PowerShell中,好的工作方式非常好。只是cd到你想要設置和執行該目錄:
icacls $pwd /grant "Everyone":(OI)(CI)F
這將讓每個人都完全訪問到當前目錄下(通過權限繼承)。只要沒有明確否認dir結構中的每個人,這應該起作用。
謝謝你。運行良好,如果有人想知道「Get-Item -LiteralPath」在UNC路徑上工作,這意味着您可以將權限應用於遠程計算機。 – Patrick 2013-02-11 12:13:44