我有一个执行此操作的 C# 程序:
Directory.Exists(@"\\PcName\SomeDir");
并打印该路径是否可访问(存在)。
这就是问题所在:我Task Scheduler
在登录后(自动登录用户)使用“登录时”触发器通过右侧运行此应用程序,它返回false
,尽管该路径是可访问的!(在我的应用程序启动前几秒钟,我设法使用 explorer.exe 打开了该路径)。它被标记为:
Run with highest privileges
如果我手动运行它,它运行正常,即使我右键单击任务并通过Task Scheduler
!
如果我取消选择“以最高权限运行”,则没有问题,但必须以最高权限运行(访问注册表和其他很多东西)
如果我通过任务计划程序手动或自动运行它,它将在同一用户下运行 - 我确保使用 Process Explorer
它发生在某些机器上(Win8x64,没有密码的管理员权限用户,自动登录,工作组机器,不是域),但不在其他机器上(相同:Win8x64,没有密码的管理员权限用户,自动登录)登录,工作组机器,而不是域)。
即使我在任务中插入
Thread.Sleep(TimeSpan.FromMinutes(1));
或输入 1 分钟延迟(在任务计划程序中)它仍然说这条路径不存在