none
ドメインネットワーク内のPC2台によるファイルの受け渡し (PC入替によるデータ移行)

    質問

  • 現在PCの入替(Windows7 → Windows10)を考えております。
    Windows7からWindows10へ以下ディレクトリのファイルをbat or PowerShellにてコピーしたいと考えております。

    ******対象ディレクトリ******
    C:\Users\〇〇\Desktop
    C:\Users\〇〇\Downloads
    C:\Users\〇〇\Documents
    *************************

    今回対象のディレクトリは共有設定されておりません。
    Windows7→Windows10へ移行後もドメインにログインするユーザは同じ物を利用します。
    新旧のマシンは同時に同じネットワークに接続しております。
    新旧のマシンは同じドメインに参加しており同じドメインユーザでサインイン可能です。
    また、コピー元/コピー先ディレクトリの[C:\Users\〇〇]の〇〇は同じユーザ名です。
    コマンドやPowerShellの実行は、新マシンにサインインしユーザが実行することが前提です。
    新旧のマシンについてユーザ権限は変更可能なので今回のコマンドやPowerShellの要件に合わせたいと思っています。
    新マシンから旧マシンへファイルを取りに行く流れが望ましいです。
    また、bat or PowerShell実行時に入力受付するのはできるだけ少なくしたいと考えております。
    コマンドにて共有設定やネットワークドライブに追加する等の処理が発生するのは構いません。(ただし処理後に削除)
    難しい内容だとは思いますが、解決案(コマンドの提示)して頂けると大変たすかります。

    宜しくお願い致します。





    • 編集済み yuzutea 2017年3月15日 0:09
    2017年3月14日 6:59

回答

  • チャブーンです。

    この件ですが、原則的に「ユーザーが自分の権限でクライアントからファイルを取り出す」というシナリオ自体が、移行モデルにあっていないと思います。移行は非定型の管理作業であり、管理者が行ったほうが簡単に実施できます。

    一番簡単な方法ですが、古くからある「Windows管理共有」を使えばいいと思います。移行先クライアントに同じユーザで最低1度はログオンしておきます(プロファイルを作成しておくため)。

    • クライアントのWindows Firewall設定を一時的に無効にする(GPOとかを使えばいいと思いますが)
    • ドメイン管理者で移行先クライアントにログオンし、xcopy \\<移行元クライアント>\C$\Users\〇〇\Desktop C:\Users\〇〇\Desktop /e /s /o的なコマンドで一括コピーする(システムファイル(iniとか)を上書きしないようにすること)
    • 同じことをDownload/Documentsについても行う

    うえのキモは「ユーザが利用中のファイルだけ」をコピーすること(レジストリやiniファイルはコピーしない)と、コピーするファイルのアクセス許可や所有権もそのままコピーする、ということになるかと思います。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。


    2017年3月15日 2:55

すべての返信

  • 新旧のマシンが同時に同じネットワークに接続し、同じドメインに参加している(新旧マシンとも同じドメインユーザーでサインイン可能)という前提の話でしょうか?

    またコマンドや PowerShell で作業を実施するユーザーは新旧いずれかのマシンにサインインすることを前提にしているのか、すべてリモートで作業するのか、いずれでしょう。さらに作業するユーザーの作業対象コンピューターでの権限は何でしょう。

    もう少し前提となる条件がはっきりしないと、適切なアドバイスはあまりできないように感じます。


    hebikuzure

    2017年3月14日 12:22
  • 閲覧並びにコメントありがとうございます。
    前提条件を付けくわえさせていただきます。

    ・新旧のマシンは同時に同じネットワークに接続しております。
    ・同じドメインに参加しており、同じドメインユーザでサインイン可能です。
     また、コピー元/先ディレクトリの[C:\Users\〇〇]の〇〇は同じユーザ名です。
    ・コマンドやPowerShellの実行は、新マシンにサインインしユーザが実行することが前提となります。
    ・新旧のマシンについてユーザの権限は変更可能なので今回のコマンドやPowerShellの要件に合わせたいと思っています。
    ・新マシンから旧マシンへファイルを取りに行く流れが望ましいです。(ファイルサーバ経由ではなく)

    他にも必要となる前提条件がありましたら教えてください。

    2017年3月14日 22:53
  • 旧PC(Win7)では、PowerShellリモートが有効になっていますか?

    旧PC上で管理者権限でEnable-PSRemotingコマンドを実行すれば、同一ドメイン内PC上の同一ユーザーからのアクセスであれば、問題なくリモート接続できるようになると思います。

    流れとしては、

    ①旧PCへのリモートセッションを作成。(New-PSSession)

    ②リモートセッション上で、net shareコマンドで共有フォルダを作成する。(Invoke-Command)

    ③旧PCのネットワークパスを指定して、新PCにファイルコピー。(Copy-Item)

    ④リモートセッション上で、net share /deleteして共有フォルダを解除する。(Invoke-Command)

    のようなスクリプトを作成し、新PC上で実行することになると思います。

    Win7は共有フォルダを作るPowerShellコマンドがないですし、PowerShellリモートセッション経由でのファイルコピーもできませんので、色々と面倒ですが、上記の方法だと素のWin7の機能だけで実現するんじゃないかと思います。

    以上の方向で検討してみてください。

    2017年3月15日 2:00
    モデレータ
  • ご回答ありがとうございます。
    頂いた内容で検討させていただきます。

    PowerShellリモートが無効になっている場合、GPOで有効化することは可能ですか?
    設定案教えて頂けると助かります。

    また他にも方法があれば教えて頂きたいです。

    2017年3月15日 2:10
  • yuzutea さま よろしく。

    本筋ではないので、読み飛ばして下さい。

    Desktop とありましたので。

    ご存知かと思いますが、個々の Desktop は ユーザー固有部分と共通部分から構成されます。最初に、共通部分(Users\Public\Desktop) を処理される事をお勧めします。

    更に、OS を跨ぐ為、アイコンが無い場所をリンクする場合があります。 例:付箋へのアイコン。

    序ながら、Documents には 隠しフォルダで Pictures や Music  等への Junction もありますので、注意が必要です。

    • 編集済み ShiroYuki_Mot 2017年3月15日 7:47 h junction の件を追記
    2017年3月15日 2:34
  • 管理用テンプレート\Windows コンポーネント\Windows リモート管理 (WinRM)\WinRM サービスの「WinRM によるリモート サーバー管理を許可する」が該当します。

    ただ、Enable-PSRemotingコマンドはWinRMの有効化のほか、必要なポートに対しファイアウォールの除外設定も自動でやってくれるので、可能ならばコマンド実行をしたほうが良いかと思います。(ファイアウォールの設定もGPOで可能ですが…)

    他の方法は、ちょっとすぐには思いつかないです。が、いずれにしても、ご提示の状況を見ていると、何らかのリモートアクセスの口を用意しないと難しいように思います。

    2017年3月15日 2:34
    モデレータ
  • GPOについてご回答いただきありがとうございます。
    提示いただいた内容で検討してみたいと思います。

    PowerShellについてあまり知識が無く各コマンドをどのように組み込めばいいのかよくわかっていません。
    もし可能でしたらスクリプト例を記載頂けるととても助かります。

    2017年3月15日 2:48
  • チャブーンです。

    この件ですが、原則的に「ユーザーが自分の権限でクライアントからファイルを取り出す」というシナリオ自体が、移行モデルにあっていないと思います。移行は非定型の管理作業であり、管理者が行ったほうが簡単に実施できます。

    一番簡単な方法ですが、古くからある「Windows管理共有」を使えばいいと思います。移行先クライアントに同じユーザで最低1度はログオンしておきます(プロファイルを作成しておくため)。

    • クライアントのWindows Firewall設定を一時的に無効にする(GPOとかを使えばいいと思いますが)
    • ドメイン管理者で移行先クライアントにログオンし、xcopy \\<移行元クライアント>\C$\Users\〇〇\Desktop C:\Users\〇〇\Desktop /e /s /o的なコマンドで一括コピーする(システムファイル(iniとか)を上書きしないようにすること)
    • 同じことをDownload/Documentsについても行う

    うえのキモは「ユーザが利用中のファイルだけ」をコピーすること(レジストリやiniファイルはコピーしない)と、コピーするファイルのアクセス許可や所有権もそのままコピーする、ということになるかと思います。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。


    2017年3月15日 2:55
  • チャプーン様 ご教授ありがとうございます。

    今回のケースではユーザが自分の権限で旧PCから新PCへファイルを取り出す ことが目的なので
    牟田口大介 様がご教授くださっている方法を検討したいと考えております。

    ①旧PCへのリモートセッションを作成。(New-PSSession)
    ②リモートセッション上で、net shareコマンドで共有フォルダを作成する。(Invoke-Command)
    ③旧PCのネットワークパスを指定して、新PCにファイルコピー。(Copy-Item)
    ④リモートセッション上で、net share /deleteして共有フォルダを解除する。(Invoke-Command)

    上記を実現するためのコマンド例を教えて頂けると助かります。
    宜しくお願い致します。

    ※注意点について再度一読させて頂きました。ありがとうございます。

    2017年3月15日 4:30
  • チャブーンです。

    素朴なコメントですが、「New-PSSession」や「Net Share」コマンドを実行するには、少なくともローカルの管理者権限が必要です。普通、一般ユーザーにはローカルの管理者権限を与えていないでしょうから(与えた場合PC設定変更やソフトをインストールし放題できますので)、皆さんのどのコメントも実現不可能かと思います。

    「ユーザーアカウント権限でなければならない」理由はいったいなんでしょうか?

    もし、何が何でもユーザーにやらせないといけない!というのでしたら、仕方がないので、移行元コンピュータの「ローカル管理者権限」つまりローカルAdministratorsグループのメンバーにドメインユーザを追加して、「移行元コンピュータの管理者アカウント相当になる」ようにしておけば、管理者アカウント相当としてどの手順もできるようになるでしょう。ローカル管理者権限はドメインの管理権限とは別ですので、セキュリティ的な影響はありません。

    移行元コンピュータのローカルAdministratorsグループのメンバーにドメインアカウント(ここではまとめて「Domain Users」グループを追加するといいと思います)は「制限されたグループ」というGPOを使うことで、一括適用できます。

    http://mctjp.com/2011/08/01/%E5%88%B6%E9%99%90%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AE%E5%88%B6%E5%BE%A1%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6/

    追記:移行元コンピュータにローカル管理者権限でアクセスできれば、Windows管理共有を使う手順も、実施可能という認識です。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。



    2017年3月15日 5:42
  • 返答ありがとうございます。
    現在エンドユーザは、ローカル管理者権限を持っている状況となります。

    一番簡単にできる方法で実施できる方法を採用したいと考えております、
    2017年3月15日 6:44
  • チャブーンです。

    なるほど、「一番簡単にできる方法」は人により見解が違うと思います。

    私であればドメイン管理者で行うと思うのですが、おっしゃるとおり「移行元コンピュータにローカル管理者権限がある」ユーザで実施するのであれば、私の回答にある方法も使えると思います。(ドメイン管理者を利用ユーザに読み替えます)

    私個人としては、条件を満たせば「自分が提示した内容」が一番簡単、ということでご紹介しておりますので、あとは質問者さんのほうでご判断いただくことになる、と思っています。

    私の回答としては、追加で申し上げる点はとくにない、ということになる認識です。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。


    2017年3月15日 6:52
  • こんにちは、yuzutea さん
    フォーラムオペレータの立花楓です。

    本件につきましては、内容的にフォーラムでの回答を得るのは難しいかもしれません。
    お客様の環境を考慮した詳細な調査が実施できる有償サポートをご利用いただくことをご検討いただければとおもいます。

    フォーラムはあくまでご利用いただいているユーザー同士の情報交換で成り立っているため、必ずお求めになる情報が集まるというわけではないことをご認識いただいた上でご利用いただければと思います。

    フォーラムでご質問頂くにあたっての注意点
    https://social.technet.microsoft.com/Forums/ja-JP/ca9ecfb7-4407-4fcb-b8bd-207d68257e68?forum=announceja

    よろしくお願いいたします。


    MSDN/TechNet Community Support 立花楓

    2017年3月15日 7:07
    モデレータ