Active Directoryへの道

ActiveDirectoryの設定と管理の日々を記録したいと思います。ヘボなのは勘弁しといて下さい(笑

dns起動不調

2006-05-14 04:31:17 | トラブル
久々の書き込みなので昨日起こったトラブルをもういっこ。

昨日停電があるとのことだったので、久々にDCの電源を落としていました。
で、お休みだったのですが、部下が出社していて、電源をいれたんだそうですが、動作がまるっきりおかしかったらしく。

慌てて出社してみると、DNSが起動してませんでした。うーん、なんでだ。

調べてみると、別マシンで動かしているファイアウォールが止まっており、当該のDNSを動かしているDCからフォワードしているDNSサーバ(bindですが)へ通信できなくなっていました。

ローカルなゾーンだけなら問題ないんじゃないかと思っていましたが、フォワーダに指定しているDNSサーバで解決できないと、DNSも起動しないんですね。知りませんでした。

ファイアウォールを起動して復旧完了しました。うーむ。

イベントID:1311の解消

2006-05-14 04:23:32 | トラブル
1865とか1566とか、1311とかあのへんのKCCまわりでとあるDCとの複製がエラーになって困っていました。

昨年うっかりして複製がエラーのままTombstoneの60日を超えてしまう、というへまをやって、それ以来なにかと不調だったDCです。

試しに
\HKLM\SYSTEM\CurrentControlSet\Services\NTDS\parametersにあるStrict Replication Consistencyを1から0にして複製したところ、見事に解消しました。

ああ、よかった。今後は気をつけませう。

イベントID: 2042 ドメインコントローラの複製に失敗

2005-12-28 16:34:09 | トラブル
イベントID: 2042
このコンピュータと名前が付けられたソース コンピュータが最後にレプリケートされてから時間が 経ちすぎました。このソースとのレプリケーションの間の時間が廃棄 (Tombstone) の有効期間を越 えています。レプリケーションはこのソースで停止しています。レプリケーションが続行できない
理由は、2 台のコンピュータの削除されたオブジェクトの表示が現在同じではないためです。 ソース コンピュータに、このコンピュータで削除 (およびガーベジ コレクト) されたオブジェクト のコピーがまだある可能性があります。レプリケートすることができた場合、ソース コンピュータに より既に削除されたオブジェクトが返される可能性があります。

replmonでレプリケートすると、
There was an error during queuing the synchronization. The error code was:
ERROR_REPLICA_SYNC_FAILED_このサーバーとの最後のレプリケーション以来、廃棄(TOMBSTONE)の有効期間を超えた時間がたっているため、ACTIVE DIRECTORYはこのサーバーでレプリケートできません。

だそうです。

そんなにほっぽらかしてたかなぁ。

TOMSTONEとか有効期間とかでぐぐってもヒットせず。エラーメッセージで検索しても英文で数件だし、中身がないかんじ。

ふと「イベントID:2042」でぐぐると、http://goinkyo.startit.jp/xoops/modules/news/print.php?storyid=408がヒットしました。

このメッセージを最後まで読むと対処法が書いてあるのですが、一番簡単なのは、以下のレジストリを設定することでしょう。

引用:

レジストリ キー: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters\
値: Allow Replication With Divergent and Corrupt Partner
タイプ: DWORD
値のデータ: 1

これを設定したあとで「Active Directoryサイトとサービス」を使って「今すぐ複製」してあげると、今度は複製がうまくいくはずです。一度複製が成功したあとは、この「値」は削除してください。

おお。べんり。

念のためGCで新しいユーザ登録して、このDCを見ると、ちゃんと同期してます。

あーーーでもreplmonで見るとエラーになってて、強制的に複製しようとすると上記エラーが止まらんし。

とりあえずは大丈夫なんですが、エラーが残るのは気になるなぁ。

ターミナルサービスライセンスサーバ

2005-11-24 15:11:13 | Weblog
しばらくメタフレームの導入をやっていました。

評価期間が終わりに近づいてきたので、TSライセンスのユーザCALを購入してインストール。

ターミナルサービスライセンスサーバがないし。

「サーバの役割」あたりをひねくり回したり、ターミナルサーバ入れなおしたりしても見つかりませんでしたが、2003のCDいれてコンポーネントの追加にありました(^^;

インストールして、アクティブ化し、ライセンスのインストール。なんか「量販店」とか決め付けられて欝ですが、そのまま導入。

ところがメタでログインすると、「一時ライセンス」が増えていく一方で、せっかく導入したライセンスが減らないんですけど。

MSで調べてみると、ターミナルサーバの動作モードが「接続デバイス数」になっているかららしくて、[管理ツール][ターミナルサービス構成][サーバ設定][ライセンス]を「接続デバイス数」から「接続ユーザ数」に変えることで動作しました。

ああ、めんどい。

FSMO の役割の識別方法

2005-06-18 08:41:26 | Weblog
GCやPDCエミュレータといった、役割がどこいっちゃったかわからなくなった時用のスクリプトです。

http://support.microsoft.com/kb/235617/
からの純正情報。

Option Explicit
Dim WSHNetwork, objArgs, ADOconnObj, bstrADOQueryString, RootDom, RSObj
Dim FSMOobj,CompNTDS, Computer, Path, HelpText


Set WSHNetwork = CreateObject("WScript.Network")
Set objArgs = WScript.Arguments

HelpText = "This script will find the FSMO role owners for your domain." & Chr(13) &_
Chr(10) & "The syntax is as follows:" & Chr(13) & Chr(10) &_
"find_fsmo DC=MYDOM,DC=COM" & Chr(13) & Chr(10) &_
"""Where MYDOM.COM is your domain name.""" & Chr(13) & Chr(10) & "OR:" &_
Chr(13) & Chr(10) & "find_fsmo MYDCNAME " & Chr(13) & Chr(10) &_
"""Where MYDCNAME is the name of a Windows 2000 Domain Controller"""


Select Case objArgs.Count
Case 0
Path = InputBox("Enter your DC name or the DN for your domain"&_
" 'DC=MYDOM,DC=COM':","Enter path",WSHNetwork.ComputerName)
Case 1
Select Case UCase(objArgs(0))
Case "?"
WScript.Echo HelpText
WScript.Quit
Case "/?"
WScript.Echo HelpText
WScript.Quit
Case "HELP"
WScript.Echo HelpText
WScript.Quit
Case Else
Path = objArgs(0)
End Select
Case Else
WScript.Echo HelpText
WScript.Quit
End Select

Set ADOconnObj = CreateObject("ADODB.Connection")

ADOconnObj.Provider = "ADSDSOObject"
ADOconnObj.Open "ADs Provider"


'PDC FSMO
bstrADOQueryString = "<LDAP://"&Path&">;(&(objectClass=domainDNS)(fSMORoleOwner=*));adspath;subtree"
Set RootDom = GetObject("LDAP://RootDSE")
Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The PDC FSMO is: " & Computer.dnsHostName


'RID FSMO
bstrADOQueryString = "<LDAP://"&Path&">;(&(objectClass=rIDManager)(fSMORoleOwner=*));adspath;subtree"

Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The RID FSMO is: " & Computer.dnsHostName


'インフラストラクチャ FSMO
bstrADOQueryString = "<LDAP://"&Path&">;(&(objectClass=infrastructureUpdate)(fSMORoleOwner=*));adspath;subtree"

Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The Infrastructure FSMO is: " & Computer.dnsHostName


'スキーマ FSMO
bstrADOQueryString = " ">;(&(objectClass=dMD)(fSMORoleOwner=*));adspath;subtree"

Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The Schema FSMO is: " & Computer.dnsHostName


'ドメイン名前付け FSMO
bstrADOQueryString = " ">;(&(objectClass=crossRefContainer)(fSMORoleOwner=*));adspath;subtree"

Set RSObj = ADOconnObj.Execute(bstrADOQueryString)
Set FSMOobj = GetObject(RSObj.Fields(0).Value)
Set CompNTDS = GetObject("LDAP://" & FSMOobj.fSMORoleOwner)
Set Computer = GetObject(CompNTDS.Parent)
WScript.Echo "The Domain Naming FSMO is: " & Computer.dnsHostName

だそうです。これをコピペしたスクリプトを実行して解決。

win9xでパスワード変更しようとすると「ドメインコントローラが見つかりません」と出る件。

2005-06-13 10:48:47 | Weblog
WINS入れてもだめ。lmhosts書いてもだめ。拠点のDCをGC扱いにしてもだめです。
うーん、みんなどうやっているのだろう。うちだけなのかなー。

調査続行します。

試してみたい点はPDCエミュレータに指定したDCを見に行くように、WINSなり、lmhostsなりに指定してみることです。

winsを使う?

2005-06-10 12:08:04 | トラブル
lmhostsだけじゃなくって、winsを使ってみる案も検討してみます。
ちなみに今はwinsは動かしていません。

PDCエミュレータはドメインにひとつだけ

2005-06-10 08:13:48 | トラブル
以前Win9x系で、パスワードの変更をしようとすると、「ドメインコントローラ見つかりません」と出る件について、当該サイト内のDCにPDCエミュレータの役割をつけることで解決する、ということがわかりました。

ところが、これ、
http://www.itmedia.co.jp/help/howto/win/win2000/0007special/tokusyu/2000_03/04.html
によりますと、
PDCエミュレータとはFSMO(Flexible Single Master Operation)という特殊な役割の1つであり,PDCエミュレータはドメイン内に1つだけ設置される
だそうじゃないですか。
各サイトにひとつずつおきたかったのですが、全体が1ドメインなので、これでは無理です。
lmhostsのDOM直接指定とかを研究してみることにします。

PDCエミュレータの役割をつけたDC、もう別拠点に配置しちゃいましたー。VPN構築がもうすこし後になるので、GCの置いてある本社サイトはパスワードの変更ができましぇーん(泣

Win98のコンピュータアカウント

2005-06-08 10:42:00 | 設定
98クライアントのコンピュータアカウントがActiveDirectoryの「ユーザとコンピュータ」に載ってきません。http://www.microsoft.com/windows2000/ja/server/help/default.asp?url=/windows2000/ja/server/help/dsadmin_concepts_accounts.htmによりますと、


* Windows 98 および Windows 95 を実行しているコンピュータは、Windows 2000 および Windows NT を実行しているコンピュータが持っている高度なセキュリティ機能を持っていません。また、これらのコンピュータに Windows 2000 ドメイン内のアカウントを割り当てることはできません。ただし、ネットワークにログオンして、Active Directory ドメイン内で Windows 98 および Windows 95 を実行しているコンピュータを使うことはできます。詳細については、「Active Directory のクライアント」を参照してください。

だそうです。98はだめなのか。
http://www.microsoft.com/windows2000/ja/server/help/sag_adintro_22.htm
には、
Active Directory クライアントとは、Active Directory ネットワークに接続するコンピュータ用のネットワーククライアント ソフトウェアです。Active Directory クライアントで構成されたコンピュータは、ドメインコントローラを置くことでネットワークにログオンできます。このクライアントは、Active Directory の機能を十分に利用できます。

Active Directory クライアントを使用できるコンピュータを次に示します。

* Windows 2000 Server または Windows 2000 Professional を実行しているコンピュータ
* Windows 98 または Windows 95 を実行しているコンピュータで、アドオンの Active Directory クライアント ソフトウェアがインストールされているもの

とあるので、例のActive Directory クライアントを入れてみましたが、特に変わりないようです。

WindowsXP ステップアップグレード版狩り

2005-06-04 01:42:01 | その他
社内へのActiveDirectoryの本格的導入に伴い、いままでXP HOMEで運用してきた部署をXP Proに入れ替える必要が出てきました。

調べてみましたら、ステップアップグレード版は1/31で売り切りとのこと。

フルセット版のXP Proを買うのも辛いので、近隣のLAOXやPCデポにTELして確認しますと、あすこで一本、こっちで二本などと、いくつか発見されています。もう全部抑えちゃうぞ。

流通在庫ってことなんでしょうが、これっていいのかなぁ。MSじゃ1/31で終わってるっていうし。
まあ売ってくれる奴は買って回ることにします。

最後の最後はヤフオクだな。

ローカルポリシーをいじっていて、ログオン不可に!

2005-06-03 08:24:27 | トラブル
サーバのローカルログロンを変えて欲しい、と補助管理者がいうのでGCでドメインコントローラセキュリティポリシーをいじっていました。

するとWin2kクライアントで一般ユーザがログオンできない、との報告があり(この辺から泥沼化の予感が)、そちらのローカルポリシーをsecpol.mscでいじり始めました。

どうもクライアントのローカル側では、ローカルログオンにあるアカウントが変更できず、古いものが入りっぱなし。いろいろ調べて、「一旦消せばよい」という謎の情報を得て、消してみました。
ローカルログオンの権限を全部削除してみたのです。

するとローカルのadministratorもログオンできなくなりました。そりゃそうだよな。
MSの情報ではローカル<ドメインコントローラセキュリティポリシー<ドメインセキュリティポリシーの順で優先、となっているのだがなぁ。

safeモードでもログオンできません。うーん。

結局DCの「コンピュータの管理」から当該の2kクライアントに接続し、c:winntsystem32grouppolicyをリネームしてから再起動すると、起動時の「セキュリティポリシーを適用しています」が回避できることを発見。そのままログオンし、secpol.mscを確認すると、新たにgrouppolicyが生成され、DCで設定されたものが新たに入っていました。

なんとかログオンできましたが、かなり冷や汗をかきました。DCでの操作は慎重に行うようにしたいです。

試しにWindows Server Worldを買ってみた

2005-05-30 15:13:25 | その他
Windows Server Worldという雑誌があったので、買ってみました。インスト前にちょっと見とけばよかったかも。

でもこのカリスマ講師とか言う人も、いまいち信憑性にかけるというか、そのまんまうのみで実施したいとは思えないふいんき(<-変換できない)です。こいつ、大丈夫なのか。

ActiveDirectoryっていっても、私の場合、他に選択肢がなくてしかたなくやってんですが、どうどうとこう「7つのメリット」とか書かれると、ちょっと引きます。ActiveDirectoryってそんなに便利なもんかなぁ。面倒なだけだよ。チョウチン度高しってことですか。

それにしてもカリスマ講師、「全DCをGCにしろ」とか書いてますが、こいつ本当に信用できるのか、と。

パスワード変更できました。

2005-05-24 11:07:58 | トラブル
PDCエミュレータの導入で解決しました。
導入に当たっては、
http://www.itmedia.co.jp/help/howto/win/win2000/0007special/tokusyu/2000_03/04.htmlM
を参考にしました。
GC側のDCから、別拠点のDCをPDCの役割強制して、完了。
ああ、よかった。

Win9xでパスワードが変えられない:PDCエミュレータって?

2005-05-23 17:17:06 | トラブル
Win9xのクライアントでマイクロソフトネットワークのパスワードを変更しようとすると、「ドメインコントローラが見つかりません」となる件、いまだ調査中です。ログインはできているのですが。

dsclientを入れてみましたが変わらず。
lmhostsに#DOM入れてみましたが変わらず。

うーん。

いろいろぐぐっていましたら、PDCエミュレータなる言葉に行き当たりました。ドメインで最初のコントローラには自動ではいるようなことが書いてあります。現在GCにしているDCがあるサイトでは、このトラブルが起きないことを考えると可能性ありそう。
そもそもがNTのDCをBDC扱いとして動作させるものらしいので、本当に関係あるかどうか分かりませんが、試してみようかと思います。

後はwinsサーバかなぁ。今は動かしていないんです。

win2000以前のクライアント

2005-05-19 07:44:00 | トラブル
試しに1サイト構築してテストしているのですが、98SEやMEのクライアントで不都合が発生しています。

ドメインには入れるのですが、クライアントから「マイクロソフトネットワークのパスワード変更」を行おうとすると、「このドメインのドメインコントローラが見つかりません」といわれてパスワード変更ができません。

最初は名前解決を疑ったのですが、どうもそうでもないらしく。
dnsのpdcエントリがgcのドメインコントローラ(現在試行しているサイトは非gcがdcしているサイト)なのですが、これなのかなー。

とりあえず全然知らなかったのですが(恥)、ディレクトリサービスクライアントという9x用のクライアントモジュールがあるらしいので、これを入れて試してみます。このクライアントモジュール、どこをみても「Windows2000サーバのCDに入ってます」と書いてありますが、2003サーバには入ってないぞー。どして。結局MSのサイトを探しまくってダウンロードしました。

結果はまた。