Mic*_*ele 1 windows-server-2008-r2 powershell-3.0
我们有2008 R2,我正在编写PowerShell脚本来将文件复制到网络共享.不幸的是,似乎映射驱动器存在PowerShell问题.它看起来像有人找到了一个解决办法POSS修复,但我不理解它,或者说我有比这个例子不同.有人有运气吗?我们的网络驱动器映射到我的电脑中,如下所示:
20xServerBackup (\\usa0xxxx.na.xxx.net)(Z:)
Run Code Online (Sandbox Code Playgroud)
我在我的脚本中尝试过一些东西,但这就是它现在的样子:
runas /user:administrator net use Y: "\\usa0xxxx.na.xxx.net"
$ToLocation = "Y:\VMs\name"
$FromLocation = "C:\backup\iceCreamCake.txt"
Copy-Item "$FromLocation" "$ToLocation"
Run Code Online (Sandbox Code Playgroud)
我在拷贝线上得到的错误是
复制项目:找不到驱动器.名称为"Y"的驱动器不存在.
我不确定在哪里可以找到我的powerShell版本,如果这有所不同.但是,我很确定我上周升级到3.0版以使用hyperV get-vm/start/stop vm功能.
听起来微软网站将此列为活动错误/问题,但听起来有人在此(stackoverflow)网站上有一个解决方法,链接上面,但我不确定为什么它不适合我.昨天我第一次映射驱动器时,我的脚本正在运行并将文件复制到网络共享.今天它不是,即使重启后也是如此.我尝试使用新名称重新映射驱动器,但它没有任何不同.我尝试在我的代码中使用Z驱动器而不是我在上面的脚本中创建的Y驱动器,并且它没有任何不同的工作方式.它仍然有相同的错误消息.
我也试过了
New-PSDrive -Name YY -PSProvider FileSystem -root "\\usa0xxxx.na.xxx.net"
Run Code Online (Sandbox Code Playgroud)
在powerShell命令行.我不确定我是否在该命令中完成了一切.它说这个错误
New-PSDrive:驱动器根"\ usa0xxxx.na.xxx.net"不存在或它不是文件夹.
问题是您需要在映射驱动器时指定文件夹.在您的代码示例(net use样本和New-PSDrive示例)中,您只需指定共享所在的计算机,而不是共享名称.我猜共享文件夹名称是"20xServerBackup",这意味着为了将psdrive映射到它,你应该这样做:
New-PSDrive -Name YY -PSProvider FileSystem -root "\\usa0xxxx.na.xxx.net\20xServerBackup"
Run Code Online (Sandbox Code Playgroud)
同样的道理net use.
但是,我确实同意@Bobort上面的评论,我可能会使用UNC路径而不是映射驱动器.做就是了:
Copy-Item "C:\backup\iceCreamCake.txt" "\\usa0xxxx.na.xxx.net\20xServerBackup\VMs\name"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9468 次 |
| 最近记录: |