質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.32%

  • Windows

    1541questions

    Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

  • Windows 10

    1026questions

    Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

  • PowerShell

    405questions

    Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

  • Windows 7

    386questions

    Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

  • コマンドプロンプト

    359questions

    コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

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

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,764

kurataku_ky

score 57

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

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


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

************以下更新************
現在は以下のような流れで実施するのが良いとTechNetで回答もらっているのですが、実際にどのようなコマンドになるのか教えて頂けていないのでコマンド例も回答頂けると助かります。

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


この流れとは別にこっちのほうがやりやすい!というのが有ればそちらを教えてください。宜しくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

スクリプトはエンドユーザの個々が実行することを前提としていますか?
それとも、移行作業を請け負った人が実行しますか?

後者であればドメイン管理者で実行すれば、それほど難しくないと思います。
前者の場合、ユーザ権限でも移行できないシステムファイル(desktop.iniとか)が存在します。
また、Windows7のプロファイル(今回でいうとデスクトップのみが対象になりそう)をそのままWindows10に移行して影響がないことを確認済みでしょうか?

ドメイン管理者で実行する、かつ影響がないことを確認済みであれば以下で可能だと思います。

1)移行元ドライブのマウント
移行先PCにドメイン管理者でログイン
コマンドプロンプトで以下を実行
net use "マウントドライブ" \\"移行元ホスト名 or IPアドレス\c:$

上記コマンドで移行元のCドライブが移行先の"マウントドライブ"にマウントされます。
マウントドライブは移行先で空いているドライブを指定してください。

2)移行元から移行先に対して電子コンテンツのコピー
robocopy "マウントドライブ"\Users\○○\Desktop\* C:\Users\○○\Desktop

他ディレクトリも同じように上記コマンドを実行する。
オプションは要件に照らし合わせて追加してください。

なお「○○」とあるユーザ名は「whoami」コマンドで取得したユーザ名を整形したものを組み込んであげると使いまわしが効くと思います。

3)移行元ドライブのアンマウント
net use "マウントドライブ" /delete

上記をスクリプト化すれば可能だと思います。
重要なのは、移行後も移行先のPCが利用できることだと思います。
スクリプトを作成の上、検証を行って本番に臨むべきと考えます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/15 11:45 編集

    丁寧に回答頂きありがとうございます。
    十分な検証をもって本番に進む予定です。

    net use "マウントドライブ" と記載頂きましたが、
    コピー元は共有フォルダ設定されていないのですが問題ないでしょうか。
    また、今回はエンドユーザの個々が新PCにて実行する形となります。

    教えて頂いた案だと厳しいでしょうか?

    キャンセル

  • 2017/03/15 12:05

    > コピー元は共有フォルダ設定されていないのですが問題ないでしょうか。
    Windows OS デフォルトでは、各ドライブは管理者権限共有としてドライブ名+$で共有されています。
    従って、この設定を無効にしてない場合は改めて共有設定をする必要はありません。

    しかし、以下だと実現難しいかもですね。
    > 今回はエンドユーザの個々が新PCにて実行する形となります。

    以下で管理者権限で接続する必要ありです。
    net use "マウントドライブ" \\"移行元ホスト名 or IPアドレス\c:$ "パスワード" /user:"ドメイン名"\administrator

    ただし、この方法だと、一時的に個々ユーザに管理者権限がキャッシュされてしまう恐れがあるのでお勧めできません。

    TechNetで教えてもらったという手順「New-PSSession」については、移行元ホストでリモート接続の有効化/制限解除するコマンドを実行しなくてはならないのですが、それは考慮していますか?
    http://mstn.hateblo.jp/entry/2016/09/13/193124

    キャンセル

  • 2017/03/15 13:02

    管理者権限をキャッシュで持たれてしまうのはいやですね・・・

    TechNetで教えてもらったという手順「New-PSSession」については、移行元ホストでリモート接続の有効化/制限解除するコマンドを実行しなくてはならないのですが・・・
     →GPOにて制御しようと考えております。

    キャンセル

  • 2017/03/15 15:31 編集

    ちなみにですが、エンドユーザ(Domain)はローカルAdministrator権限を持っています。

    キャンセル

  • 2017/03/15 15:51

    Over様に教えて頂いた方法で実施するとなると
    エンドユーザはローカルAdministratorを持っているので net useでつながると思うのですが
    whoami の整形はどのようにすればよいでしょうか

    キャンセル

  • 2017/03/15 16:11

    ローカルadminを持っているとは移行元ですか移行先ですか。それとも両方ですか?
    で、robocopyコマンドを使用するとなると移行元のディレクトリ、および移行先のディレクトリをコマンド内に表す必要があります。
    まず、Users以下に存在するドメインユーザのディレクトリが移行元と移行先でどのように表されているかを確認する必要があります。
    通常は、以下だと思います。
    "ユーザ名"."ドメインNetBIOS名"

    以下のようにワンワードで表されている場合もあります。
    "ユーザ名"

    ここら辺詳しくないので申し訳ございませんが、ローカル/ドメインで同名のアカウントがあった場合、ドメイン名が付与されるのでは?と思っています。

    まずは移行元と移行先のユーザディレクトリ名を確認してから、whoamiで取得した値を整形します。

    whoamiで取得できる形式は以下です。
    "ドメイン名"\"ユーザ名"

    上記の値をコマンドプロンプトで提供する整形方法で整形していきます。

    以下などわかりやすいのではないでしょうか。
    http://qiita.com/bokkuri_orz/items/155e441c0f3268df7a54

    キャンセル

  • 2017/03/15 16:54

    ワンワードで表示されています。
    整形する必要があると感じています。(URLありがとうございます。)
    また、旧新のPCにてローカル管理者権限を持っています。

    Over様がご教授くださったコマンドでの実施がよさそうですね。
    今回色々ご相談に乗って頂きありがとうございました。

    キャンセル

同じタグがついた質問を見る

  • Windows

    1541questions

    Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

  • Windows 10

    1026questions

    Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

  • PowerShell

    405questions

    Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

  • Windows 7

    386questions

    Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

  • コマンドプロンプト

    359questions

    コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。