locked
Windows2000のローカルユーザー情報をWindows2008のローカルユーザーに移行したいのですが可能でしょうか? RRS feed

  • 質問

  • こんにちは

    Windows2000のローカルユーザー(ドメイン参加していない)のパスワードやグループ情報などの情報をそのまま
    Windows2008のローカルユーザーとして移行したいのですが、何か良い方法をご存じ方がいらっしゃいましたら
    ご教授願いたいです。

    最悪ActiveDirectoryを使ってドメイン経由での移行方法も検討しているのですが、
    出来れば・・極力ドメインは立ちあげたくなく、本当にスタンドアローンのファイルサーバーで使いたいのです。

    上記のドメインを使わないでユーザー情報が移行できたとして、
    データをrobocopyでコピーしようと思うのですが、
    ファイルやディレクトリのセキュリティ情報もきれいに移行できますでしょうか?

    ドメインありきの移行方法の情報は割と見つかるのですが
    ローカルアカウントの移行の情報は皆無でして、何卒お力添えください。

    ご教授よろしくお願いいたします。
    2009年6月12日 8:52

回答

  • チャブーンです。

    まず、Windowsのアカウントでパスワードのエクスポートは、Active Directoryでもローカルアカウントでもできません(唯一の例外はADMTを使ったドメイン間の移行です)。ですからこの時点で「ローカルアカウントとパスワードをそっくり簡単に移す」こと自体がムリです。

    一番簡単な移行方法は、このファイルサーバを「Windows Server 2008にインプレースアップグレードする」ことになります。こうすれば、SAMファイル(セキュリティデータベース)や各ディレクトリのアクセス許可はそのままで、移行できるはずです。サーバのスペック上、移行がツライ/あるいはできない、というケースは十分あり得ますが。

    そうでない場合、サーバからパスワード以外の情報をエクスポートして、Windows Server 2008 サーバにインポートする方法があるでしょう。Addusers.exeというツール(Windows 2000 Server リソースキット)を使うか、ADSI(WinNTプロバイダ)を使うことになると思います。

    また共有フォルダ自体の移行も容易ではありません。(どんなコピーツールを使うにしても)コピー時に既存のアクセス許可を含めて移行することができた場合、SIDのみでの登録となり、そのままでは使えません。そのため、subinacl.exeという、SIDベースのアクセス許可を新しいアクセス許可に付け替えるツールで変換が必要です。これは面倒な方法なので、アクセス許可のことは考えずにコピーだけを行い(ディレクトリ関係はそのままコピーできます)、xcaclsコマンド等で既存サーバ側のアクセス許可をファイルに出力→新しいサーバに使えるよう設定を手動で変換しつつバッチを作成→xcaclsコマンドで再度設定する、といった方法もあるでしょう。

    なお、「共有フォルダ自体の情報」はHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Shares レジストリにあり、サーバ間でのネットワークコピーはできません。レジストリの内容を確認して、問題なければレジストリのエクスポート=インポートする、という方法がありますが、共有レベルのアクセス許可を手動で調べて net share コマンドを実行した方が、早いし間違いがありません。

    というように、インプレースアップグレード以外の方法ならば、ご自分で「バッチ等で作り込むこと」が前提となるので、「どこにも書いていない」ということになるのでしょう。

    • 回答としてマーク 服部清次 2009年7月2日 9:09
    2009年6月15日 3:16

すべての返信

  • チャブーンです。

    まず、Windowsのアカウントでパスワードのエクスポートは、Active Directoryでもローカルアカウントでもできません(唯一の例外はADMTを使ったドメイン間の移行です)。ですからこの時点で「ローカルアカウントとパスワードをそっくり簡単に移す」こと自体がムリです。

    一番簡単な移行方法は、このファイルサーバを「Windows Server 2008にインプレースアップグレードする」ことになります。こうすれば、SAMファイル(セキュリティデータベース)や各ディレクトリのアクセス許可はそのままで、移行できるはずです。サーバのスペック上、移行がツライ/あるいはできない、というケースは十分あり得ますが。

    そうでない場合、サーバからパスワード以外の情報をエクスポートして、Windows Server 2008 サーバにインポートする方法があるでしょう。Addusers.exeというツール(Windows 2000 Server リソースキット)を使うか、ADSI(WinNTプロバイダ)を使うことになると思います。

    また共有フォルダ自体の移行も容易ではありません。(どんなコピーツールを使うにしても)コピー時に既存のアクセス許可を含めて移行することができた場合、SIDのみでの登録となり、そのままでは使えません。そのため、subinacl.exeという、SIDベースのアクセス許可を新しいアクセス許可に付け替えるツールで変換が必要です。これは面倒な方法なので、アクセス許可のことは考えずにコピーだけを行い(ディレクトリ関係はそのままコピーできます)、xcaclsコマンド等で既存サーバ側のアクセス許可をファイルに出力→新しいサーバに使えるよう設定を手動で変換しつつバッチを作成→xcaclsコマンドで再度設定する、といった方法もあるでしょう。

    なお、「共有フォルダ自体の情報」はHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Shares レジストリにあり、サーバ間でのネットワークコピーはできません。レジストリの内容を確認して、問題なければレジストリのエクスポート=インポートする、という方法がありますが、共有レベルのアクセス許可を手動で調べて net share コマンドを実行した方が、早いし間違いがありません。

    というように、インプレースアップグレード以外の方法ならば、ご自分で「バッチ等で作り込むこと」が前提となるので、「どこにも書いていない」ということになるのでしょう。

    • 回答としてマーク 服部清次 2009年7月2日 9:09
    2009年6月15日 3:16
  • チャブーンさん、いつもありがとうございます。

    ・パスワードも含めてそのままアカウント情報を移行するのはADMT以外では無理。
    ・共有フォルダのアクセス許可の移行も一筋縄では出来ない。

    xcacls subinacl については全くの無知でした。調べてみます。

    マシンのリプレースが主目的ですので、

    新マシーンにWindows2000をインストールし、バックアップでファイル・システム状態を移行、
    最後にインプレースアップグレードといった方法も可能か調べてみます。

    共有フォルダは後から手動で設定することにした方がよさそうですね。

    なんとなく方向性が見えてきたような・・・・ドメイン化も含めて調査・検討します。

    ありがとうございました。
    2009年6月15日 4:00
  • Govanni さん、

    こんにちは!
    フォーラム オペレーターの服部 清次です。

    今回、チャブーン さんが投稿してくださった情報が参考になったのではないかと思いましたので、勝手ながら私の方で [回答としてマーク] のチェックを付けさせていただきました。
    Govanni さんと同じ疑問を持たれた方がいらっしゃった場合、ぜひこちらの情報を参照していただきたいと思いますので!
    もし Govanni さんが調査された結果、何か分かったことなどがありましたら、ぜひ共有していただけると嬉しいです。 (^^)

    また何か困ったことなどがありましたら、ドシドシ TechNet フォーラムに投稿してください。
    これからも、よろしくお願いします。
    それでは、また! (^_^)/


    __________________________________________________
    マイクロソフト株式会社 フォーラム オペレーター 服部 清次

    2009年7月2日 9:17