2012-07-17 45 views
0

我正在嘗試使用New-PSDrive來裝載共享,然後從中讀取項目。New-PSDrive交互式工作,但不能在PowerShell腳本中

function NRLFind ([object[]]$Releases) { 
    $relvols = @{} 

    New-PSDrive -Name NRL -PSProvider FileSystem -Root "\\FileServer\shareName" 
    foreach ($dir in $(Get-Item NRL:\* | where {$_.PsIsContainer})) { 
     foreach($release in $Releases) { 
      if ($d = get-item $($dir.FullName + '\' + $release.glob) -ErrorAction:SilentlyContinue) { 
       if(! $relvols[$release.name] -or $relvols[$release.name].LastWriteTime -lt $d.LastWriteTime) { 
       $relvols[$release.name] = $d 
       } 
      } 
     } 
    } 
    $relvols 
} 

這是轟炸上運行New-PSDrive來行,用錯誤:新-PSDrive來:驅動器根目錄「\文件服務器\共享名」不存在,或者它不是一個文件夾。

有趣的部分是New-PSDrive命令在交互式運行時工作,但不在PS腳本中。

任何想法?

+0

我發現了另一塊拼圖。我在我們的CruiseControl.net CI服務器進程中使用這個PS腳本。 PS腳本在從命令行運行時起作用,但在作爲服務器進程運行時不起作用。 – 2012-07-17 22:35:12

回答

0

確保運行腳本的用戶有權訪問共享。

相關問題