为亲爱的于

  
 <代码>美元=" C: \ temp”#根文件夹
  L=0 #美元多少层的子文件夹你想看看,0表示
  $=$ + $ s
  p=p +美元美元
  }
  b=Get-ChildItem p | ?美元{$ _。PSIsContainer} |选择-ExpandProperty FullName
  b=b +美元美元
  }
  其他的
  {
  p=p +美元美元
  b=获取项目美元p | ? {$ _。PSIsContainer} |选择-ExpandProperty FullName
  }
  
  $ b | % {
  $ c=$ _
  用户名=零美元
  (Get-Acl $ _)。访问| % {
  如果($ _。IdentityReference我喜欢S-1-5 - *)
  {
  (用户名=SID2Name美元_.IdentityReference)
  }
  其他的
  {
  用户名=_.IdentityReference美元
  }
  
  新对象-TypeName PSobject财产@ {
  路径c=$
  IdentityReference=$用户名
  FileSystemRights=$ _.FileSystemRights
  AccessControlType=$ _.AccessControlType
  }
  }
  }| Export-Csv”。\ ACL。csv”-NoTypeInformation编码UTF8
  
  &”。\ ACL.csv”
  
  函数SID2Name (SID)美元
  {
  $ objSID=新对象System.Security.Principal.SecurityIdentifier (SID)美元
  试一试
  {
  objUser=objSID.Translate美元([System.Security.Principal.NTAccount])
  }
  抓
  {
  返回$ SID
  }
  返回objUser.Value美元
  } 

为亲爱的于