Мне нужно получить размер всех пользовательских папок на 200 виртуальных машин. Мне нужно -force, чтобы увидеть скрытые папки других пользователей.
$objFSO = New-Object -com Scripting.FileSystemObject
"{0:N2}" -f (($objFSO.GetFolder("C:\users").Size) / 1MB) + " MB"
Прекрасно работает, например, для C: \ Temp, но возвращает 0,00 МБ для C: \ Users, даже на моем локальном компьютере, где я являюсь администратором.
Get-ChildItem -path c:\users -force -recurse | Measure-Object length -sum
Выдает исключения безопасности - даже в моей собственной пользовательской папке с правами администратора, запущенной в сеансе PS с повышенными правами.
+ CategoryInfo : PermissionDenied: (C:\Users\YuriPup\Documents\My Music:String) [Get-ChildItem], UnauthorizedAccessException
+ FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand