powershell命令列出所有用户,他们的主目录+大小

时间:2015-01-15 10:10:26

标签: powershell home-directory

我需要一个脚本或命令,列出计算机上的所有用户以及他们的主目录和主目录的大小。我只能为用户提供服务。我还设法获得所有用户的列表:

$adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
$adsi.Children | where {$_.SchemaClassName -eq 'user'} | Select-Object @{n='UserName'
e={$_.Name}}

但我不知道如何获得家庭目录,加上该名单中的大小。

提前致谢

1 个答案:

答案 0 :(得分:2)

这是一个powershell循环,它输出具有您要查找的属性的对象(Name,LocalPath,FolderSize),格式化为表格。这结合了一些技术来获得您正在寻找的值。

Get-WmiObject win32_userprofile | % { 
    try {
        $out = new-object psobject
        $out | Add-Member noteproperty Name (New-Object System.Security.Principal.SecurityIdentifier($_.SID)).Translate([System.Security.Principal.NTAccount]).Value
        $out | Add-Member noteproperty LocalPath $_.LocalPath
        $out | Add-Member noteproperty FolderSize ("{0:N2}" -f ((Get-ChildItem -Recurse $_.LocalPath | Measure-Object -property length -sum -ErrorAction SilentlyContinue).sum / 1MB) + " MB")
        $out
    } catch {}
} | Format-Table