powershell 这个powershell脚本从顶级目录获取ACl,然后将其与所有子目录和输出的ACL进行比较。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell 这个powershell脚本从顶级目录获取ACl,然后将其与所有子目录和输出的ACL进行比较。相关的知识,希望对你有一定的参考价值。
#Set variables
$path = "D:\cin-shares\IT"
$Resultsfilename = "D:\Installs\results.txt"
$date = Get-Date
#Place Headers on out-put file
$list = "Permissions for directories in: $Path"
$list | format-table | Out-File $Resultsfilename
$datelist = "Report Run Time: $date"
$datelist | format-table | Out-File -append $Resultsfilename
$spacelist = " "
$spacelist | format-table | Out-File -append $Resultsfilename
#get the master file
$path | format-table | Out-File -append $Resultsfilename
Get-Acl -path $path | Format-List -property AccessToString | Out-File -append $Resultsfilename
$acl = Get-Acl -path $path
$acx = @()
ForEach ($ac in $acl.Access)
{
$acx += $ac.IdentityReference.Value
}
#Populate Folders Array
$folders = Get-ChildItem -path $path -force -recurse | Where {$_.PSIsContainer}
#Process data in array
ForEach ($folder in $folders)
{
try{
#Convert Powershell Provider Folder Path to standard folder path
$PSPath = (Convert-Path $folder.pspath)
$list = ("Path: $PSPath")
$aclF = Get-Acl -path $PSPath
$intFound = 0
ForEach ($acF in $aclF.Access)
{
if($acx -notcontains $acf.IdentityReference.Value){
$intFound = 1
$PSPath | Out-File -append $Resultsfilename
$acf.IdentityReference.Value | Out-File -append $Resultsfilename
$acf.FileSystemRights | Out-File -append $Resultsfilename
}
}
if($intFound -eq 1){
Get-Acl -path $PSPath | Format-List -property AccessToString | Out-File -append $Resultsfilename
"-----------------------------------------------------" | Out-File -append $Resultsfilename
}
}#end try
catch{
$folder.FullName
}
} #end ForEach
以上是关于powershell 这个powershell脚本从顶级目录获取ACl,然后将其与所有子目录和输出的ACL进行比较。的主要内容,如果未能解决你的问题,请参考以下文章
powershell 这个powershell脚本从顶级目录获取ACl,然后将其与所有子目录和输出的ACL进行比较。
可以在这个 PowerShell 脚本中使用正则表达式吗?
为啥 PowerShell 不处理这个 $?正确退出代码?
windows主机开启winrm端口powershell脚本
windows主机开启winrm端口powershell脚本
查看隐藏的powershell /即窗口