0

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 スクリプトでは機能しないことです。

何か案は?

4

1 に答える 1

0

スクリプトを実行するユーザーが共有にアクセスする権限を持っていることを確認してください。

于 2012-07-18T06:48:45.937 に答える