网络驱动器从XP映射到7

时间:2014-10-17 05:09:57

标签: windows powershell vbscript windows-xp

我正在将多个用户从XP迁移到7,并且他们在当前的PC上都有不同的映射驱动器/位置。将所有数据从旧PC复制到新PC后,我目前正在手动映射其驱动器,这会消耗大量时间。有没有自动化这个过程?

有没有办法在现有的XP机器上运行脚本并在新的Win 7机器上运行相同的脚本来映射所有驱动器?

我正在寻找一个脚本或任何其他方法来自动执行此过程。

感谢。

2 个答案:

答案 0 :(得分:0)

您可以为所有用户执行此操作,它至少会告诉您他们拥有的内容。

你可能想要一个中央文件夹,让我们说Mappings,所以试试

净使用> \服务器\映象\%的用户名%_map.txt

或尝试这样的事情 http://www.visualbasicscript.com/List-mapped-drives-on-remote-machine-m28529.aspx

答案 1 :(得分:0)

出于无聊,我很快写了一篇PowerShell脚本来帮助你。

在您的工作站上运行: (newpcs和oldpcs必须按正确顺序排列,因此oldpc1是newpc1用户的旧PC)

$oldpcs=@("oldpc1", "oldpc2", "oldpc3")
$newpcs = @("newpc1", "newpc2", "newpc3")
$mapping = @{}

for($i=0;$i -lt $oldpcs.Count; $i++){

$mapping.add($oldpcs[$i], $newpcs[$i])

}

foreach ($comp in $oldpcs){

$m = Get-WmiObject win32_systemnetworkconnections -ComputerName $comp

$m | %{ 

#i know this is not very elegant but whatever
$temp = $_.partcomponent -split "="
$temp = $temp -replace "`"", ""
$temp2= $temp[1] -split " "
$driveletter = $temp2[1] -replace "\(", ""
$driveletter = $driveletter -replace "\)", ""
$path = $temp2[0] -replace "\\\\", "\"
$f = "C:\path\to\folder\" + $mapping.$comp + ".txt"

Add-Content $f "$driveletter;$path"
 }

}

然后将具有相应计算机名的文件传送到新计算机并运行以下命令:

$txt = Get-Content "C:\path\to\file\$env:computername.txt"
$txt | % {
$temp = $_ -split ";"
net use $temp[0] $temp[1]
}

请记住,您必须在要映射驱动器的用户的上下文中运行映射脚本

此致

P.S。远程映射网络驱动器是不可能的(我希望被证明是错误的)

您可以创建登录脚本并通过

将其映射到用户