2017-01-18 5 views
1

下記のコマンドを使用して私たちのオフィス365内のメールボックスサイズを抽出しようとしていますが、40GBを超えるメールボックスのみを含むようにフィルタリングしようとしています。Powershell - Get-MailboxStatistics | TotalItemSize -gt "40GB"

以下は「TotalItemSize」を文字列に変換してから、「40」GBの[int]値と比較できないためだと思いますが、私は以下を書き換えるのにあまり互換性がありません!! :(私は「TotalItemSize」-gt「40」などが、何が私のために働いています。任意の助け

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select DisplayName, @{name=”TotalItemSize”;expression={[math]::Round((($_.TotalItemSize.Value.ToString()).Split(“(“)[1].Split(” “)[0].Replace(“,”,””)/1GB),2)}},ItemCount | Sort “TotalItemSize” -Descending 

感謝。

19/01/17をまだどこ-オブジェクトの反復のたくさん試してみました誰でも何でも追加できますか? 20/01/17まだ問題あります。誰でも追加できますか? 23/01/17まだ解決できません。 25/01/17まだ解決されていません 1/02 HELP !!!! !!!

答えて

0

私はこれがうまく動作することを知りました -

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Split( "(")[1] .Split( ""))を選択すると、 {0,.TotalItemSize -gt "45.0"} | Sort TotalItemSize -Descending

1

.ToGB()のメソッドTotalItemSize.Valueのプロパティ

だから、これはしかし、非常に簡単でなければなりません:

TypeName: Microsoft.Exchange.Data.ByteQ 

Name   MemberType Definition 
----   ---------- ---------- 
ToBytes  Method  uint64 ToBytes() 
ToGB   Method  uint64 ToGB() 
ToKB   Method  uint64 ToKB() 
ToMB   Method  uint64 ToMB() 
ToString  Method  string ToString() 
ToTB   Method  uint64 ToTB() 

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | ? {$_.TotalItemSize.Value.ToGB() -gt 40} 

はその後パイプラインにあなたがSelect-Object

ものは(Get-Memberを使用して)すべての利用可能なオプションですを使用して必要なプロパティを追加します

+0

私は思っていましたが、これを試してみました([0] .Replace( "、"、 "")/ 1GB)、2)}} .ToGB()メソッドは古いバージョンのExchangeでのみ動作し、O365では動作しません - 上記を実行して以下を取得しようとしました - [Deserialized.Microsoft.Exchange.Data.ByteQuantifiedSize]に名前付きメソッドが含まれていないためメソッド呼び出しが失敗しました'ToGB' 行目:1文字:61 –

+0

これを試す:https://blogs.technet.microsoft.com/heyscriptingguy/2013/02/27/get-exchange-online-mailbox-size-in-gb/ – Avshalom

+0

は既に出力できるものを達成しているようですが、まだ分離していますデータを変数に入れて、$ abovecmd = $ abovecmd.TotalItemSize -gt "40.0"を出力して正しい結果を出力しようとしましたが、これはメールボックスサイズが出力されているだけです。 –

関連する問題