我在网上找到了this PowerShell script和其他变体的链接。它是一个将NTFS文件权限导出到CSV文件的简单脚本,因此我可以稍后编辑并输入新的域名。然后用另一个脚本将其导回。
当我尝试运行脚本时,替换我的变量,PowerShell只是挂在光标上。它在我测试的5台服务器上执行此操作。运行这个脚本我做错了什么?我是否复制并粘贴了错误,或者我是否必须在PowerShell中执行其他操作才能使其正常工作
这是我试图运行的脚本:
Get-ChildItem "C:" -Recurse | ?{ $_.PsIsContainer } | %{ $Path = $_.FullName
# Exclude inherited rights from the report
(Get-Acl $Path).Access | ?{ !$_.IsInherited } | Select-Object `
@{n='Path';e={ $Path }}, IdentityReference, AccessControlType, `
InheritanceFlags, PropagationFlags, FileSystemRights } | Export-CSV "c:\temp\Permissions.csv"
答案 0 :(得分:0)
重试这个:
Get-ChildItem "C:\" | ?{ $_.PsIsContainer } | %{ $Path = $_.FullName; (Get-Acl $Path).Access | ?{ !$_.IsInherited } | Select-Object @{n='Path';e={ $Path }}, IdentityReference, AccessControlType, InheritanceFlags, PropagationFlags, FileSystemRights } | Export-CSV "c:\temp\Permissions.csv"
保持一行,我将$.PsIsContainer
更改为$_.PsIsContainer
,将$.FullName
更改为$_.FullName;
以更正语法并分离说明,我删除评论。它对我有用。