SyntaxHighlighter

2013年9月15日日曜日

ダイブコンピュータ SUBGEAR XP-10

※この記事に記載されている情報は2013年9月時点での情報です。

5年ぐらい前からダイビングを始めたんですが、夏休みにしか潜らない典型的なリゾートダイバーで機材はマスクとグローブ以外は全てレンタルです。マスクはレンタルだと合わなかったりボロボロだったりして水がどんどん入ってきてストレスになるのと、グローブのレンタルは『軍手』なので・・・。他の機材はレンタルでも支障ないし(たまにウェットスーツは破れていたりしますが)所持するとかさばるしで買うつもりなしです。ですが、お店によってはログ付けに必要な詳細データをもらえなかったりするので、ダイブコンピュータはほしいなと思ってました。そこで、今年初めてダイブコンピュータを購入しました!

SUBGEAR XP-10 です。

日本で正規品で購入できるダイブコンピュータでは最安。実売16,000円~17,500円ぐらいで買えます。でかくて、普段使いの時計としては使えません。オンラインショップのレビューではベルトが長すぎというコメントが多いですが、確かに長いですがゴムなので普通のはさみで好みの長さに綺麗に切れます。日本で正規品を買って日本で普通のファンダイブに使う分には設定不要。最初からタイムゾーンは日本になっているし、尺度もメートル法に、温度も摂氏に設定されています。最初の1本だけは手動で電源を入れます。右ボタンを長押しです。それ以降は水がかかったら自動的に電源が入るので一切操作不要です。安全停止のカウントダウンは手動(左ボタン短押し)です。沖縄なぞでファンダイブしている限りでは使うこと自体あまりない(浮上前に3-5mぐらいで充分遊んでから浮上するから)ですが、この機能を重視する人にとってはここだけはネックかもしれません。ナイトロックスにも対応しています。私は永久に使うことなさそうですが・・・。
潜っている最中は現在の深度、最大深度、経過時刻などが表示されています。水から上がっても数分はONのままです。なので、いったん浮上してまた潜ったりしても継続してカウントしてくれます。数分経過後は自動的に電源が切れます。使用後に水洗いする際にも水を検知して勝手に電源が入りますが1m以上潜らない限り1本にはカウントされません。数分後には勝手に電源が切れますが切りたければ両方のボタンを長押しです。

ログは本体からでも簡易的には確認できるみたいですがやってないので省略。パソコンと接続してデータを取り込むことで詳細なログが見られます。他のダイコンはパソコンにデータを取り込むためにアホみたいに高いオプション製品を買わないといけないものばかりなのですが、XP-10はオプション製品を購入する必要がありません!ソフトは付属のCDからインストールすることもできますがWEBでダウンロードすることもできます。
http://www.subgear.com/en-US/USA/downloads.aspx
Software の Dive.Log です。英語版しかありませんがインストールはデフォルト設定でNextをクリックしていけば簡単にできます。アカウント作成なども不要で誰でもダウンロードでき、サンプルのログが予め入っているので、購入前にどんなデータが見れるのか確認したい人はインストールしてみるといいかも。IN時刻、OUT時刻、潜水時間(分)、平均深度、最大深度、気温、最大水温、最低水温など少なくとも私が持っているログブックの記入に必要なデータは全て得られます。ガイドさんが持っているもっと高いダイコンでも最大深度しか出なくて平均はわからないものとか結構あるみたいなのでこれはすごいと思う。エアーの情報や場所や天気や海況やその他のギアの情報なども入力できます。
尚、データ転送は赤外線なので、赤外線ポートがないパソコンの場合(あるほうが珍しいと思いますが)アダプタを別途購入する必要があるのですが、1,000円~2,000円で買えます。いくつかリンクを貼っておきますが実態は同じものだと思います。私もこのタイプのを買いました。ドライバCDが一応ついてきますが、WindowsXP/Windows7では不要でした。USBポートに刺せばWindowsが勝手にドライバインストールしてくれます。

当然ですが電源が切れていると赤外線通信を行うことはできないので転送時は右ボタン長押しで本体の電源を入れてください。転送が終わればソフトの起動中ずっと電源を入れている必要は無く、本体の電源は切ってかまいません。

というわけで色々と説明してきましたが個人的にはこのダイコン、満足度星5つです!

2013年6月22日土曜日

パスワード管理アプリレビューその8 [Android]

パスワード管理アプリレビュー第八弾。

アプリ名
Pocket
Developer
Tim Clark
URL(GooglePlay)
https://play.google.com/store/apps/details?id=com.citc.wallet
広告表示
Good Point
  • DropBox連携機能
  • PC版アプリとデータ共有可能
  • デザイン
  • カテゴリ分け可能
  • カテゴリは任意の名称で追加・削除可能
  • 登録するデータも任意項目の追加可能
  • 海外製アプリだがインタフェースはほぼ日本語対応(しかも自然)
  • XMLまたはCSVでのエクスポートも可能
Bad Point
  • Developerが日本(法)人でなく信頼性が判断できない
  • 利用規約が英語だけで日本語訳無し
  • ボタンがあるスペースに広告が遅れて出てくるので誤クリックの可能性が高い
  • 各エントリのパスワード入力欄が伏字にならない
結論
アンインストール

パスワードデータをPCと共有したいならこのアプリになるでしょうか。 他にもDropBoxではなく独自のクラウドにデータ保存するタイプのアプリもいくつかありますが、独自ものよりDropBoxのほうが可用性・信頼性が高そうなイメージ。 DropBox連携無しでも勿論使えます。

Badにあげた、広告の誤クリックをしばしばしてしまってイラっとするのでアンインストールしました。

2013年6月20日木曜日

パスワード管理アプリレビューその7 [Android]

パスワード管理アプリレビュー第七弾。

アプリ名
パスワード管理アプリ SIS-パス管理(マッシュルーム対応)
Developer
SISYOU.KUM
URL(GooglePlay)
https://play.google.com/store/apps/details?id=jp.sisyou.kumikashi.mpassmgr
広告表示
Good Point
  • DeveloperのWEBがある
  • マッシュルーム対応
  • ソート可能
  • Xperiaでもちゃんと外部SDにバックアップされる
  • 広告を上下好きな方に移動できる
  • 操作ボタンを上下好きな方に移動できる
  • つまり広告を誤クリックしにくいように配置できる
  • デザイン
Bad Point
  • 無料版には機能制限がある
  • バックアップファイルがアプリ用のフォルダにまとめられずSDの直下に出力される
  • 2回目からのバックアップは手動で退避しておかないと前回のバックアップファイルが上書きされてしまう
  ※バージョンアップで改善されたらしいです。
結論
キープ

機能制限なし・広告なしの有料版が99円であります。 無料版の機能制限は検索機能とカテゴリ分けです。 別に必須機能ではないのでなくてもBadというわけではないのですが、広告表示無しならともかく広告有りで機能制限されるとなんとなく悔しい感じがあるのであえてBadにあげてみました。

バックアップですが、私の使っている端末は外部ストレージは /mnt/sdcard/external_sd なのですが、getExternalStorageDirectory() では /mnt/sdcard が返ってくるので、一般的な方法で外部SDに書こうとすると実は内部SDに保存されてしまいます。 これまでレビューしてきたアプリ群もバックアップ先は外部と謳われていても実際は内部SDになっていました。 しかしこのアプリはちゃんと external_sd に出力されます。(ただし直下なのが残念すぎますが・・・。フォルダ作って欲しい。) どうやって external_sd 特定しているんでしょうか。fstab 見ているのかなあ?個人的には内部SDでも外部SDでもどっちでもいいのですが、気にする人にはGoodなのかも。 暗号化もちゃんとされています。
バックアップファイル名が固定で上書きされてしまうのは個人的にはかなりマイナスポイントですね。複数世代とっておきたい心配性な人なので。
※打ち消し線部分はバージョンアップで改善されたそうです。(2013/09/21追記)

アプリ紹介文で声高にUIデザインについて謳われていますが、これまでもGoodPointに「デザイン」を挙げてきたいくつかのアプリと比較して、それほど突出しているという感じは受けませんでした。勿論、平均以上にはGood Designですが。私が見た目音痴なだけかも。総合的に良いアプリだと思います。

2013年6月19日水曜日

パスワード管理アプリレビューその6 [Android]

パスワード管理アプリレビュー第六弾。

アプリ名
パスワード管理アプリ I.P-Pon! Free
Developer
Nevision Corporation
URL(GooglePlay)
https://play.google.com/store/apps/details?id=jp.co.nevision.app.ippon_free
広告表示
Good Point
  • Developerが法人(ベンチャーぽいが10年近くは社歴があるようだ)
  • グループ分け可能(3つのみ)
  • 各エントリごとに追加項目の登録が可能(2つのみ)
Bad Point
  • アイコンが小さく誤タップの恐れあり
  • バックアップ機能無し
結論
アンインストール

特にGoodだともBadだとも思わないので上の箇条書きには記載していないが、ブラウザを内蔵しておりIDとパスワードの自動入力ができるらしいのが最大の特徴。(使ってみてはない)
有料版も近日公開らしいが、この機能がある限り有料版でもネットワーク通信の権限が必須ということになる。
利用規約はWEBにあるがプライバシーポリシーは無く登録データの扱いについては不明。
リスト表示の各エントリに表示されるアイコンが小さすぎてストレスを感じる。
バックアップ機能がないのはNGなのでアンインストール。

2013年6月18日火曜日

パスワード管理アプリレビュー番外編 [Android]

一見無料なんだけど期間制限とか現実的でないレベルの機能制限があるアプリとかはレビューしてません。該当するものをメモしておきます。

Keeperパスワード&データボルト
海外DeveloperでレビューでもSPAMが来るようになったとか微妙な評価が多い。30日間の期間制限。30日経過後は750円/年っぽい。
パスワードマネージャー™
安心のTrendMicro製だが無料版は5件までしか登録できない。有料版も買いきりではなく月額制。年に換算するとKeeperパスワード&データボルトの倍以上のお値段。

2013年6月17日月曜日

パスワード管理アプリレビューその5 [Android]

パスワード管理アプリレビュー第五弾。そろそろ疲れてきましたが10個までレビューしてランキングでもつけたいと思います。

アプリ名
パス管 (パスワード管理ツール)
Developer
xeeken
URL(GooglePlay)
https://play.google.com/store/apps/details?id=jp.xeeken.android.passmgr
広告表示
Good Point
  • シンプル
  • マッシュルーム対応
  • ジェスチャー対応
  • ジェスチャー登録後もマスターパスワード入力でのログインも可能
  • エクスポート・インポートが容易
  • ソート可能
Bad Point
  • マスターパスワード登録時に伏字にならない
  • 「終了」ボタンで終了してもロックがかからない
  • ログイン継続時間の設定通りに動作しない
  • バックアップファイルがパスワードしか暗号化されていない
結論
アンインストール

DeveloperのWebは公開されているがアプリの紹介があるのみで人柄は伺いしれない。
マスターパスワードをジェスチャーで代用できるのが最大の特徴。
ログイン継続時間の件は、Activityが完全に終了してからカウントされるのだろうか? onPause状態では初期設定の1分を経過したあともロックされなかった。
バックアップファイルがパスワードしか暗号化されないのが痛い。 暗号化はAESで行われており、バックアップ時にパスワードを入力させ、インポート時にそのパスワードが必要となるので鍵は毎回個別に作成されていると思われ、第四弾のアプリのような脆弱性はない。 ただ、このような仕様にしているということは、普段のデータ格納時はパスワードすら暗号化されていないのだろうか(あくまで推測。未確認)。 また、バックアップファイルからパスワードを複合化するのは困難とはいえ、アカウントが全てダダ漏れてしまうというのは個人的には許容範囲を超えているためアンインストール。

2013年6月16日日曜日

パスワード管理アプリレビューその4 [Android]

パスワード管理アプリレビュー第四弾。まだ検索結果1ページ目のアプリです。有料版は無いようです。

アプリ名
MKパスワード管理ぱぱっと入力
Developer
三浦 健一郎 (Kenichiro Miura)
URL(GooglePlay)
https://play.google.com/store/apps/details?id=mk.android.FastPass
広告表示
Good Point
  • マッシュルーム対応
  • DropBox連携機能あり
Bad Point
  • マスターパスワードの設定欄を伏字にすることができず画面上に生で表示される
  • リストア時にバックアップファイルをリネームする必要がある
  • 暗号化方式が貧弱(というか脆弱)
  • DeveloperのWebサイトがない
  • アプリ上からワンタッチコピーできない
  • デザインがいまいち
結論
アンインストール

正直他のアプリに比べていいところが見つからないです。DropBoxと連携できるのはいいと思うのですが、肝心の出力ファイルを開いてみると、暗号化されているのはアカウント名とパスワードだけで、それらの暗号化後の文字列を見ると、これそもそも暗号化か?という文字列が記載されてます。文字を別の文字で置き換えただけでパディングもなし。例えば1は!に、2は?に置き換えるといった形式。あるエントリのパスワードが 123 でファイル中の文字列が !?% なら、ファイル中にある %?! は絶対に 321 です(※あえてアプリで実際に使用されている置換文字とは変えてあります)。インポート時にマスターパスワードを要求されるでもないので、恐らく環境ごとに置き換える文字が変わったりもしないでしょう。小学生でも容易に解けてしまう暗号です・・・。ファイルが漏れてしまったら終わりですね。

2013年6月15日土曜日

パスワード管理アプリレビューその3 [Android]

パスワード管理アプリレビュー第三弾も、第二弾と同じくGoogle Playで「パスワード管理」で検索して上位に出てくる以下のアプリを入れてみました。有料版は無いようです。

アプリ名
パスワード管理帳(パスメモ)
Developer
NIPPON SYSTEMWARE CO.,LTD.
URL(GooglePlay)
https://play.google.com/store/apps/details?id=jp.co.nsw.android.passmemo
広告表示
Good Point
  • Developerが東証一部上場企業でまず漏洩の恐れはないと思われる
    ※ただしマーケティング利用もないとは言い切れない。それについては何も明記されていないので不明。
  • マッシュルーム対応
  • デザイン
  • バックアップファイルが暗号化されていてリストアも直接可能
  • カテゴライズ可能
  • ソート可能
  • 広告が誤クリックしにくい場所に配置されている
Bad Point
  • マスターパスワードの入力欄を伏字にすることができず画面上に生で表示される
  • バックアップファイルの格納場所が内蔵ストレージで変更できずパス表示もされない
    ※v2.0.2で修正したと書かれていたがXperiaでは内蔵のままだった
結論
キープ!

今までの3本の中では、Developerの信頼性、ソフトの品質共にぴか一。マスターパスワードの入力欄を伏字にできないのは痛いがそれ以外に特に問題はない。これを超えるソフトは出てくるかなー?

パスワード管理アプリレビューその2 [Android]

パスワード管理アプリレビュー第二弾は、第一弾と同じくGoogle Playで「パスワード管理」で検索して上位に出てくる以下のアプリを入れてみました。有料版もありますが、無料限定で探しているので無料版のレビューです。

アプリ名
パスワード管理ソフト ぱすわ~ど帳(マッシュルーム対応)
Developer
waiwai
URL(GooglePlay)
https://play.google.com/store/apps/details?id=jp.android.passworder
広告表示
Good Point
  • Developerがアンドロイダー公認なので安心感あり
  • マッシュルーム対応
Bad Point
  • マスターパスワードの登録・変更も通常のアイテムのパスワード登録・変更も伏字にすることができず画面上に生で表示される
  • リストア方法が非常にややこしい
  • 暗号化無しでバックアップしないとバージョンアップ時や機種変時にリストアできない
結論
バックアップ・リストアまわりの改善に期待しつつアンインストール。

Developerのブログを読むと、善人であることは疑いない感じ。データが抜かれる恐れはなさそう。パスワードがモロ表示されてしまうのには結構抵抗があるが、それはまあ登録時だけのことと思えばなんとか許容範囲か。バックアップが非暗号化状態でないとバージョンアップ時や機種変更時に戻せないのは許容範囲を超えているので残念ながら不採用。

2013年6月14日金曜日

パスワード管理アプリレビューその1 [Android]

スマホでのパスワード入力ってすごくストレス高くないですか?私には高いです。ということで自分用にパスワード管理アプリを探しているのでついでにレビューとして記録しておこうと思います。第一弾の今回は、Google Playで「パスワード管理」で検索してかなり上のほうに出てきた以下のアプリを入れてみました。ちなみに、無料限定で探します。

アプリ名
パスワード管理マネージャー(ぱすわーど保存・ロックアプリ)
Developer
Password Security Manager
URL(GooglePlay)
https://play.google.com/store/apps/details?id=jp.co.futaba.password.security
広告表示
Good Point
  • シンプル
  • デザインが良い
Bad Point
  • ロック解除時に音が鳴る(OSが4.0で確認。2.3のときには出なかった)
    音を消す方法も不明
  • アイコンのロゴの使用許諾をとっているのか不明
  • マーケティング手法が嫌な感じ(過剰アピール、アプリ紹介画面の大量キーワード羅列、アプリ起動後の星5レビュー依頼POPUPなど)
  • DeveloperのWebサイトがない
  • バックアップ・リストアができない
    (バージョンアップ時にはバックアップしろと書いてあるがバックアップ方法の説明もない)
  • ソートできない
結論
無し。アンインストール。

アプリ自体がどうのよりも、Developerの怪しさが怖い。広告があるのは無料なので仕方がないが、広告があるということはネットワーク通信のパーミッションがあるということであり、それはつまりデータを抜かれる可能性があるということだ。そうなるとせめてDeveloperの健全さを知りたいのに、Webもないのは怖い。「プロのデザイナーが・・・」という記載や、「チーム一同・・・」という記載が出てくるのに、その組織のページが無いのはおかしくないだろうか。まだ個人が1人でせっせと作ってます、のほうが信じられる。アピールも過剰すぎ。怖くて無理です。

2013年6月13日木曜日

ソフトウェアキーボードを隠す [Android]

画面遷移直後に出るのを防ぐ

protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 this.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
 setContentView(R.layout.hoge);
}

編集が終わった後に引っ込んでもらう

ボタンクリックのリスナー等に以下のコードを仕込む。

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

2013年6月12日水曜日

一部にだけテーマが反映されない [Android]

一部にだけテーマが反映されなかったら getApplicationContext() を探せ!!

原因を探すのに計6時間かかりました・・・。
ListActivity の中の ImageButton にだけテーマが反映されず、xml の定義が間違っているのかとか、ListActivity が悪いのかと思って普通の Activity + ListView に変えたりとか、バグがあるのかとググりまくったりとか、色々しまくったのですが、原因は Adapter の引数に this ではなく getApplicationContext() を指定していたことでした。それを this に変えたらすっきり反映されてくれました。

2013年6月8日土曜日

AESで暗号化

暗号化

//元データ
String str1 = "hoge";
String str2 = "foo";
String str3 = "bar";

try {
    Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding");

    //鍵準備
    try {
        //鍵ファイルがある場合はファイルから読み込む
        FileInputStream in = openFileInput("key");
        byte[] keybyte = new byte[in.available()];
        in.read(keybyte);
        in.close();
        SecretKeySpec skey = new SecretKeySpec(keybyte,"AES");
        c.init(Cipher.ENCRYPT_MODE, skey);
    } catch(Exception e) {
        //鍵ファイルがない場合はランダムに生成
        KeyGenerator generator = KeyGenerator.getInstance("AES");
        generator.init(256, SecureRandom.getInstance("SHA1PRNG"));
        Key key = generator.generateKey();
        //鍵をファイルに保存
        FileOutputStream out = openFileOutput("key", MODE_PRIVATE);
        out.write(key.getEncoded());
        out.close();
        c.init(Cipher.ENCRYPT_MODE, key);
    }

    //暗号化
    byte[] enc_str1 = c.doFinal(str1.getBytes());
    byte[] enc_str2 = c.doFinal(str2.getBytes());
    byte[] enc_str3 = c.doFinal(str3.getBytes());

    /* 暗号化したデータをbyte[]のままどこかに保存
    Stringとかに変換すると壊れるので注意 */

    //IVを保存
    byte[] iv = c.getIV();
    /* これもbyte[]のままどこかに保存 */

} catch(Exception e) {
    e.printStackTrace();
}

複合化

//暗号化データがbyte[]で enc_str に、IVがbyte[]で iv に格納されている前提 */

//鍵をファイルから取得
byte[] key;
try {
    InputStream is = openFileInput("key");
    key = new byte[is.available()];
    is.read(key);
    is.close();
} catch(IOException e) {
    e.printStackTrace();
}

//複合化
SecretKeySpec keyobj = new SecretKeySpec(key,"AES");
try {
    Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding");
    IvParameterSpec ips = new IvParameterSpec(iv);
    c.init(Cipher.DECRYPT_MODE, keyobj, ips);
    Log.d("TEST", new String(c.doFinal(enc_str)));
} catch(Exception e) {
    e.printStackTrace();
}

2013年6月4日火曜日

今日はまったことメモ

その1。SQLite にデータが登録されない。エラーもでない。 → execSQL しなければならないところで rawQuery してました。アホだ・・・。それにしても何のエラーも出ないのね。

その2。startActivity(intent) しても処理は続く。条件分岐で別の Activity に飛ばす場合は注意。
例えば

if (a == 1) {
 Intent i1 = new Intent(TestActivity.this, NextActivity.class);
 startActivity(i1);
}
Intent i2 = new Intent(TestActivity.this, AnotherActivity.class);
startActivity(i2);

というコードを書いてしまうと、a が 1 のときでも NextActivity ではなく AnotherActivity に飛ばされてしまう。 startActivity の後に処理が続かないように後ろのコードは else に入れてやらないとダメ。

2013年6月3日月曜日

ファイルの読み書き

読みその1(stream)

try {
 InputStream is = openFileInput("filename");
 BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
 String line;
 while ((line = reader.readLine()) != null) {
  //処理
 }
 reader.close();
} catch(IOException e) {
 e.printStackTrace();
}

読みその2(bytes)

byte[] contents = null;
try {
 FileInputStream is = openFileInput("filename");
 contents = new byte[is.available()];
 is.read(contents);
 is.close();
} catch(IOException e) {
 e.printStackTrace();
}

書きその1(stream)

String s = "I want to write this message.";
try {
 OutputStream os = openFileOutput("filename",MODE_PRIVATE);
 PrintWriter writer = new PrintWriter(new OutputStreamWriter(os, "UTF-8"));
 writer.append(s);
 writer.close();
} catch(IOException e) {
 e.printStackTrace();
}

書きその2(bytes)

String s = "I want to write this message.";
try {
 FileOutputStream os = openFileOutput("filename",MODE_PRIVATE);
 out.write(s.getBytes());
 out.close();
} catch(IOException e) {
 e.printStackTrace();
}

Eclipseがおかしくなったら

LogCat が表示できない、エミュのマネージャが起動しない
ビューを作成できませんでした: プラグイン "com.android.ide.eclipse.ddms" は、クラス "com.android.ide.eclipse.ddms.views.LogCatView" をインスタンス化できませんでした
コマンドプロンプトで eclipse.exe -clean で解決。
ソースが赤×だらけ
メニューの[プロジェクト]→[クリーン]で解決。

2013年6月2日日曜日

フォームからのデータ受け取り

EditText

Button mButton = (Button)findViewById(R.id.button1);
mButton.setOnClickListener(new OnClickListener() {
 public void onClick(View v) {
  EditText mEdit = (EditText)findViewById(R.id.edit1);
  String hoge = mEdit.getText().toString();
  //処理
 }
});

2013年6月1日土曜日

クリップボード操作

ClipboardManager cm = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
//SET
cm.setText("copy");
//GET
CharSequence c = cm.getText();

2013年5月23日木曜日

定額制で月5000円以下で利用できそうな IaaS のメモ

  • GMOクラウドPublic
  • さくらのクラウド
  • IDCフロンティアクラウドセルフタイプ
  • BIGLOBEクラウドホスティング
  • FUSION Cloud
  • Web ARENA VPSエントリー
  • Web ARENA VPSクラウド
  • IIJ GIOホスティングパッケージサービス
  • NTTCom cloudn

コスパが高いのはGMO、さくら、Web ARENA VPSエントリーあたり。

2013年5月20日月曜日

SYSVOL と NETLOGON が共有されない場合の対処法(DFRS)

OS は Windows Server 2008 SP2(RC2ではない!)
2台目のAD構築後に net share コマンドを打ったところいくら待っても SYSVOL と NETLOGON が表示されない。
repadmin /showrepl /all の結果は異常なし。(このコマンドで異常がある場合はそもそもレプリケーションが上手くいっていないのでそれを解決するべし)
一度降格させて役割も削除し、ADを再インストールしても結果は同じ。ググると、レジストリにD2やらD4やらのフラグを立てて?という情報がたくさん出てくるが、それは2008の場合使えないことが多いので要注意。

まず、SYSVOL と NETLOGON が何のサービスによって共有されるかというと、2003まではFRS、2008からはDFRS。(ただし、ドメインの機能レベルが元は2003で、手動で2008に上げた場合は手動でFRSからDFRSに移行していない限りFRS)。D2、D4云々の対処法はFRS用なので、DFRSの場合はやっても無駄。ちなみにNTFRS=FRSなので手順中に net stop ntfrs とかそういうコマンドが出てくる対処法はDFRSの場合は全部無駄。過去の経緯等を知らず、FRSなのかDFRSなのか不明な場合は以下のページを参考に特定する。
http://www.upken.jp/kb/eoyJwqwZaErvnlZuaRqoPGnfizsxdH.html

で、DFRSだった場合。

  1. 1号機の SYSVOL と NETLOGON フォルダを念のためバックアップ。
    ※パスは net share コマンドで確認。
  2. 1号機で以下のコマンドを実行。
    wmic /namespace:\\root\microsoftdfs path dfsrReplicatedFolderInfo get replicatedFolderName,State
  3. 上記コマンドの結果(State)が2だった場合は継続。それ以外の場合以下の方法は使えない。
  4. 1号機で管理ツール→ADSIエディターを起動
  5. 左ペインで OU=DomainControllers の中の1号機の中の CN=DFSR-LocalSettings の中の CN=Domain System をクリック
  6. 右ペインに表示された CN=SYSVOL Subscription を右クリックしてプロパティを表示
  7. msDFSR-Options 属性の値を 1 に変更してエディタを閉じる
  8. 1号機のコマンドラインで dfsrdiag pollad を実行
  9. 数分待つ
  10. 2号機のコマンドラインで net share を実行して SYSVOL と NETLOGON が表示されることを確認

2013年5月19日日曜日

Windows Server 2008 SP2 Active Directory 2台目構築メモ

インストール手順

  1. サーバマネージャを起動し、役割の追加で『Active Directoryドメインサービス』を追加する。
    ※ここではDNSは追加しないこと。
  2. ファイル名を指定して実行で『dcpromo』
  3. ウイザードで『詳細モード』にチェック
  4. 既存のフォレスト、既存のドメインにチェック
  5. あとは次へ次へでウイザード終了。
  6. 最後に再起動

確認手順

1号機・2号機両方で実行するべし。

  • dcdiag
  • repadmin /showrepl /all
    ※/allをつけないと入力方向のレプリケーションしか表示されない。
  • net share
    ※SYSVOL と NETLOGON が表示されること

エラーがある場合、構築後まもなくて初期レプリケーションが終わってない可能性がある場合はしばらく待つ。