3

Windows タスク スケジューラをラップする David Hall の TaskScheduler Nuget パッケージのバージョン 2.5.20 を使用する次のコードがあります。特定のフォルダーからすべてのタスクを取得しようとしていますが、この質問については、次のコードを見てみましょう。

using (TaskService ts = new TaskService(_ServerName, _TaskSchedulerUsername, _DomainName, _TaskSchedulerPassword)) {
    var folder = ts.GetFolder(TASK_FOLDER_NAME);
}

およびは_TaskSchedulerUsername_TaskSchedulerPassword管理者権限を持つ有効なローカル アカウントです。これらの資格情報を使用して Windows タスク スケジューラを開き、テストとしてタスクを手動で作成しましたが、問題なく実行できました。

_ServerName_DomainName同じ、ローカル マシンです。

このコードはそのままの状態で動作していましたが、現在、テスト サーバー (Windows サーバー 2003 を実行している) で問題なく実行されています。また、実稼働の Windows 2012 Server ボックスでも実行されます。私の開発ボックス (Windows 10 を実行) でUnauthorizedAccessException、新しい TaskService インスタンスをインスタンス化しようとすると、次のようになります。

Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

スタック トレースはあまり役に立ちません。

at Microsoft.Win32.TaskScheduler.V2Interop.TaskSchedulerClass.Connect(Object serverName, Object user, Object domain, Object password)
at Microsoft.Win32.TaskScheduler.TaskService.Connect()
at Microsoft.Win32.TaskScheduler.TaskService.EndInit()
at Microsoft.Win32.TaskScheduler.TaskService..ctor(String targetServer, String userName, String accountDomain, String password, Boolean forceV1)
at Test.TaskSchedulerServices.GetTaskSchedules() in C:\Projects\LE\dev\Test\Shared\Services\TaskSchedulerServices.svc.cs:line 54

これが私の開発ボックスで実行されない理由と、それに対して何をすべきかについてのアイデアはありますか?

4

1 に答える 1