1. ホーム
  2. powershell

[解決済み] Export-Csv - パス 'C:\export.csv' へのアクセスは拒否されました。

2022-02-09 13:01:07

質問

必要な情報はLINEで取得できているのですが、情報をエクスポートしようとするとエラーになります。

このコードを実行すると

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 などがあります。ホームドライブは管理者権限が必要です。

EDIT 昇格要件は、システムディレクトリのようなものだけです。

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

を変更することができることに注意してください。 C:\Users\<YourUserName> の下にある他のディレクトリは含まれません。 C:\Users . Windowsは、たとえあなただけが使っていても、複数のユーザーを想定して作られています。上記のディレクトリはすべてのユーザーにとって共通のものであり、その内容を変更すると、Windowsはこれらのディレクトリの整合性に依存しているため、他のユーザーのWindows環境も事実上変更することになります。通常のユーザーがこれらのディレクトリのファイルを削除/変更/追加することを許可すると、OSやそれを使用する他の人々に危険な結果をもたらす可能性があります。

そのため、管理者でなければ変更できないように工夫されています。ソフトウェアのインストール時に管理者権限を求めるプロンプトが表示されるのも同じ理由です。インストール先は C:\Program Files または C:\Program Files (x86) は、レジストリに変更を加え、そのコンピュータのすべてのユーザーが利用できるようにします。削除する場合も同じです。そのようなことをする必要がないプログラムであれば、管理者権限は必要ありません。例:携帯用ソフトウエア。プログラムによっては、ユーザーディレクトリまたはユーザー temp ディレクトリ C:\Users\<Username>\AppData\Local\Temp . このようなプログラムは、それをインストールしたユーザーだけが利用できます。

のようなカスタムディレクトリを作成した場合 C:\myGames ファイルを追加する際に昇格は必要ありません。そのため C:\Temp は、そのような別のディレクトリに過ぎません。また、次のことにもお気づきでしょう。 C:\ は、通常のユーザーにはフォルダを作成させますが、ファイルを作成させません。

概要:他のユーザーディレクトリやWindows環境に影響を与えるような変更には、管理者権限が必要です。その他は必要ありません。