PowerShell の Export-CSV でパスへのアクセスが拒否される

Windows 11 または Windows 10 クライアント マシン、またはドメインの Windows Server で Export-CSV コマンドレットを使用して PowerShell スクリプトまたはコマンドを実行しようとすると、「パスへのアクセスが拒否されました」という出力が表示される場合があります。この投稿では、その問題に対する適用可能な修正を提供します。

エラーのスニペットは、指定された構文とパラメーターに応じて、次のような出力と類似したものになります。

Export-csv : パス「C:\export.csv」へのアクセスが拒否されました。
行:1 文字:14
+ get-process | Export-csv -Path “C:\export.csv” -NoTypeInformation

このエラーは、主に次の理由で発生する可能性が最も高いです。

  • 管理者権限なしで PowerShell を実行している。
  • パスに余分なスペース、前方ダッシュ、またはそこにあってはならない他のものがある可能性のある、スクリプトのコードまたは構文が正しくない。
  • PowerShell コマンドのスペルミス。

PowerShell の Export-CSV でパスへのアクセスが拒否される

Windows クライアントまたはサーバー マシンで PowerShell の Export-CSV コマンドレットを実行したときに「パスへのアクセスが拒否されました」というエラー出力が表示された場合、特に順番は指定しませんが、以下に示す簡単な修正を適用して問題を解決し、コマンドを意図したとおりに実行できます。

  1. PowerShell の昇格されたコンソールで Export-CSV コマンドを実行する
  2. Export-CSV ファイル/フォルダーの場所を変更する
  3. Export-CSV ファイルに名前を付ける

これらの修正を詳しく見てみましょう。マシンの Windows PowerShell スクリプトの実行が有効になっていることを確認してください。

1] PowerShell の昇格されたコンソールで Export-CSV コマンドを実行する

上のリードイン画像からわかるように、管理者特権なしで PowerShell でコマンドを実行すると、Export-CSV のパスへのアクセスが拒否されましたというエラーが表示されます。そのため、これが自分に当てはまらないことを確認してください。当てはまらない場合は、次の提案に進みます。当てはまる場合は、昇格モードで PowerShell または Windows ターミナルを開き、コマンドを実行します。コマンドにスペルミスがなく、コードまたは構文が正しいことを確認してください。たとえば、パスに余分なスペース、前方ダッシュ、または構文に存在してはならない文字がないか確認して削除します。

2] Export-CSV ファイル/フォルダーの場所を変更する

この修正では、エクスポート先をスクリプトが存在する同じフォルダーに指定する必要があります。これは、上記で説明したように、Export-CSV で管理者特権または昇格された PowerShell コンソールを必要とすることから構築されています。昇格の要件は、次のようなシステム ディレクトリでのみであることを指摘することが重要です。

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

上記ディレクトリはすべてのユーザーに標準であり、その内容を変更すると、Windows は複数のユーザー用に構築されているため (1 人のユーザーのみが設定される場合でも)、他のユーザーの Windows 環境も効果的に変更されます。Windows はこれらのディレクトリの整合性に依存しています。そのため、これらのディレクトリに変更または修正を加えると、OS のパフォーマンスに重大な影響を与える可能性があり、他のユーザーに影響を与える可能性があります。

つまり、カスタム ディレクトリがある場合、そこにファイルを追加するために昇格する必要はありません。C:\Tempディレクトリは、そのような別のディレクトリです。要約すると、他のユーザー ディレクトリまたは Windows 環境に影響を与える変更には管理者権限が必要ですが、それ以外の変更には必要ありません。

3] Export-CSV ファイルに名前を付ける

この修正では、次のスクリプトを実行しようとしてエラーが発生すると仮定します。

Get-AzureADApplication -all true | Export-CSV -path F:\ADpp

この場合、問題を解決するには、CSV ファイルに次のように名前を付ける必要があります。

Export-CSV -Path "F:\ADpp\2022-12-05_AzureADApps.csv" -NoTypeInformation

この投稿が参考になれば幸いです!

PowerShell を使用して Active Directory ユーザーを CSV ファイルにエクスポートするにはどうすればよいですか?

PowerShell を使用して Active Directory ユーザーを CSV にエクスポートするには、次の手順が必要です。

  1. Get-ADUser PowerShell コマンド。
  2. CSV にエクスポートするコマンド。
  3. 特定のユーザー属性をエクスポートします。

PowerShell を使用して Active Directory にユーザーを一括インポートするには、次の手順が必要です。

  1. ユーザーのデータを特徴とする CSV ファイルを作成します。
  2. Active Directory で一括ユーザーを作成するためのコマンドを使用して PowerShell スクリプトを変更します。
  3. スクリプトを実行します。

制限なしで PowerShell スクリプトを実行するにはどうすればよいですか?

必要なパラメーターがなく、出力を返さないスクリプトを実行する場合は、実行ポリシーを変更する必要はありません。代わりに、次のコマンドを使用して制限をバイパスできます。

PowerShell.exe -File "FILENAME" -ExecutionPolicy Bypass

PowerShell スクリプトのブロックを解除するには、単一ファイルには最初のコマンドを実行し、複数のファイルには以下の 2 番目のコマンドを実行できます。

Unblock-File -Path C:\Users\User01\Documents\Downloads\NameOfPowershellScript
dir C:\Downloads\*PowerShell* | Unblock-File