Skip to content

Instantly share code, notes, and snippets.

@brianfgonzalez
Last active October 6, 2016 05:25
Show Gist options
  • Save brianfgonzalez/f29eddf9ea5a3d889b504647854450ee to your computer and use it in GitHub Desktop.
Save brianfgonzalez/f29eddf9ea5a3d889b504647854450ee to your computer and use it in GitHub Desktop.
function Get-DirSize {
param([Parameter(Mandatory = $true, ValueFromPipeline = $true)][string]$path)
Set-Location $env:SystemDrive
$Size = (Get-ChildItem -Path $path | Measure-Object -Property Length -Sum).Sum
If ( $Size -lt 1KB ) { $formattedsize = "$("{0:N2}" -f $Size) B" }
ElseIf ( $Size -lt 1MB ) { $formattedsize = "$("{0:N2}" -f ($Size / 1KB)) KB" }
ElseIf ( $Size -lt 1GB ) { $formattedsize = "$("{0:N2}" -f ($Size / 1MB)) MB" }
ElseIf ( $Size -lt 1TB ) { $formattedsize = "$("{0:N2}" -f ($Size / 1GB)) GB" }
$FileCount = (Get-ChildItem -Path $path | Measure-Object).Count
$Name = (Get-Item -Path $path).Name
$FullPath = $path
$object = New-Object -TypeName PSObject
$object | Add-Member -MemberType NoteProperty -Name Name -Value $Name
$object | Add-Member -MemberType NoteProperty -Name FullPath -Value $FullPath
$object | Add-Member -MemberType NoteProperty -Name FileCount -Value $FileCount
$object | Add-Member -MemberType NoteProperty -Name Size -Value $Size
$object | Add-Member -MemberType NoteProperty -Name FormattedSize -Value $FormattedSize
Write-Output $object
}
$CMModulePath = $env:SMS_ADMIN_UI_PATH.ToString().SubString(0,$Env:SMS_ADMIN_UI_PATH.Length - 5) + "\ConfigurationManager.psd1"
Import-Module $CMModulePath
Set-Location PS1:
Get-CMDriver | Select-Object -Property ContentSourcePath -Unique | `
% { Get-DirSize $_.ContentSourcePath } | Sort-Object -Property Size -Descending | `
ft -Property Name, FullPath, FileCount, FormattedSize
<# Example Output
Name FullPath FileCount FormattedSize
---- -------- --------- -------------
Graphics \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\video\Graphics 228 498.17 MB
sidwa19 \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\sidwa19 15 422.64 MB
WinT \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\wlan\Win7Plus\Win64\Drivers\WinT 21 64.80 MB
x64 \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\dptf\drivers\x64 34 17.16 MB
Win10_x64 \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\phid\Win10_x64 7 4.47 MB
8.20 \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\video\DisplayAudio\8.20 4 3.01 MB
NDIS65 \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\lan\PRO1000\Winx64\NDIS65 21 2.80 MB
6.16 \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\video\DisplayAudio\6.16 4 1.96 MB
x64 \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\rst\x64 7 1.56 MB
x64 \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\cppc\drivers\x64 3 108.42 KB
wildcatpointlp \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\intelinf\wildcatpointlp 3 46.87 KB
broadwell \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\intelinf\broadwell 2 40.80 KB
common \\cm01\Packages\Drivers\PDP_CF-31mk5_Win10x64_V4.02L13M00\drivers\intelinf\common 2 40.14 KB
#>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment