Export-Csv - 拒绝访问路径“C:\export.csv”

Dus*_*uss 3 powershell export access-denied export-to-excel export-csv

我正在获取我需要的信息,尽管在导出信息时出现错误。

当我运行此代码时:

get-process | Export-csv -Path "C:\export.csv" -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Export-csv : Access to the path 'C:\export.csv' is denied.
At line:1 char:14
+ get-process | Export-csv -Path "C:\export.csv" -NoTypeInformation
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

如何导出为 CSV?

Sal*_*qui 6

就我而言,发生错误是因为我未能指定文件名。正确的语法是;

Export-Csv -path ".\targetList.csv"
Run Code Online (Sandbox Code Playgroud)

而不是-路径“。”


Sid*_*Sid 5

您需要使用管理控制台或将 csv 文件的位置更改为C:\temp或其他内容。主驱动器需要管理员权限。

powershell 默认与管理员

编辑:提升要求仅适用于系统目录,例如:

C:\
C:\Windows
C:\Program Files
C:\Program Files (x86)
C:\Users
Run Code Online (Sandbox Code Playgroud)

请注意,您可以更改C:\Users\<YourUserName>但不能更改C:\Users. Windows 是为多个用户构建的,即使您可能是唯一使用它的用户。上述目录对所有用户都是通用的,更改其内容也会有效地改变其他用户的 Windows 环境,因为 Windows 依赖于这些目录的完整性。允许普通用户删除/修改/添加文件到这些可能会给操作系统和其他使用它的人带来危险的结果。

因此它试图确保只有管理员用户有权对其进行更改。这也是安装软件时提示您输入管理员权限的相同原因。它安装到C:\Program FilesC:\Program Files (x86),对注册表进行更改,并可供该计算机的所有用户使用。删除它也一样。如果程序不需要这样做,则不需要管理员权限。例如:便携式软件。有些程序只使用用户目录或用户temp目录C:\Users\<Username>\AppData\Local\Temp。此类程序仅对安装它的用户可用。

如果您有像 的自定义目录C:\myGames,则向其中添加文件不需要提升。所以C:\Temp就是这样只是一个目录。您还会注意到,C:\普通用户可以创建文件夹而不是文件。

总结:影响其他用户目录或 Windows 环境的任何更改都需要管理员权限。其他人没有。