1

弊社はサーバー移行の真っ最中です。私が遭遇したちょっとした問題について助けが必要です。

最初に。または、既存のドメインが「マイ ドキュメント」などにフォルダ リダイレクトを使用しています。元の設定は、ユーザーのホーム フォルダに対して行われました。(例: \server1\users\%username%*.* )

すべてをまったく新しいドメインに移行しています。使用アカウントは、移行されたのではなく、最初から作成されました。すべてのユーザー ドキュメントを関連するフォルダーに移動する必要があります。ユーザー名は同じですが、場所が異なります (例: \server2\users\%username%\My Documents*.* )。基本的に、ドキュメントを格納するために、ホーム フォルダー内にフォルダーを作成しました。これは主に、Windows 7 で表示される「マイ ドキュメント」全体のラベル付けと、Mac システムでフォルダーを簡単に区別できる方法によるものです。

そのため、RichCopy を使用して、各ユーザーのソースと宛先が一致しなかったため、ファイルを手動でプッシュするようになりました。説明する特定の変数を持つようにする方法はありますか。

理論上: \server1\users\%username%\ は \server2\users\%username%\My Documents\ に移動します

この変数は、ユーザー名を検索して照合し、\users\ 内のすべてのフォルダーに対して自動的にプッシュします。

任意のタイプの GUI インターフェイス プログラム、または少し操作できる PowerShell スクリプトでさえ、非常に役立ちます。ユーザーごとに手動でこれを行うとは思えません。約 1000 人のユーザーがいます。

事前に助けていただければ幸いです。

これまでのところ、Powershell を使用して Robocopy を実行し、このアクションを実行してきました。powershell に csv からユーザー名を取得させ、それを robocopy 文字列に入力させようとしています。これが私のコードです:

    $usernames = import-csv c:\scripts\usernames.csv


 foreach($user in $username)

   {

    $field1 = $user.username


   Echo "$field1"

   }

$source = "\\server03\Staff-MyDocs\$user"
$destination = "\\server3\users$\Staff\$user\My Documents\"

robocopy $source $destination /S /E /COPY:DATSOU /R:1 /W:5 >C:\scripts\HomeDir_robocopy.log

これを機能させるためのより良いアイデアはありますか??

4

1 に答える 1

1

あなたの説明によると、これはうまくいくはずです:

$csv = 'C:\scripts\usernames.csv'
$log = 'C:\scripts\HomeDir_robocopy.log'

Import-Csv $csv | % { $_.username } | % {
  $src = "\\server1\Users\$_"
  $dst = "\\server2\Users\$_\My Documents\"

  robocopy "$src" "$dst" /e /copyall /r:1 /w:5 /log+:"$log"
}
于 2013-08-02T23:58:00.417 に答える