gpt4 book ai didi

powershell - Powershell获取用户拥有的文件的总大小

转载 作者:行者123 更新时间:2023-12-02 23:47:33 28 4
gpt4 key购买 nike

我需要一个Powershell脚本,该脚本将遍历系统中的所有用户,并将查找任何用户拥有的所有文件的总大小...我有遍及所有用户的脚本,但是我不知道继续计数每个用户拥有的总大小

这是我现在所拥有的脚本:

$users = Get-WmiObject -class Win32_UserAccount

foreach($user in $users) {
$name = $user.Name
$fullName = $user.FullName;
if(Test-Path "C:\Users\$name") {
$path = "C:\Users\$name"
} else {
$path = "C:\Users\Public"
}

$dirSize = (Get-ChildItem $path -recurse | Measure-Object -property length -sum)
"{0:N2}" -f ($dirSize.sum / 1Gb) + " Gb"
echo "$dirSize"


Add-Content -path "pathototxt..." -value "$name $fullName $path"

}

如果有人知道答案并告诉我,我会非常高兴...
谢谢

最佳答案

如果文件很多,您可能要考虑:

$oSIDs = @{}

get-childitem <filespec> |
foreach {
$oSID = $_.GetAccessControl().Sddl -replace '^o:(.+?).:.+','$1'
$oSIDs[$oSID] += $_.length
}

完成后,请解析SID。从SDDL字符串中解析所有者SID或众所周知的安全主体ID,可以使提供程序不必进行很多重复的名称解析就可以为您提供“友好的”名称。

关于powershell - Powershell获取用户拥有的文件的总大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14753279/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com