SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Windows ブートマネージャが英語になった時の対応

one comment

Windows 7 の VHD ブートを試していて、スタートアップの修復が実行されるとブートマネージャが
英語表記になることがあります。

BCD の {bootmgr} に Path が設定されていることが原因のようなので BCDEDIT で Path を削除すると
日本語表記に戻ります。

bcdedit /deletevalue {bootmgr} path

解決方法をよく忘れるのでメモ。

2009/10/20 追記

{bootmgr} の locale が ja-JP になっているかもチェックです。

bcdedit /set {bootmgr} locale ja-JP

Written by Masayuki.Ozawa

7月 25th, 2009 at 6:28 am

Posted in Windows Client

VHD ブートが面白いですね

leave a comment

仕事で手いっぱいで久しぶりの投稿です。

自宅の検証環境に VHD ブート検証用の端末を用意できたので時間があるときにいろいろとためしています。
軽く VHD ブートで OS をインストールしてみたのですが結構面白いですね。

Windows 7 RC や Windows 2008 R2 RC のメディアで起動してからコマンドプロンプトを開いて
DISKPART で VHD を作ってアタッチしてしまえば C ドライブに OS をインストールしなくても
VHD ブートを構成することができます。

C ドライブは VHD 格納用のフォルダと VHD のファイルだけにしてマルチブート環境も構築できそうです。

VHD ブートの OS でも USB や無線 LAN も使えるので使い勝手は普通にインストールした OS と変わらなさそうです。

i-VT / AMD-V も有効な状態で使用できそうですので、XP MODE の検証環境としても利用できそうです。

Written by Masayuki.Ozawa

7月 14th, 2009 at 11:37 am

Posted in Windows Server

SQL Server 管理レポート その 1

leave a comment

SQL Server の管理用カスタマイズレポートの作成状況を今日からすこしずつ書いていきたいと思います。
現在はトップページを小出しに作成中です。

メインページはサーバーの概要を載せたいなと思い、現在は以下の構成で作成しています。

image

現状は大枠だけ作成してみました。

時間がある時にサーバー情報でよく見る項目を少しずつ追加していきたいと思います。
AWE / MAX DOP だけでなく max worker threads や affinity mask も概要ページで見れると便利そうですね。
#sys.configurations で確認できる情報はこのページからリンクレポートを設定して全部見れるようにする予定です。

この手の自分の勉強用のツールを作るのは楽しくていいですね~。

パフォーマンスチューニングや運用のノウハウを補足として記載しながらレポートを作成していきたいです。

Written by Masayuki.Ozawa

7月 5th, 2009 at 2:02 pm

Posted in SQL Server

SQL Server 2008 Management Studio のカスタムレポートについて

leave a comment

Reporting Services の勉強を兼ねて SQL Server 2008 用の管理用カスタムレポートを作成しようと思い、
BI Development Studio 2008 でまずは簡単なレポートを作成してカスタムレポート表示をしたら以下のエラーが。

image

SQL Server 2008 の Management Studio 用のカスタムレポートは BI Development Studio 2005 で開発する
必要があるみたいですね。

下が BIDS 2005 で作成したカスタムレポートを SSMS 2008 で表示した内容になります。

image

まずはサーバーダッシュボードのようなものを少しずつ作っていきたいと思います。
# 最終的には自分で Performance Dashboard Reports のようなものを作ってみたいです。

Written by Masayuki.Ozawa

7月 4th, 2009 at 5:45 am

Posted in SQL Server

クライアントのコンピュータアカウントのパスワード格納場所

leave a comment

Active Directory とは依然として仲良しにはなれていないのですが、そうも言っていられない日々が続いています…。

今日はコンピュータアカウントのパスワードについて。

コンピュータアカウントのパスワードはセキュリティポリシーの
– [ドメイン メンバー: 最大コンピュータ アカウントのパスワード有効期間]
の設定値で定期的に変更され、ドメイン コントローラーでも保持しているパスワードと一致しない場合は、
セキュアチャネルの確立ができず、ドメイン ログオンに失敗する仕組みになっています。

image

パスワードは 1 世代前のものも保持されており、現在のパスワードと 1 世代前のパスワードの両方を使用して
セキュアチャネルが確立できないと NG になります。

Netdom.exe を使用して Windows 2000 ドメイン コントローラのコンピュータ アカウントのパスワードをリセットする方法

セキュアチャネルについては Microsoft の Network & AD サポートチームの以下の記事がとても参考になります。

ドメインにログオンできない ~ セキュア チャネルの破損 ~

パスワードを無期限にする方法に関しては Microsoft エバンジェリスト 安納さんがまとめてくださっています。

【Hyper-V】スナップショットとコンピュータアカウントパスワードの微妙な関係

ちなみに、パスワード不整合が起きたかどうかはドメイン コントローラで対象のコンピュータアカウントの
– [badPwdCount]
– [badPasswordTime]
を見るとわかります。
ドメインコントローラーのイベントビューアでイベント ID [5722] で見る方法も。

ドメインコントローラー側は Active Directory 上にパスワードを持っているとして、クライアント側の場合は
どこにパスワードを持っているのかというと [LSA (ローカル セキュリティ 機関)] に格納されています。

LSA の内容は以下のレジストリで内容を見ることができます。

– [HKEY_LOCAL_MACHINESECURITY]
image

デフォルトの状態ではこのレジストリには [SYSTEM] しか読み取りの権限がありませんので他のユーザーで内容を確認したい場合は、
[SECURITY] を右クリックして [アクセス許可] を選択し、読み取り権限を明示的に付与する必要があります。

  1. [アクセス許可] を選択
    image
  2. 操作しているユーザーに [読み取り] を追加
    image

Windows 2000 の場合は [regedit.exe] からはアクセス許可の設定ができないため、[regedt32.exe] を使用します。

アクセス許可を設定すると [SECURITY] が展開できるようになります。

image?

コンピュータアカウントの情報は以下の場所に格納されています。
– [HKEY_LOCAL_MACHINESECURITYPolicySecret.s$MACHINE.ACC]
image?
このレジストリキーを展開すると以下の階層が表示されます。
image

[CurVal] [OldVal] がコンピュータアカウントのパスワードの値になるようです。
# [CupdTime] [OupdTime] がそれぞれの値の変更されたタイミングになります。
 ただし、世代移動のタイミングで両方の値が更新されるようで、変更されたタイミングは同じ値が入っていました。

意図的にコンピュータアカウントのパスワード不整合を発生させたい場合は、[CurVal] [OldVal] を書き換えると現象を発生させることが可能です。
あまりにも変な値を入力するとログオンできないだけでなく、ドメインからはずせなくなりますのでご利用は計画的に。

次回は意図的にパスワード不整合を発生させ、ログオンできない状態にさせてみたいと思います。

Written by Masayuki.Ozawa

7月 2nd, 2009 at 11:08 pm

Posted in Active Directory

repadmin /syncall で別サイトの DC と同期

leave a comment

WIndows 2000 / 2003 のサポートツールに含まれている repadmin.exe を使用すると DC のレプリケートを
コマンドラインで実行することができます。

オプションを何も設定しないで実行すると同一サイト内の DC とのみレプリケートが実行されますので、
複数のサイトを作成している場合は /e オプションを指定する必要があります。

[自サイト内の DC とのみレプリケート]

repadmin /syncall

?

[他のサイトの DC も含めてレプリケート]

repadmin /syncall /e

?

[Active Directory サイトとサービス] を使用して [今すぐレプリケート] で同期をとる場合は
対象の接続オブジェクトを選択するので別サイトでも問題はありませんが、コマンドで実行する場合は
気をつけないといけないですね。

Written by Masayuki.Ozawa

6月 29th, 2009 at 11:36 pm

Posted in Active Directory

VBScript で別ファイルをインクルード

leave a comment

よく忘れるのでメモ。

Scripting.FileSystemObject の ReadAll で別ファイルの内容を読み込んで、
ExecuteGlobal に読み込んだ内容を渡して別ファイルをインクルード。

ExecuteGlobal ステートメント

Written by Masayuki.Ozawa

6月 24th, 2009 at 12:27 pm

Posted in その他

ダウンレベルクライアントに影響するグループポリシー

leave a comment

Windows Server 2003 のドメインコントローラーを使用している場合にダウレベルクライアントで
影響が出そうなグループポリシーをメモ
# グループポリシーに KB823659 へのリンクが表示されていたものです。

グループポリシー 設定値
Microsoft ネットワーク クライアント: 常に通信にデジタル署名を行う
  • 有効
  • 無効
Microsoft ネットワーク サーバー: 常に通信にデジタル署名を行う
  • 有効
  • 無効
ドメイン メンバ: 強力な (Windows 2000 かそれ以降のバージョン) セッション キーを必要とする
  • 有効
  • 無効
ドメイン メンバ: 常にセキュリティで保護されたチャネルのデータをデジタル的に暗号化または署名する
  • 有効
  • 無効
ネットワーク アクセス: SAM アカウントおよび共有の匿名の列挙を許可しない
  • 有効
  • 無効
ネットワーク アクセス: SAM アカウントの匿名の列挙を許可しない
  • 有効
  • 無効
ネットワーク アクセス: 匿名の SID と名前の変換を許可する
  • 有効
  • 無効
ネットワーク セキュリティ: LAN Manager 認証レベル
  • LM と NTLM 応答を送信する
  • LM と NTLM を送信する – ネゴシエーションの場合、NTLMv2 セッション セキュリティ
  • NTLM 応答のみ送信する
  • NTLMv2 応答のみ送信する
  • NTLMv2 応答のみ送信する (LM を拒否する)
  • NTLMv2 応答のみ送信する (LM と NTLM を拒否する)
ネットワーク セキュリティ: 必須の署名をしている LDAP クライアント
  • なし
  • ネゴシエーション署名
  • 必須署名
監査: セキュリティ監査のログを記録できない場合は直ちにシステムをシャットダウンする
  • 有効
  • 無効

セキュリティ的に問題ないかは別にして、これらの設定をドメインコントローラにしておけば、
95 / 98 / NT 4.0 SP3 以前がログインできないという現象は回避できそうです。

ダウンレベルクライアントがなくなったら設定を戻しましょうという但し書きをしたうえで設定しておこう。

Written by Masayuki.Ozawa

6月 23rd, 2009 at 11:25 am

Posted in Active Directory

Tech・Ed 2009 テクニカルセッションの情報が更新されています。

leave a comment

Microsoft の方がスピーカーを担当されるテクニカルセッションのアジェンダが公開されたようです。

テクニカル セッション

SQ!L Server 2008 R2 のセッションがあるので行きたいです…。
去年と比べると SQL Server のセッション数はだいぶ減りましtね。

今年も去年と同様 Post Conference DVD が一般販売されないのでしょうかね。
去年は事務局に問い合わせたところ、一般販売も予定しているといわれていたのですが、
最終的には販売されなかったので…。

tech days のように後日、全セッションの動画 / スライド一般公開されると、とてもうれしいのですが。

Written by Masayuki.Ozawa

6月 22nd, 2009 at 11:45 pm

Posted in セミナー

CNAME を使用したファイル共有

leave a comment

Windows のファイルサーバーではないのですが DNS の Ailias (CNAME) で CIFS 共有にアクセスすると
認証が発生してしまうという社内の問い合わせがあったので少し調べてみました。

とりあえず Windows のファイルサーバーだとどうなるんだろうと思い調べてみたところ、事例がありました。

Windows 2000 ベースのサーバー上の SMB 共有へのエイリアス名による接続が機能しない
Windows2000/Server2003の共有フォルダをDNSのCNAMEレコードを使用して開けない
Windows Server 2003 Service Pack 1 のインストール後に FQDN または CNAME エイリアスを使用してサーバーにローカル アクセスしようとするとエラー メッセージ "アクセスが拒否されました" または "指定されたネットワーク パスはどのネットワーク プロバイダによっても受け付けられませんでした" が表示される
ログオン ウィンドウの表示 Windows Server 2003 Service Pack 1 NLB 仮想 NLB クラスタ名を参照するとき

以下のレジストリを設定すれば CNAME でアクセスできるようになります。

HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanmanServerParameters

値の名前 : DisableStrictNameChecking
データの種類 : REG_DWORD
基数 : 10進
値 : 1

エラーの時は以下のようなメッセージが表示されます。

ネットワークに重複した名前があるため接続されませんでした。
コントロール パネルのシステムでコンピュータ名を変更して再実行してください。

image

CNAME だけでなく、A レコードで本来のコンピュータ名の IP を登録しても同様のエラーとなりました。

NLB で Kerberos 認証をする場合もいろいろと考慮点があるみたいですね。
# NLB の仮想ホスト名も CNAME みたいなものだと思いますので。

Windows Server 2003 NLB構成で Kerberos認証を有効にする
負荷分散アーキテクチャで Kerberos 経由の認証の委任は動作しません
Kerberos authentication for load balanced web sites
Enabling Kerberos Delegation on a NLB scenario

こちらはアプリケーションプールをドメインユーザーで起動して、 NLB で負荷分散に使用するホスト名と
アプリケーションプールの起動ユーザーで SPN を登録するのがポイントみたいです。

SQL Server の Kerberos 認証もそのうち試そうと思ってなかなか手が出せていないですね~。
まだまだ勉強することが沢山です。

Written by Masayuki.Ozawa

6月 22nd, 2009 at 2:17 pm

Posted in Active Directory