2012-03-28 7 views
0

ユーザーが特定のメールボックスデータベースにある場合、$ trueまたは$ falseをチェックしたいと思います。 これは動作しません:メールボックスが特定のデータベースにあるかどうかを確認する(構文エラー!)

if((get-mailbox user| select Database) -eq "server\group\dbgroup") { 
    echo $true 
} else { 
    echo $false 
} 

(Falseを返します)

しかし

get-mailbox user | select Database  

戻り

Database 
-------- 
server\group\dbgroup 

をどのように私は、この値をチェックしますか?

答えて

1

@Christianはすでにあなたに答えを与えたが、「構文エラー」あなたに答えること。 Select-Objectにパイプすると、指定したプロパティを持つオブジェクトが返されます。 あなたのコードが動作するためには、あなたがそれをこのように書く必要があるだろうので、あなたはそれを呼び出すために必要なプロパティにアクセスするには:

if((get-mailbox user| select Database).Database -eq "server\group\dbgroup") { 
    echo $true 
} else { 
    echo $false 
} 
+0

本当に奇妙な動作しない私が行うことができます。このアプローチは他のどのコマンドレットでもありますが、なんらかの理由でこれはメールボックスの取得には対応しません。返信は複数行になっていますので、-EQはできません。 – Sune

+1

データベースは独自のオブジェクトなので、私はそれをテストすることはできません。もしあなたがしたらどうなるでしょう:(...)。Database.ToString()-eq "server ..." –

+0

はい、シェイはうまくいった!ありがとう!私はExchange 2007 btwを実行しています。それは理由かもしれません。もう一度ありがとう:) – Sune

0

することは(それをテストすることはできません)このようにしてみてください。

if((get-mailbox user).Database -eq "server\group\dbgroup") 
+0

いや、:( – Sune

関連する問題