2014-02-11 124 views
1

我們有2008 R2,並且正在編寫一個PowerShell腳本來將文件複製到網絡共享中。不幸的是,似乎映射驅動器存在PowerShell問題。它看起來像有人找到了解決方法poss fix,但我不理解它,或者我有一個不同於這個例子。有沒有人有這樣的運氣?我們的網絡驅動器在我的電腦這樣映射:在powershell中使用映射驅動器不起作用

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" 

我得到的錯誤副本行是

Copy-Item:找不到驅動器。名稱爲'Y'的驅動器不存在 。

我不確定在哪裏可以找到我擁有的PowerShell版本,如果這樣做有所幫助。但是,我敢肯定,我上週已升級到3.0版,以使用hyperV get-vm/start/stop vm功能。

這聽起來像微軟網站列出這是一個積極的錯誤/問題,但它聽起來像有人在這個(stackoverflow)網站,上面的鏈接解決方法,但我不知道爲什麼它不適合我。當我第一次映射驅動器時,我的腳本正在運行並將文件複製到網絡共享。今天它不是,即使在重新啓動之後。我嘗試用一​​個新名稱重新映射驅動器,它沒有任何不同。我試過在我的代碼中使用Z驅動器而不是Y驅動器,因爲我在上面的腳本中創建了它,並且它沒有任何不同。它仍然有相同的錯誤信息。

我還試圖

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

在powershell命令行。我不確定我是否在該命令中掌握了一切。它說,這個錯誤

新PSDrive來:驅動器根目錄「\ usa0xxxx.na.xxx.net」不存在或 是不是一個文件夾。

+1

爲什麼使用映射驅動器?你可以使用UNC路徑嗎?爲什麼使用映射驅動器很重要?我問,因爲我真的想了解爲什麼有人更喜歡使用UNC路徑上的映射驅動器。 – Bobort

+0

你能澄清UNC路徑嗎?我們沒有給出我們試圖複製到的網絡共享的IP地址,萬一這就是您的意思。你有一個例子嗎? – Michele

+1

哦,我的意思是兩條斜線「\\」的路徑。所以可能是這樣的:'Copy-Item「C:\ backup \ iceCreamCake.txt」「\\ usa0xxxx.na.xxx.net \ VMs \ name」'。 – Bobort

回答

6

問題是,當您映射驅動器時,您需要指定一個文件夾。在代碼示例中(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" 
+0

我會馬上試一試,但現在我們決定放下這部分,直到3月份。謝謝! – Michele

+0

它的工作!我使用「\\ usa0xxxx.na.xxx.net \ 20xServerBackup \ VMs」代替Y或Z。非常好的主意! – Michele

+0

您可以使用UNC路徑,除非您映射驅動器的原因是由於MAXPATH問題而縮短了路徑。使用subst也可以縮短本地路徑。 –