Мне было поручено экспортировать все размеры файлов по отдельности во все общие папки, существующие на компьютере, за исключением системных общих ресурсов с разрешениями ACL и Shared. Что-то вроде вывода Treesize с разрешениями Shared и ACL.
Я пробовал приведенный ниже код, но он не показывает, что мне нужно на выходе.
Любая помощь будет оценена.
function Get-ShareSize {
Param(
[String[]]$ComputerName = $env:computername
)
Begin{$objFldr = New-Object -com Scripting.FileSystemObject}
Process{
foreach($Computer in $ComputerName){
Get-WmiObject Win32_Share -ComputerName $Computer -Filter "not name like '%$'" | %{
$Path = $_.Path -replace 'C:',"\\$Computer\c$"
$Size = ($objFldr.GetFolder($Path).Size) / 1GB
New-Object PSObject -Property @{
Name = $_.Name
Path = $Path
Description = $_.Description
Size = $Size
}
}
}
}
}
Get-ShareSize -ComputerName localhost