New-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
}
New-PSDrive の行が爆撃され、次のエラーが表示されます: New-PSDrive : Drive root "\FileServer\shareName" does not exist or it's not a folder.
興味深い点は、New-PSDrive コマンドは対話的に実行すると機能しますが、PS スクリプトでは機能しないことです。
何か案は?