PowerShell で c:\ ディスクに書き込めません

PowerShell で c:\ ディスクに書き込めません

他のユーザーから s:\ ディスクにファイルを作成するスケジュールされたタスクを作成しようとしています。オペレーター ユーザーはディスクにアクセスできませんが、保存ユーザーは s:\ ディスクの読み取りと書き込みが可能です。スクリプトを書いてスケジュールされたタスクを作成しましたが、機能しませんでした。要約すると、オペレーター ユーザーでスケジュールされたタスクを作成し、s:\ ディスクにファイルを作成するスクリプトを実行します。機能していないことに気付いた後、問題をステップに分解してみました。まず、オペレーター ユーザーで PowerShell スクリプトを実行してみました。スクリプトは次のとおりです。

ここに画像の説明を入力してください

そこで、C:\ ディスクにファイルを作成しようとしましたが、うまくいきませんでした。すべてのディレクトリを C:\Users\operator\Documents に変更してみると、うまくいきました。Windows PowerShell ISE を管理者として開いてスクリプトを実行すると、ディレクトリが C:\ のときに問題なく動作します。

私の質問は次のとおりです:

  • C:\Users\operator\Documents ではファイルを作成できるのに、C:\ では作成できないのはなぜですか?
  • オペレーターがすでに管理者である場合、これを機能させるにはなぜ管理者として実行する必要があるのですか?
  • スケジュールされたタスクが動作しない理由は、c:\ に書き込めない理由と同じですか?

答え1

Windows をインストールすると、C:\ の場所の所有者は TrustedInstaller になるため、フォルダーに書き込むには管理者権限が必要です。フォルダーを作成する権限はありますが、ファイルを書き込むには管理者権限が必要です。これを手動で修正することはできますが、お勧めしません。代わりに、C のルートにフォルダーを作成し、それを使用することをお勧めします。

関連情報