これを行うC#プログラムがあります:
Directory.Exists(@"\\PcName\SomeDir");
そのパスにアクセスできる (存在する) かどうかを出力します。
Task Scheduler
これが問題です。 「ログイン時」トリガーを使用して、ログイン直後(自動ログインユーザー)からこのアプリを実行するとfalse
、そのパスにアクセスできますが、 が返されます。(アプリが起動する数秒前に、explorer.exe を使用してそのパスを開くことができます)。次のようにマークされています。
Run with highest privileges
手動で実行すると、タスクを右クリックして「実行」を選択しても問題なく実行されますTask Scheduler
。
「最上位の権限で実行」の選択を解除しても問題はありませんが、最上位の権限で実行する必要があります (レジストリやその他の多くのものにアクセスします)。
タスクスケジューラで手動または自動で実行すると、同じユーザーで実行されます-プロセスエクスプローラーを使用して確認しました
特定のマシン (Win8x64、パスワードなしの admin-privileges-user、自動ログイン、ワークグループ マシン、ドメインではない) では発生しますが、別のマシン (同じ: Win8x64、パスワードなしの admin-privileges-user、auto-ログイン、ワークグループ マシン、ドメインではありません)。
(タスク スケジューラで) タスクに 1 分の遅延を挿入
Thread.Sleep(TimeSpan.FromMinutes(1));
または入力しても、このパスは存在しないと表示されます