gpt4 book ai didi

powershell - 从字节转换为GB或MB不会返回任何内容

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

我得到了这段代码,该代码返回字节数:

$size = Get-ChildItem $userAccount.homeDirectory -Recurse | Measure-Object -Property Length -Sum

这可以正常工作,但不是非常用户友好,因此我想转换为兆字节或千兆字节。

谷歌搜索并查看示例之后,我尝试了以下方法:
$size = "{0:N2}" -f ((Get-ChildItem $userAccount.homeDirectory -Recurse | Measure-Object -Property Length -Sum).Sum / 1MB)

但是,PowerShell不返回任何内容。

知道为什么吗?

编辑:发布完整的代码。

功能:
Function Get-ADHomeDirectorySize
{
Param
(
[Parameter(ValueFromPipeline=$true,Mandatory=$true)]
[Microsoft.ActiveDirectory.Management.ADUser]$User
)
Begin
{
$HomeD = @()
$size = $nul
}
Process
{
ForEach($userAccount in $User)
{
$userAccount = Get-ADUser $userAccount -properties homeDirectory
$size = "{0:N2}" -f ((Get-ChildItem $userAccount.homeDirectory -Recurse | Measure-Object -Property Length -Sum).Sum / 1MB)
If($userAccount.homeDirectory -eq $nul)
{
Write-Host "`nERROR -- User: $userAccount has no Home Directory`n" -foregroundcolor red
Return
}
$obj = New-Object System.Object
$obj | add-member -type NoteProperty -name User -value $userAccount.Name
$obj | add-member -type NoteProperty -name HomeDirectory -value $userAccount.homeDirectory
$obj | add-member -type NoteProperty -name HomeDirectorySize -value $size.sum
$HomeD += $obj

}
}
End
{
$HomeD
}
}

用于根据用户标识的输入列表生成报告的脚本:
Get-Content brukerlistetest.txt | Foreach-Object {Get-ADUser $_  -properties homeDirectory | ? {$_.homeDirectory -ne $nul} | Get-ADHomeDirectorySize | sort HomeDirectorySize | Format-Table -HideTableHeaders | out-file output.txt -width 120 -append}

最佳答案

您可以在第一个示例上执行数学运算:

$size = (Get-ChildItem $userAccount.homeDirectory -Recurse | Measure-Object -Property Length -Sum) / 1MB # or / 1GB

PowerShell具有定义字节的常量。

如果希望它是一个字符串,则可以使用字符串子表达式:
$size = "$((GCI $userAccount.homeDirectory -Recurse | Measure Length -Sum) / 1MB)MB"

关于powershell - 从字节转换为GB或MB不会返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45840722/

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