Export-Csv到不同的计算机会导致访问被拒绝错误

时间:2016-01-07 20:39:34

标签: powershell denied

在PowerShell中工作我需要将App Pool信息导出为CSV,然后将其导出到网络上的其他服务器。当我运行以下命令时:

Get-Website |
  select name, id, state, physicalpath,
         @{n="Bindings";e={($_.bindings | select -expa collection) -join ';'}} |
  Export-Csv -NoTypeInformation -Path \\prod-web5\e$\Hosted-1.csv

我收到以下错误:

Export-Csv : Access to the path '\\prod-web5\e$\Hosted-1.csv' is denied.
At line:3 char:11
+ Export-Csv <<<<  -NoTypeInformation -Path \\prod-web5\e$\Hosted-1.csv
+ CategoryInfo          : OpenError: (:) [Export-Csv], UnauthorizedAccessException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.ExportCsvCommand

我可以通过文件资源管理器访问路径我有权修改文件并写入目录但我收到此错误。从我做过的研究中,常见的解决方案没有解决问题,确保文件名有扩展等等。

我可以使用C:\ whatever它会写入C盘但我无法写入其他服务器。

我还查看了防病毒程序,因为我注意到它有时会干扰PowerShell。但是,在这种情况下,它不会影响它。

1 个答案:

答案 0 :(得分:2)

你去......

$stuff = Get-Website | select name, id, state, physicalpath, @{n="Bindings";e={($_.bindings | select -expa collection) -join ';'}} 
Invoke-Command -ComputerName "prod-web5" -ScriptBlock { param($stuff) $stuff | Export-Csv -NoTypeInformation -Path e:\Hosted-1.csv } -ArgumentList (,$stuff)

这解决了您关于只获得一行而不是所有来自here的所有行的问题。