2012年3月25日日曜日

Active Directory レプリケーションが片方向だけエラーになる場合の対応手順

レプリケーションエラーの対応メモ(主に自分用)。
はじめに。
ADはマルチマスタなので、各ドメインコントローラが互いに双方向にデータのレプリケーションを行う。
いま面倒を見ているシステムにて、「片方向は問題なくレプリケーションできるが、反対方向のレプリケーションがある日突然エラーになる」という現象が起きている。これまで何度もこの障害に見舞われており、正直見飽きたぐらい。

2012年3月19日月曜日

FastEver Snapって、盗撮に使えるんじゃね?

※買ってないアプリについて勝手な想像で記事にしたので、間違い等がありましたらご指摘ください。

街中での盗撮が捕まるのって、ほぼ100%現行犯だと思うんだけど、証拠もなしに逮捕はできないだろうから、取り押さえたらまずカメラ(=携帯端末)に保存されている写真を確認するんではないかと。でも、FastEver Snapは、取った写真を端末に保存することなく、即時EverNoteに送信してしまうので、端末のデータフォルダをどんなに探しても盗撮写真は出てこない。容疑者は「ほらみろ、盗撮なんかしてないでしょ」とドヤ顔、それどころか名誉毀損で逆に相手を訴えることすらできそうだ。

一部のカメラアプリに「盗撮防止機能」って付いてるけど、これってどの程度信用できるのやら? なおFastEver Snapには盗撮防止機能は無さそう。

2012年3月18日日曜日

Exchange 2007のグローバル アドレス一覧とオフラインアドレス帳について(2)

前回の続き。

オフラインアドレス帳とは
Exchange 2007にはオフライン アドレス帳というものがある。
これは、Outlookの「Exchange キャッシュ モード」がOnの場合に使われるもので、グローバル アドレス一覧のローカルキャッシュである。毎回Exchange Server上のアドレス帳を見に行かなくても済むので、サーバの負荷軽減や、アドレス帳の表示レスポンス改善に効果がある。
ローカルキャッシュといいつつも、データはExchange Server上で生成され、拡張子oabのファイルとしてクライアントにダウンロードされる仕組みになっている。
Outlookクライアントでアドレス帳画面より「グローバル アドレス一覧」を選択すると、oabファイルがダウンロードされるまではExchange Server上のグローバル アドレス一覧を見に行き、oabファイルのダウンロードが完了すると以後はそちらを見に行く。
当たり前の話だけど、Exchange キャッシュ モードがOffの場合には常にExchange Server上のグローバル アドレス一覧が参照される。
Figure.1 グローバル アドレス一覧(参考画像)

Exchange 2007のグローバル アドレス一覧とオフラインアドレス帳について(1)

グローバル アドレス一覧とは何か
グローバル アドレス一覧は、Exchange組織内の全Exchange Serverからメールアドレスを集めて来たリストである。
Exchange Serverを立てると、'既定のグローバル アドレス一覧'というのが自動的に作られる。こいつには組織内の全メールアドレスが入っている。そのため、一般的には'グローバル アドレス一覧'と言えば、全ユーザのアドレスを参照できるアドレス帳として利用されるケースが多い。
グローバル アドレス一覧は複数作成できる
しかし実は、ひとつのExchange組織内には'既定のグローバル アドレス一覧'以外にも複数のグローバル アドレス一覧を作成することができる。
グローバル アドレス一覧の作成には、Exchange管理シェルのNew-GlobalAddressListコマンドを使う。こいつの-RecipientFilterパラメータを使うと、作成するグローバル アドレス一覧に含むメンバを絞ることができる。
例えば部署単位でグローバルアドレス一覧を作ることにより、他部署のユーザのアドレスをOutlookのアドレス帳に表示させない、といったことが可能だ。
RecipientFilterの書式の詳細はここでは割愛するが、例えば"(<プロパティ名> -eq '<文字列>')"などと書く。フィルタに使えるプロパティの一覧はExchange 2007 SP1 および SP2 の -RecipientFilter パラメータでフィルタ可能なプロパティに載っている。部署名で絞る場合は例えば下記のようになる。
New-GlobalAddressList -Name '情シス' `
 -RecipientFilter "(Department -eq '情報システム部')"

2012年3月12日月曜日

SORCERIAN for iOS について。


2012/3/12 不老不死の記述について多くの方からご指摘をいただきましたので、記事を修正しました。皆様、ありがとうございました!
2012/12/8 Ver.1.0.3での修正点を記事末尾に追記しました。

配信日当日にダウンロードし、のんびり遊んでいた。
ひとまず、4人の不老不死キャラを作り、初期バンドルのシナリオ5本をクリアしたので、レビューというか感想を述べておこうと思う。
ブログに感想を書こう書こうと思いつつなかなか時間が取れなかったのだが、先日のVer1.02が糞アップデートだったので、居ても立っても居られず筆を取った次第。ちなみに私は3月11日現在、1.02へのアップデートはしていない。

2012年2月28日火曜日

SyntaxHighlighterェ…

Exchange管理シェルのコードのハイライトはイマイチ、というか未対応だね。仕方ないか。

PowerShellでExchange Serverのユーザメールボックスのサイズを調べる

Exchange Serverのメールボックスのサイズを調べるには、Exchange管理シェルのGet-MailboxStatistics の TotalItemSize プロパティを使う。
こいつを使う機会があったのだが、なんか動きがおかしかったのでその記録と、備忘のためのメモとしてこのエントリをポストしておく。

まずは基本編
特定のユーザのメールボックスサイズを調べるとしよう。
Get-MailboxStatisticsには引数-Identityがあるので、これにユーザのDNを与えれば結果が得られそうだが、私の手元の環境ではなんだかよくわからないがエラーになってしまった。
Exchangeの環境をいくつも持ってるわけではないので、この環境固有の問題なのか、引数の与え方が悪いのか、世間的に常識なのかは分からなかった。
引数-Serverを指定するとどうにかうまく動いたので、サーバ上の全ユーザの情報を取り出してから、where-objectで任意のユーザの情報を抽出することとした。
Get-MailboxStatistics | Get-Member をするとMailBoxGuidってのがいたので、Get-Mailboxで目的のユーザのメールボックスのGUIDを調べて突き合わせれば目的は達成できそう。
$allstats = Get-MailboxStatistics -Server <servername>
$name = Get-Mailbox -Filter { <filterstring> }
$allstats | `
 Where-Object { $_.MailBoxGuid -eq $name.ExchangeGuid } | `
 fl TotalItemSize
という感じ。
応用編
filterstringで複数のユーザを引っ掛けた場合は、foreachでぐるぐるまわしてあげたらいい。
$allstats = Get-MailboxStatistics -Server <servername>
$names = Get-Mailbox -Filter { <filterstring> }
foreach($name in $names) {
 $name.SamAccountName
 $allstats | `
 Where-Object { $_.MailBoxGuid -eq $name.ExchangeGuid } |`
  fl TotalItemSize
}
Get-Mailboxのフィルタ条件は腐っていてイマイチ使い物にならないので、実際の利用シーンでは、さらにGet-ADUserなどと組み合わせる必要があると思われる。
ちなみに今回はcustomAttributeN(Nは1~15)でのユーザ抽出が目的だったので、上のコードで事足りてしまった。