<代码>美元=" 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美元 }代码>