使用powershell检索用户配置文件的大小

问题描述 投票:0回答:2

我正在尝试在Windows计算机中检索配置文件的确切大小。

下面是我的代码和O / P

$profiles = Get-ChildItem C:\Users | ?{Test-path C:\Users\$_\NTUSER.DAT} | Select -ExpandProperty Name
  foreach($profile in $profiles)
    {
    $largeprofile = Get-ChildItem C:\Users\$profile  -recurse | Measure-Object -Sum length | Select -ExpandProperty Sum
    $largeprofile = [math]::Round(($largeprofile/1MB),2) + "MB"
    if($largeprofile -lt 20){Continue}
    $object = New-Object -TypeName PSObject
    $object | Add-Member -MemberType NoteProperty -Name Name -Value $profile
    $object | Add-Member -MemberType NoteProperty -Name "Size(MB)" -Value $largeprofile
    ($object | fl | Out-String).Trim();Write-Output "`n"
    }

O / P

名称:管理员

大小(MB):34.62

但是该文件夹的确切大小为181MB,powershell无法读取父文件夹内的所有文件夹和文件,我如何获得显示在该文件夹的属性中的确切大小。

注意:对于配置文件文件夹o / p以外的其他文件夹,是正确的。

powershell
2个回答
0
投票

递归目录时,必须将参数-Force添加到Get-ChildItem。从文档Get-ChildItemGet-ChildItem参数:

允许cmdlet获取原本无法访问的项目由用户,例如隐藏文件或系统文件。

此外,您将要添加-Force,这样就不会出现-ErrorAction SilentlyContinue错误。这些更改使您的代码如下所示:

Access Denied

0
投票

我将如何修改此代码以在远程计算机上为我收集信息。

我想使用邮件合并。

示例:

计算机名| UserProfileName

CIPMITDD007 | fMunoz

我想让我阅读用户个人资料的大小。 MB / GB等...

我可以通过\ CIPMITDD007 \ C $ \ Users \ fMunoz从服务器访问计算机。

我只需要为180多台计算机完成此操作。有人可以帮我解决这个问题。

谢谢。

费迪南德

© www.soinside.com 2019 - 2024. All rights reserved.