同じドメインネットワーク内のPC2台によるファイルの受け渡し (PC入替によるデータ移行)
- 評価
- クリップ 1
- VIEW 5,625
現在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ページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
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が利用できることだと思います。
スクリプトを作成の上、検証を行って本番に臨むべきと考えます。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.35%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
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 編集
2017/03/15 15:51
エンドユーザはローカルAdministratorを持っているので net useでつながると思うのですが
whoami の整形はどのようにすればよいでしょうか
2017/03/15 16:11
で、robocopyコマンドを使用するとなると移行元のディレクトリ、および移行先のディレクトリをコマンド内に表す必要があります。
まず、Users以下に存在するドメインユーザのディレクトリが移行元と移行先でどのように表されているかを確認する必要があります。
通常は、以下だと思います。
"ユーザ名"."ドメインNetBIOS名"
以下のようにワンワードで表されている場合もあります。
"ユーザ名"
ここら辺詳しくないので申し訳ございませんが、ローカル/ドメインで同名のアカウントがあった場合、ドメイン名が付与されるのでは?と思っています。
まずは移行元と移行先のユーザディレクトリ名を確認してから、whoamiで取得した値を整形します。
whoamiで取得できる形式は以下です。
"ドメイン名"\"ユーザ名"
上記の値をコマンドプロンプトで提供する整形方法で整形していきます。
以下などわかりやすいのではないでしょうか。
http://qiita.com/bokkuri_orz/items/155e441c0f3268df7a54
2017/03/15 16:54
整形する必要があると感じています。(URLありがとうございます。)
また、旧新のPCにてローカル管理者権限を持っています。
Over様がご教授くださったコマンドでの実施がよさそうですね。
今回色々ご相談に乗って頂きありがとうございました。