早上的人们,以及英国人的悲伤日子。
无论如何,我正试图将MailboxFolderStatistics
的{{1}}提升为MB。
以下一行:
FolderSize
当我使用Exchange命令行管理程序时,正常工作。
但是如果我在我的一个Exchange框中使用远程PS会话,我就没有得到Get-MailboxFolderStatistics Joe.Bloggs |
Where-Object { $_.FolderPath -ne "/Deletions" } |
Select-Object FolderPath, @{ N = "FolderSize (MB)"; E = { $_.FolderSize.ToMB() } }
的任何内容。
有什么想法吗?
答案 0 :(得分:1)
这是因为您在服务器上运行的Exchange命令行管理程序包含一个名为Microsoft.Exchange.Data.ByteQuantifiedSize
的类型,该类型通过远程处理转换为System.String
。前者暴露了ToMB()
方法,后者则没有。
我已经写了一个解决方法,但也许有一个更简单和/或更漂亮的方法:
Get-MailboxFolderStatistics Joe.Bloggs |
Where-Object { $_.FolderPath -ne "/Deletions" } |
Select-Object FolderPath, @{
N = "FolderSize (MB)";
E = {
"{0:N2}" -f ((($_.FolderSize -replace "[0-9\.]+ [A-Z]* \(([0-9,]+) bytes\)","`$1") -replace ",","") / 1MB)
}
}
这使用正则表达式将丑陋的字符串(例如:3.712 KB (3,801 bytes)
)转换为可用的数字。在我的系统,
上不是有效的数字分组符号,因此我也必须将其从字符串中删除。
答案 1 :(得分:0)
您可以使用以下行来获取以[decimals]
表示的$ _。FolderSizeprops.put("bootstrap.servers", "localhost:9092");
答案 2 :(得分:0)
通常,在查看文件夹尺寸时,希望按尺寸降序对它们进行排序。为此,我们需要以字节为单位了解FolderAndSubfolderSize并将其存储在bigint
属性中,而不是System.String
中。 将Bytes转换为Kb,Mb,Gb并不是火箭科学,所以我在这里不再赘述。
内联语法,用于动态添加新属性FolderAndSubfolderSizeBytes(我仅使用反引号将多行内容分开阅读)
Get-EXOMailbox -Identity user.name@domain.com`
| Get-EXOMailboxFolderStatistics `
| Select Name,FolderAndSubfolderSize,@{`
name="FolderAndSubfolderSizeBytes";`
expression={((($_.FolderAndSubfolderSize -replace '^(.*\()(.*)(\sbytes\))$','$2').Replace(',','')) -as [bigint])}} `
| Sort-Object -Property FolderAndSubfolderSizeBytes -Descending | ft
长期将新属性添加到变量对象中以供以后重用
$mb = Get-EXOMailbox -Identity user.name@domain.com | Get-EXOMailboxFolderStatistics
foreach ($folder in $mb) {
$folder | Add-Member -NotePropertyName FolderSizeBytes -NotePropertyValue ((($folder.FolderSize -replace '^(.*\()(.*)(\sbytes\))$','$2').Replace(',','')) -as [bigint])
$folder | Add-Member -NotePropertyName FolderAndSubfolderSizeBytes -NotePropertyValue ((($folder.FolderAndSubfolderSize -replace '^(.*\()(.*)(\sbytes\))$','$2').Replace(',','')) -as [bigint])
}
$mb | Select Name,FolderPath,FolderAndSubfolderSize,FolderAndSubfolderSizeBytes | Sort-Object -Property FolderAndSubfolderSizeBytes -Descending | ft