【问题标题】:Using a mapped drive in powershell not working在 powershell 中使用映射驱动器不起作用
【发布时间】:2014-02-11 19:55:19
【问题描述】:

我们有 2008 R2,我正在编写一个 PowerShell 脚本来将文件复制到网络共享。不幸的是,映射驱动器似乎存在 PowerShell 问题。看起来有人找到了解决方法poss fix,但我不理解它,或者我拥有的东西与这个例子不同。有没有人有这方面的运气?我们的网络驱动器在我的电脑中映射如下:

20xServerBackup (\\usa0xxxx.na.xxx.net)(Z:)

我在我的脚本中尝试了一些东西,但现在是这样的:

runas /user:administrator net use Y: "\\usa0xxxx.na.xxx.net"

$ToLocation = "Y:\VMs\name"

$FromLocation = "C:\backup\iceCreamCake.txt"

Copy-Item "$FromLocation" "$ToLocation"

我在复制行遇到的错误是

复制项目:找不到驱动器。名称为“Y”的驱动器不会 存在。

我不确定在哪里可以找到我拥有的 powerShell 版本,如果这会有所不同的话。但是,我很确定我上周升级到 3.0 版以使用 hyperV get-vm/start/stop vm 功能。

听起来 Microsoft 网站将此列为活动错误/问题,但听起来有人在此(stackoverflow)网站上找到了解决方法,上面的链接,但我不确定为什么它不适合我。当我昨天第一次映射驱动器时,我的脚本正在运行并将文件复制到网络共享。今天它不是,即使在重新启动后。我尝试用新名称重新映射驱动器,但它没有任何不同。我尝试在我的代码中使用 Z 驱动器,而不是我在上面的脚本中创建的 Y 驱动器,它的工作方式没有任何不同。它仍然有相同的错误消息。

我也试过了

New-PSDrive -Name YY -PSProvider FileSystem -root "\\usa0xxxx.na.xxx.net"

在 powerShell 命令行中。我不确定我在该命令中是否正确。它说这个错误

New-PSDrive: 驱动器根“\usa0xxxx.na.xxx.net”不存在或它 不是文件夹。

【问题讨论】:

  • 为什么要使用映射驱动器?你可以使用UNC路径吗?为什么使用映射驱动器很重要?我问是因为我真的很想了解为什么有人更喜欢在 UNC 路径上使用映射驱动器。
  • 你能澄清一下UNC路径吗?我们没有得到我们试图复制到的网络共享的 IP 地址,以防这就是您的意思。你有例子吗?
  • 哦,我的意思是带有两个反斜杠“\\”的路径。所以也许是这样的:Copy-Item "C:\backup\iceCreamCake.txt" "\\usa0xxxx.na.xxx.net\VMs\name".
  • 我在 PowerShell 命令行中输入,错误是“找不到网络名称。”
  • 我可以从myComputer打开映射的网络目录,这样就可以访问了。

标签: windows-server-2008-r2 powershell-3.0


【解决方案1】:

问题是您在映射驱动器时需要指定一个文件夹。在您的代码示例(net use 示例和 New-PSDrive 示例)中,您只指定共享所在的计算机,而不是共享名称。我猜共享文件夹名称是“20xServerBackup”,这意味着要将 psdrive 映射到它,您应该这样做:

New-PSDrive -Name YY -PSProvider FileSystem -root "\\usa0xxxx.na.xxx.net\20xServerBackup"

net use 也是如此。

不过,我同意@Bobort 的上述评论,即我可能会使用 UNC 路径而不是映射驱动器。就这样吧:

Copy-Item "C:\backup\iceCreamCake.txt" "\\usa0xxxx.na.xxx.net\20xServerBackup\VMs\name"

【讨论】:

  • 我很快就会试一试,但现在我们决定把这部分推迟到三月份。谢谢!
  • 成功了!我没有使用 Y 或 Z,而是使用了“\\usa0xxxx.na.xxx.net\20xServerBackup\VMs\”。好主意!
  • 您可以使用 UNC 路径,除非您映射驱动器的原因是由于 MAXPATH 问题而缩短路径。使用 subst 来缩短本地路径也是如此。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多