我必须在 2010 年的交换中获得具有最大可用空间的数据库,但是由于这将从 c# 中的管道启动,我正在尝试对结果进行排序,然后选择第一行。
如果我尝试使用字段AvailableNewMailboxSpace,它将使用字符串值而不是双精度值进行排序:
Get-MailboxDatabase -Status | Select Name,AvailableNewMailboxSpace | Sort-Object DatabaseSize
Name AvailableNewMailboxSpace
---- ------------------------
DBMB03 123.1 MB (129,073,152 bytes)
DBMB04 114.1 MB (119,635,968 bytes)
DBMB02 115.6 MB (121,176,064 bytes)
DBMB10 224.4 MB (235,307,008 bytes)
DBMB01 81.47 MB (85,426,176 bytes)
我想我必须在字符串中留下填充零才能获得正确的顺序,但我不知道如何。
我必须在一行中实现它,因为这将使用 c# 中的管道命令启动。
这是我的尝试:
Get-MailboxDatabase -Status |`
Sort (("0" * (10 - {$_.AvailableNewMailboxSpace.Substring(0, $_.AvailableNewMailboxSpace.IndexOf("MB") - 1)}.length)) + `
{$_.AvailableNewMailboxSpace.Substring(0, $_.AvailableNewMailboxSpace.IndexOf("MB") - 1)}) | Select Name,AvailableNewMailboxSpace