Function for view directory/es access rights
Функция возвращает хэш в котором ключ - имя директории, значение - массив AccessRights
function get-diraccess
{
param(
[string]$path,
[switch] $recurse,
[switch] $verbose
)
if($recurse){
$dirs=get-childitem $path -Recurse | ?{ $_.PSIsContainer }}
else{$dirs=get-childitem $path | ?{ $_.PSIsContainer }}
if(!$dirs){return}
$result=@{}
foreach($dir in $dirs)
{
$result.add($dir.fullname,@($dir.getAccessControl().Access))
}
if($verbose)
{
foreach($i in $result.keys)
{$msg+=$i+"`n";
foreach($j in $result[$i]){
$msg+="`t"+($j.IdentityReference)+" - "+($j.filesystemrights)+"`n"}
}
Write-Host $msg
}
return $result
}
С возвращенным хэшем удобно работать используя Enumerator поша
$a=get-diraccess -path "c:\temp\" -verbose
$enum=$a.keys.getenumerator()
$enum.movenext()
$enum.key
$enum.value
Функция возвращает хэш в котором ключ - имя директории, значение - массив AccessRights
function get-diraccess
{
param(
[string]$path,
[switch] $recurse,
[switch] $verbose
)
if($recurse){
$dirs=get-childitem $path -Recurse | ?{ $_.PSIsContainer }}
else{$dirs=get-childitem $path | ?{ $_.PSIsContainer }}
if(!$dirs){return}
$result=@{}
foreach($dir in $dirs)
{
$result.add($dir.fullname,@($dir.getAccessControl().Access))
}
if($verbose)
{
foreach($i in $result.keys)
{$msg+=$i+"`n";
foreach($j in $result[$i]){
$msg+="`t"+($j.IdentityReference)+" - "+($j.filesystemrights)+"`n"}
}
Write-Host $msg
}
return $result
}
С возвращенным хэшем удобно работать используя Enumerator поша
$a=get-diraccess -path "c:\temp\" -verbose
$enum=$a.keys.getenumerator()
$enum.movenext()
$enum.key
$enum.value
Комментариев нет:
Отправить комментарий