新PSDrive以交互方式工作,但不在PowerShell脚本中

新PSDrive以交互方式工作,但不在PowerShell脚本中,powershell,cruisecontrol.net,Powershell,Cruisecontrol.net,我正在尝试使用新的PSDrive装载共享,然后从中读取项目 function NRLFind ([object[]]$Releases) { $relvols = @{} New-PSDrive -Name NRL -PSProvider FileSystem -Root "\\FileServer\shareName" foreach ($dir in $(Get-Item NRL:\* | where {$_.PsIsContainer})) {

我正在尝试使用新的PSDrive装载共享,然后从中读取项目

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
}
它位于新的PSDrive行上,错误为:New PSDrive:Drive root“\FileServer\shareName”不存在或不是文件夹

有趣的是,新的PSDrive命令在以交互方式运行时有效,但在PS脚本中无效


有什么想法吗?

确保运行脚本的用户具有访问共享的权限。

我找到了另一个难题。我正在CruiseControl.net CI服务器进程中使用此PS脚本。PS脚本在从命令行运行时有效,但在作为服务器进程运行时无效。