天天看點

PowerShell輸出結果的處理

預設情況下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

本文轉自handsome7038 51CTO部落格,原文連結:http://blog.51cto.com/lixiaosong/1312958