, поэтому я помогаю с переносом данных в другую компанию, которая купила первую, для которой мне нужно экспортировать Foldernames, User-Names и Permissions в файл .csv. У меня есть рабочий скрипт, но, похоже, он занимает очень много времени. Он работал с несколькими общими папками, в которых не было слишком много папок, но теперь я столкнулся со сценариями, работающими в течение нескольких часов (более 100 000 папок). Из меньших акций, которые я знаю, это дает мне правильную информацию, но это занимает много времени для количества оставшихся акций.
$FolderPath = dir -Directory -LiteralPath "\\?\UNC\Server\Share" -Recurse -Force
$Report = @()
Foreach ($Folder in $FolderPath) {
$Acl = Get-Acl -Path $Folder.FullName
foreach ($Access in $acl.Access){
$Properties = [ordered]@{
'FolderName'=$Folder.FullName
'AD Group or User'=$Access.IdentityReference
'Permissions'=$Access.FileSystemRights
'Inherited'=$Access.IsInherited
}
$Report += New-Object -TypeName PSObject -Property $Properties
}
}
$Report | Export-Csv -path "C:\Filepath\export.csv" -Delimiter ";" -Encoding UTF8
Я упускаю простую вещь, почему это занимает так много времени, или я просто испортил полностью? Кажется, я просто не могу его найти.
Любая помощь будет очень признательна. Спасибо заранее
Майкл