Exchange サーバー全般一覧

NO IMAGE

Get-MailboxStatistics コマンドの出力にエイリアスを追加する

Get-MailboxStatistics コマンドを使用するとメールボックスのサイズなどの使用状況を取得することができますが、出力結果にメールボックスのエイリアスが含まれていません。それらしいものは DisplayName くらいです。ですが CSV などに出力するときには一意な値であるエイリアスがあったほうがそのあとが何かと便利です。 そんな時にどうするかというと、以下のようにして一旦メールボックスの情報を変数に入れておき、後から Select コマンドの Expression を使用して出力にエイリアスを追加します。 はじめにパイプを重ねてエラーにならないように処理対...

NO IMAGE

EwsAllowList / EwsBlockList の挙動

オンプレミスでもオンラインでも、EWS アプリケーションの接続を制限したいときは Set-CasMailbox コマンドで設定することができます。EWS については比較的細かく設定することができるようになっており、EWS アプリケーションが使用するユーザー エージェントを許可リストもしくはブロックリストに登録して使用できるようになっています。 その時に使用するのが EwsAllowList / EwsBlockList ですが、ちょっと困った挙動があります。EwsAllowList / EwsBlockList に登録する文字列は大文字小文字を区別しません。そのため、例えば「MyApp*...

NO IMAGE

PowerShell でハッシュ テーブルを CSV にエクスポートする

例えば以下のようにハッシュ テーブルを作ったとき、CSV ファイルにエクスポートしたいとします。 パイプで Export-Csv に渡せばいいと思われますが、やってみれば分かる通りそれではきちんと出力されません。そこで、以下のようにします。 GetEnumerator() で型を変えて Select で整形してから、Export-Csv に渡します。Select は Key と Value を取得すればデータとしては問題ないですが、CSV にするときにヘッダーをあらかじめ指定しておいたほうがラクなので Select で指定してしまいます。「N」は「Name」の、「E」は「Expre...

NO IMAGE

Get-Mailbox コマンドの結果をパイプラインで受け取って予定表フォルダーのアクセス権を設定する

Get-Mailbox コマンドの結果をパイプラインで受け取り、予定表フォルダーのアクセス権を設定するスクリプトを書いてみました。なぜかというと、かねてから面倒だなと感じることがあったためです。 Get-Mailbox コマンドの結果を Set-MailboxFolderPermission コマンドや Add-MailboxFolderPermission コマンドにパイプラインで渡せないそのため、一括でアクセス権を付与するようなことが難しいまだアクセス権を持たないユーザーに Set-MailboxFolderPermissionコマンドで権限を与えようとするとエラーになる ま...

NO IMAGE

プログラムから Exchange サーバーのアドレス帳を参照するには

Exchange サーバーに接続する独自アプリケーションを開発する際に、アドレス帳の機能が要件に入ってくることが多々あるようです。EWS を使って Exchange サーバーに接続することが多いと思いますが、EWS には残念ながらアドレス帳を参照するような仕組みがありません。 ではどうしたらよいのか。OWA を使う運用にすれば済む話だとは思いますが、どうしても開発しないといけないということであれば、ぱっと思いつくのは次の 2 つの方法でしょうか。 LDAP を使用する Exchange 管理シェルを使用する System.DirectoryServices を使うことで ...