Есть необходимость подсчёта занимаемого места отдельных папок профилей пользователей определённой группы AD, папки лежат в одном месте.
Нашёл много хороших примеров чтоб посчитать все подпапки, но вот чтоб из списка, такого не нашёл.
Вот как бы переделать этот скрипт, чтоб он обрабатывал папки имён SamAccountName из учётной записи AD?
$targetfolder='c:\Temp'
$dataColl = @()
gci -force $targetfolder -ErrorAction SilentlyContinue | ? { $_ -is [io.directoryinfo] } | % {
$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$foldername = $_.fullname
$foldersize= '{0:N2}' -f ($len / 1Gb)
$dataObject = New-Object PSObject
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldername” -value $foldername
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldersizeGb” -value $foldersize
$dataColl += $dataObject
}
$dataColl | Out-GridView -Title “Size of subdirectories”
Мой черновик: foreach ($us in (Get-ADUser -SearchBase "OU=Finance Directorate,DC=domain,DC=ru" -Filter * | select -ExpandProperty samaccountname)) { foreach ($name in (gci \\domain.ru\profile\UserData | select -ExpandProperty name) ) { if ($us -eq $name) { Write-Host $us -NoNewline -ForegroundColor Yellow "" Write-Host -ForegroundColor Green MATCH -NoNewline "" Write-Host $name -ForegroundColor Yellow | Export-Csv C:\Scripts\finance.csv -Append } } }
Обсуждают сегодня