PowerShell Get-DiskUsage CmdLet: como listar de uma unidade / diretório diferente?

Sou relativamente novato no PowerShell, queria saber um pouco mais sobre funções, CmdLet e ​​valores legíveis para humanos. Geralmente, para aprender coisas novas, observar o que os outros fazem funciona bem.

Então eu fui olhar e esbarrei na fonte por umGet-DiskUsage CmdLet.

Eu posso . fonte isto em PowerShell, então chame a função.

De alguma forma, ele sempre usa o diretório atual para obter os resultados, não importa como eu o chame.

O que estou perdendo que não terá o 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:\>

A saída do script não está correta, pois é isso que oSysInternals Ferramenta DiskUsagedu mostra:

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