2010年4月28日水曜日

Active DirectoryオブジェクトのCNを変更する

ADSIを使用してActive Directoryオブジェクトの様々なプロパティの変更などを行うことは可能だが、renameというコマンドはサポートされていないので名前の変更は行えない。
一つ一つの変更はGUIベースの管理ツールで行えばよいが、大量に変更を行う場合はちと大変。
方法として発見したのは2つ。

1. ADSIでMovehereメソッドを使用する。
Movehereメソッドを使うとActive Directory内部でオブジェクトの移動を行うことができるが、この時に新たな名前を指定して同じ場所に移動することで事実上名前の変更を行うことができる。

Hey, Scripting Guy! でサンプルのページを見つけたのでリンクしておく。
サンプルはグループのCNを変更しているが、ほかのオブジェクトでもやりかたは同じ。


2. dsmoveコマンドを使用する。
Windows 2003以降で使用できるらしい。
ディレクトリの中で指定されたオブジェクトを移動、または名前の変更をするためのコマンド。
コマンド単体で必要な作業が実行できるので1.の方法よりは簡単かも。

dsmove <オブジェクト識別名> -newname <新しい名前>

例. test.comドメインの"Users" OUにある"鈴木 一郎"のCNを”Suzuki, Ichiro”に変更したい。

dsmove "CN=鈴木 一郎,OU=Users,DC=test,DC=com" -newname "Suzuki\, Ichiro"

識別名に空白を含む場合は""(ダブルクォーテーション)で括る必要あり。
識別名にカンマを使用する場合はエスケープ文字として円記号をカンマの前に入力する必要あり。

ITProのコマンドの紹介ページはこちら


*注意事項
CNを変更してもdisplayName(表示名)は変更されない。
両方変更が必要な場合は注意すること。
ADSIでやろうとする場合は先にdisplayNameを変更してからMovehereメソッドで名前の変更(移動)をするのが良いと思う。
逆の順番だとCNを変更したら再度そのオブジェクトに新しいCNを指定してバインドし、それからdisplayNameを変更する必要があるので面倒かと。

2010年4月27日火曜日

WinPE コマンド その1 シャットダウンする

Windows Server 2008 R2などのOSイメージを取得するにあたりWindows PE(以下WinPE)を使用してみることにした。本当はSymantec Ghostを使いたいところだけれど、諸事情により現在は使用できないので。

WinPEはコマンドベースなのでWindowsのGUIに慣れた人には使いづらい。
ということでこまめに記録を残しておくことにする。

とりあえずシャットダウン方法。
exit と入力したら再起動するんだもの。

シャットダウンする場合は
wpeutil shutdown
と実行する必要ありです。


2010年4月26日月曜日

備忘録

ついさっきまで"備忘録"ではなく、"忘備録"だと思ってました...。
そりゃIMEも変換してくれないよね。


恥ずかしい。

2010年4月23日金曜日

SharePoint上のドキュメントを開こうとするとIEが落ちる

どうも社内のSharePoint Portal Serverに保存されたWordドキュメントを参照しようとするとIEが落ちる。
ということでGoogle先生に訊いてみたら、以下のようなことがあるらしい。

You cannot create a new document or check out an existing document in a Windows SharePoint Services 3.0 document library when you have multiple versions of Office installed
  • Office 2003がインストールされている
  • 1つ以上Office 2007のプログラムがインストールされている
  • Office 2003の修復、もしくはアップデートをインストールした
という条件を満たす場合、Windows SharePoint Services 3.0もしくはSharePoint Server 2007のドキュメントをIE6またはIE7で開こうとするとIEがクラッシュするというもの。

自分の場合は、
  • Office 2003がインストールされている
  • Project 2007がインストールされている
  • Office 2003まわりの修正プログラムは最近当てたような...
  • IE8を使用している
  • アクセスしているSharePoint Serverのバージョンは2003
ということで若干KBの内容とは違うが、症状が同じような感じなので、KBに載っていた修正プログラムのインストールを実施。

2007 Office の修正プログラム パッケージ: 2007 年 6 月 17 日

以後は問題なくアクセスできるようになった。

早く最新バージョンで揃えたい...

ARCserveでW3073エラー

ローカルのAdministratorのパスワードを変更したらバックアップ時にエラーが。

W3073 The System Account credentials are invalid or have expired. Please reconfigure the credentials using Server Admin.

まあ、当然ですよね。
ヘルプちゃんと読めって感じだ...。

ARCserve12の場合、Quick Start→Server Adminをクリックし、サーバー名を右クリックして"CA ARCserve Backup System Account"を選択。
ユーザー情報を正しく入力してOKを押す。これで完了。
このときARCserveの各サービスの再起動が行われるのでバックアップ中にはやっちゃダメ。

CAのサイトにも製品は古いけど同じようなW3073エラーに関する技術情報あり。

パスワード変更はきちんと確認してからやりましょう。
ほんとはサービスアカウントはドメインユーザーにしたほうがいいんだろうね。

2010年4月21日水曜日

VLOOKUP関数

Excelを使い始めて10年以上経つというのに、本日初めてVLOOKUP関数を使用した...。

便利ですねこれ。

All Aboutのサイトに説明が載っていたのでリンクを載せておく。
Excelのヘルプよりわかりやすい。

2010年4月15日木曜日

admtコマンドがエラーにより動作しない

ADMTはコマンドプロンプトからも操作でき、大量のアカウント、グループなどを移行する場合はオプションファイル、インクルードファイルを事前に記述しておくことで作業を簡易化できる。

ためしにコマンドラインからグループの移行を試してみようとしたところGUIベースのツールだとうまくいく作業がなぜか"データベースにログインできない"といったメッセージが表示されて実行できなかった。
どうやらWindowsのユーザーアカウント制御(UAC)を無効にしてやる必要があるらしい。


こちらのサイトを参考にUACを無効にしたところコマンドが動作するようになった。
(ただし今度はオプションファイルの記述方法に間違いがありハマリ中)

2010年4月13日火曜日

ローカライズされたWindows Server 2008上でのnetdomコマンドの不具合

異なるWindowsドメイン同士を信頼関係で結びADMTなどを使用してアカウントの移行を行った場合、SID履歴も一緒に移行していれば移行先ドメインのユーザーで移行元ドメインのリソースに継続してアクセスすることが可能になる。

ただしドメイン間の信頼関係を構築した場合デフォルトではSIDフィルターが有効になり、上述のアクセスはできなくなる。
移行先からSID履歴を使用して移行元にアクセスしたい場合は信頼関係上のSIDフィルターを無効にする必要がある。

信頼関係上のSIDフィルターを無効にするにはNetdom trustコマンドを使用して行うが、ローカライズされたWindows Server 2008にはいくつかのNetdomコマンドがうまく動かないという不具合があるらしい...。

具体的には、Netdom trustコマンドでオプションを/quarantine:Noにして実行しても何も起こらず、いつまでたってもSIDフィルターが有効のままであった。

これをKBにあるとおり最初に Chcp 437 として英語モードに切り替えたところ、あっさりとうまくいった。(これで数時間ハマった...)


2010年4月8日木曜日

LDIFDEによるAD情報のエクスポート/インポート

今更ながらLDIFDEの使い方。

必要になったのですよ。

AD内に日本語を使用したオブジェクトがある場合は-uオプションでUnicodeを使用するよう設定する必要あり。

2010年4月5日月曜日

VMware vCenter Converter その2

前回発見したVMware vCenter Converter
物理的なマシン上で稼働しているOSを仮想OSとして吸い出す機能があるということで試してみた。
これも簡単で、ウィザードから移行元のマシンを"Powered-on machine"にし、管理者権限を持つユーザー情報を入力すればよいだけ。
WindowsだけでなくLinux(Red Hat, SUSE, Ubuntu)まで吸いだせるらしい。
ためしに実行してみたWindows Server 2003のマシンでは15~20分で簡単に仮想OSを作成できた。(当然ディスク容量によって時間は異なる)

タスクを実行すると作業用にサービスが移行元マシンにインストールされるらしく、Windows Server 2003の場合は再起動なしで作業が可能だが、Windows 2000の場合はこの準備のために一度再起動が必要のようだ。

サーバーOSの場合各メーカーによってハードウェアの監視モジュールなどのツールがインストールされているが、これらハードウェアと密接に連携しているツールが仮想OSに吸い出したときどうなるかが少し不安。
動かないだけならまだしも、最悪の場合はOSが起動しなくなることもあるだろう。

うまく活用できればハードウェアの保守も切れているマシンで稼働している旧OSを救ってやることもできるかもしれない。
(ただしESXiではサポート面が不安だけど)

2010年4月2日金曜日

VMware vCenter Converter

あるVMware製品上で動作していたらしい仮想OSのファイルを受け取り、社内のESXiで動作させようとしたところ、起動はしたものの色々いじった後でスナップショットを取得したら以下のようなエラーを吐いて起動しなくなってしまった...。

Failed to open '/path/myvm/myvm.vmdk': Broken Pipe

調べたところ、VMwareには色々な製品群があるが、これらの間で仮想マシンを移動したい場合ファイルのコンバートが必要になるらしい。例えばVMware Workstationで動作していた仮想OSをVMware ESXiに移動したい場合など。

ということで早速VMwareのサイトからVMware vCenter Converterというソフトウェアをダウンロードしてみた。
インストール後ウィザードに従って仮想OSイメージの変換を行ったところ、無事ESXiサーバー上で動作する仮想OSとして変換された。

VMware vCenter Converterはその他にも物理的なマシンをを仮想OSに変換することもできるようなので、使いこなせば便利かも。継続調査。

WSUSサーバーにクライアントが表示されない

クライアントの設定は正しく社内のWSUSサーバーを向くよう設定されているのに、いくら待っても一部のクライアントが管理画面に表示されないことがある。
いくつかの原因が考えられるようだが、MSXML3.0に不具合があった場合にも起きることがあるらしい。

■確認方法
1. 問題の発生しているマシンにて、%windir%\WindowsUpdate.logを開く
2. 以下のようなエラーコードが出ていないか確認する。
Agent * WARNING: Exit code = 0x80244001
0x80244001の場合、MSXML3.0の不具合である場合があるらしい。

■解決方法
regsvr32を使用してMSXML3.0のDLLを再登録する、もしくはMSXML3.0自体の再インストールを行うことで解決するようだ。

詳しい方法や、その他の原因などは以下のリンクから。