您好,登錄后才能下訂單哦!
今天需要給某個(gè)網(wǎng)絡(luò)共享的大文件重新配置一個(gè)權(quán)限。這個(gè)文件夾下面有很多亂七八糟的小文件,很多創(chuàng)建人甚至已經(jīng)離開公司了。如果一個(gè)個(gè)地目錄手動(dòng)修改所有者權(quán)限,再打開繼承關(guān)系,這樣比較麻煩,這個(gè)時(shí)候自然是用腳本比較方便了。
#網(wǎng)上找的現(xiàn)成的高級(jí)方法來enable繼承關(guān)系 function Set-NTFSInheritance { <# .SYNOPSIS Enable or Disable the NTFS permissions inheritance. .DESCRIPTION Enable or Disable the NTFS permissions inheritance on files and/or folders. .EXAMPLE $Folders = Get-Childitem -Path 'e:\homedirs' | Where-Object {$_.Attributes -eq 'Directory'} $Folders | foreach { $_ | Set-NTFSInheritance -Enable } .NOTES Author : Jeff Wouters Date : 8th of May 2014 #> [cmdletbinding(defaultparametersetname='Enable')] param ( [parameter(mandatory=$true,position=0,valuefrompipeline=$true,parametersetname='Enable')] [parameter(mandatory=$true,position=0,valuefrompipeline=$true,parametersetname='Disable')] $Path, [parameter(mandatory=$false,parametersetname='Enable')][switch]$Enable, [parameter(mandatory=$false,parametersetname='Disable')][switch]$Disable ) begin { } process { $ACL = get-acl $_.FullName switch ($PSCmdlet.ParameterSetName) { 'Enable' { $ACL.SetAcce***uleProtection($false,$false) } 'Disable' { $ACL.SetAcce***uleProtection($true,$true) } } try { $ACL | Set-Acl -Passthru } catch { $_.Exception } } end { } } #自己調(diào)用一下上面的方法,基本上就是三步走,第一個(gè)奪取所有權(quán);第二打開繼承關(guān)系;第三在最上面設(shè)置權(quán)限 function ChangePermission { [cmdletbinding(defaultparametersetname='Enable')] param ( [Parameter(Mandatory=$true)] [string] $path, [Parameter(Mandatory=$true)] [string] $group ) #Step 1: take over ownership takeown.exe /f $path /r /d Y #Step 2: enable inheritance for all subfolders $Folders = Get-Childitem -Path $path -Recurse $Folders | foreach { $_ | Set-NTFSInheritance -Enable } #Step3: setup NTFS Modify permission from the parent folder $perm2=':(OI)(CI)(M)' write-host $path -ForegroundColor Cyan icacls $path /grant "$($group)$perm2" } #最后調(diào)用函數(shù)即可 $parent="\\syd02\Creative TRACK\CLIENT FOLDERS\WESTPAC" Get-ChildItem $parent | foreach { $_.fullname ChangePermission -path $_.FullName -group "Sydney Track Creative" }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。