2011-01-20 264 views
3

我想通過PowerShell自動執行我的許多日常任務。我們擁有的一個過程是在幾個小時後對桌面進行成像。完成此操作後,需要將圖像文件從服務器硬盤驅動器移至網絡驅動器。我正在編寫一個應用程序作爲服務在我的機器上運行,它將調用powershell腳本並將所有內容都敲出來,只有在出現問題時才提醒我。在網絡共享上移動文件

我在服務器上爲腳本設置了一個目錄。

copy-item C:\scripts\myFile1.txt -destination C:\scripts\myFile2.txt 

然而,在我的.net應用程序中,我調用腳本從我的本地機器:

RunScript(LoadScript(@"\\Server\ServerShare\FileCopy.ps1")); 

隱而不宣」如果我把我的腳本,FileCopy.ps1,從服務器,它工作正常工作。這是因爲它將C:\ scripts視爲在本地計算機上。所以,我改變它:

copy-item \\Server\ServerShare\myFile1.txt -destination \\Server\ServerShare\myFile2.txt 

不起作用。我添加另一條線路的腳本:

copy-item \\Server\ServerShare\myFile1.txt -destination \\Server\ServerShare\myFile2.txt 
get-childitem \\Server\ServerShare | format-table name 

它仍然不會複製該文件,但它確實返回服務器上的腳本目錄的內容。

於是我回到服務器,並與地方的UNC路徑運行腳本 - PowerShell會返回一個錯誤

Copy-Item : Access to the path '\\Server\ServerPath\myFile2.txt' is denied. 

這似乎是問題的根源。任何想法如何解決這個問題?我以管理員身份登錄到服務器。

回答

9

以管理員身份運行腳本與網絡共享IIRC無關。默認的共享權限只允許讀取。這些燙髮需要更新以允許寫入共享。

僅供參考如果您使用net share在Windows 7上創建共享,則需要使用/grant:<users>,CHANGE將這些權限授予給用戶。

+0

這是權限!謝謝基思! – deweycooter 2011-01-21 15:52:11

2

我在Server 2003 R2上。管理員在「安全」選項卡下具有完全訪問權限,但是我轉到了共享選項卡,權限,並且「每個人」都設置爲「讀取」權限。我將管理員和自己添加爲完全控制,現在生活很好!

相關問題