Export-Csv - 访问路径 'C:\export.csv' 被拒绝

Export-Csv - Access to the path 'C:\export.csv' is denied

我正在获取我需要的信息,但是当我导出信息时,出现错误。

当我运行这段代码时:

get-process | Export-csv -Path "C:\export.csv" -NoTypeInformation

我收到这个错误:

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
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

如何导出为 CSV?

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

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

C:\
C:\Windows
C:\Program Files
C:\Program Files (x86)
C:\Users

请注意,您可以更改 C:\Users\<YourUserName>,但不能更改 C:\Users 下的任何其他目录。 Windows 专为多个用户打造,即使您可能是唯一一个使用它的人。上述目录对所有用户都是通用的,更改其内容也会有效地改变其他用户的 Windows 环境,因为 windows 依赖于这些目录的完整性。允许普通用户 delete/modify/add 文件到这些可能会对 OS 和其他使用它的人造成危险的结果。

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

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

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

在我的例子中,错误发生是因为我没有指定文件名。正确的语法是;

Export-Csv -path ".\targetList.csv"

而不是 -path "."