Список папок данных приложения для нескольких пользователей powershell

У нас возникла проблема с перенаправлением папок, и мы хотим разделить ее между двумя серверами вместо одного. Одна из папок, которые мы перенаправляем, — это папка Application Data. Мы хотим перечислить эту папку для каждого пользователя, чтобы мы могли решить, насколько большим должен быть новый общий том. Есть ли способ сделать это в Power Shell?


person ubernewb    schedule 28.04.2015    source источник
comment
Это будет зависеть от того, куда вы перенаправляете эту папку.   -  person Ansgar Wiechers    schedule 28.04.2015


Ответы (1)


Рекурсивные циклы, мой друг. Возможно, у кого-то есть идея получше, но это был мой подход. На результат тоже интересно посмотреть :)

РЕДАКТИРОВАТЬ: $ total находится в БАЙТАХ. Обязательно сделайте конвертацию в то, что вам нужно.

$total = 0 function Get-Childrens{ param($fullName) Get-ChildItem $fullName | foreach{ if((Get-Item $_.FullName).VersionInfo.FileName){ Write-Host $_.FullName $total += (Get-Item $_.FullName).Length }else{ Write-Host $_.FullName -ForegroundColor Green Get-Childrens $_.FullName } } } Get-Childrens "C:\Users\username\AppData\"

person Little King    schedule 28.04.2015
comment
Это не сработало, потому что путь C:\DocsRedirect\username\Application Data\ не существует. Что мне нужно сделать, так это запустить это через папку данных приложения каждого пользователя, например: C:\DocsRedirect%\user1%\Application Data\ C:\DocsRedirect\%user2%\Application Data\ ... Имеет ли это смысл? Я ищу совокупный размер папки данных приложений всех пользователей. Эта папка в настоящее время перенаправляется на файловый сервер, а путь на файловом сервере: C:\DocsRedirect\‹имя пользователя›\Application Data\ - person ubernewb; 29.04.2015
comment
Так почему бы просто не получить все дочерние элементы в C:\DocsRedirect, которые являются каталогами, и для каждого из них закачать их в мой вышеупомянутый цикл foreach? - person Little King; 01.05.2015