默认情况下Powershell大量的输出结果是包括数字的字符串,但是有些时候我们想将其输出结果变为纯数字,以便将结果输出到其它地方(比如输出到ZABBIX可实现一些图表的绘制)。

举例说明:

1 默认情况下查看Exchange 某个数据库的大小

[PS] C:\MailBoxOperate\Function>Get-MailboxDatabase BOSS* -status |%{$_.databasesize}

56.13 GB (60,272,738,304 bytes)

2如果我们希望将结果只显示为56.13怎么办?

1)首先将上述命令替换为一个函数

$Database=Get-MailboxDatabase BOSS* -status |%{$_.databasesize}

2)查看一下这个函数的属性

C:\MailBoxOperate\Function>$Database |gm

TypeName: Microsoft.Exchange.Data.ByteQuantifiedSize

Name MemberType Definition
---- ---------- ----------
CompareTo Method int CompareTo(Microsoft.Exchange.Data.ByteQuantifiedSize other)
Equals Method bool Equals(System.Object obj), bool Equals(Microsoft.Exchange.Data.ByteQuantifiedSize other)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
RoundUpToUnit Method System.UInt64 RoundUpToUnit(Microsoft.Exchange.Data.ByteQuantifiedSize+Quantifier quantifier)
ToBytes Method System.UInt64 ToBytes()
ToGB Method System.UInt64 ToGB()
ToKB Method System.UInt64 ToKB()
ToMB Method System.UInt64 ToMB()
ToString Method string ToString(), string ToString(string format), string ToString(string format, System.IF...

ToTB Method System.UInt64 ToTB()

3) 数据处理过程:

将结果输出为ToGB

C:\MailBoxOperate\Function>$Database.ToGB()

56

当然也可输入出ToBytes

C:\MailBoxOperate\Function>$Database.Tobytes()

60272738304