新PSDrive以交互方式工作,但不在PowerShell脚本中
我正在尝试使用新的PSDrive装载共享,然后从中读取项目新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})) {
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脚本在从命令行运行时有效,但在作为服务器进程运行时无效。