PowerShell Get-DiskUsage CmdLet: ¿cómo listar desde una unidad / directorio diferente?

Soy un novato relativo en PowerShell, quería saber un poco más acerca de las funciones, CmdLet y los valores legibles por humanos. Por lo general, para aprender cosas nuevas, ver qué hacen los demás funciona bien.

Así que fui a buscar y me topé con la fuente para unaGet-DiskUsage CmdLet.

Puedo . fuente esto en PowerShell, luego llame a la función.

De alguna manera, siempre usa el directorio actual para obtener los resultados sin importar cómo lo llame.

¿Qué me falta para que no tome el parámetro -Path dado?

PS D:\bin> . .\DiskUsage.ps1
PS D:\bin> Get-DiskUsage -Path D:\ -h

Size Folder
---- ------
405M


PS D:\bin> Get-DiskUsage -Path C:\ -h

Size Folder
---- ------
405M


PS D:\bin> C:
PS C:\> Get-DiskUsage -Path C:\ -h

Size Folder
---- ------
 18G


PS C:\>

La salida del script no es correcta, ya que esto es lo queSysInternals Herramienta DiskUsagedu muestra:

D:\bin>du C:\

Du v1.4 - report directory disk usage
Copyright (C) 2005-2011 Mark Russinovich
Sysinternals - www.sysinternals.com

Files:        93367
Directories:  22541
Size:         21.817.875.778 bytes
Size on disk: 22.127.992.832 bytes


D:\bin>du D:\

Du v1.4 - report directory disk usage
Copyright (C) 2005-2011 Mark Russinovich
Sysinternals - www.sysinternals.com

Files:        132832
Directories:  15125
Size:         130.137.231.457 bytes
Size on disk: 54.992.396.288 bytes


D:\bin>du D:\bin

Du v1.4 - report directory disk usage
Copyright (C) 2005-2011 Mark Russinovich
Sysinternals - www.sysinternals.com

Files:        3118
Directories:  222
Size:         424.866.944 bytes
Size on disk: 288.858.112 bytes