我们公司正处于服务器转型的中间。我遇到一些问题需要一些帮助。
首先关闭。或者现有域使用文件夹重定向作为其“我的文档”等。原始设置已完成到用户主文件夹。 (例如\ server1 \ users \%username%*。*)
我们正在将所有内容迁移到一个全新的域。使用帐户是从sratch而不是迁移创建的。我们确实需要将所有用户文档移动到关联的文件夹中。用户名相同但位置不同(例如\ server2 \ users \%username%\ My Documents *。*)基本上我们在其主文件夹中创建了一个文件夹来存放他们的文档。这主要是因为使用Windows 7显示的整个“我的文档”标签以及在Mac系统上区分文件夹的简便方法。
所以我开始使用RichCopy手动推送文件,输入每个用户的源和目标,因为它们不匹配。有没有人有办法让它有一个特定的变量来解释。
理论上: \ server1的\用户\%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
任何更好的想法让这个工作?
答案 0 :(得分: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"
}