我有一个计划在Windows任务计划程序中执行的C#控制台。当我尝试从调度程序运行它时,该计划给出了以下错误:
此操作需要一个交互式窗口站。
我注意到这个应用程序使用了app.manifest,以便它可以进行以下调用:
function initDataWatch() {
$scope.$watch(function () {
return exceptionDataService.reportData();
}, function (newValue) {
viewModel.dataRecords = newValue.records || [];
viewModel.gridOptions = {
dataSource: new kendo.data.DataSource({
data: viewModel.dataRecords,
pageSize: 15,
sort: { field: "dateCreated", dir: "asc" }
}),
pageable: {
pageSizes: [15, 50, 100],
pageSize: 15,
input: true
},
height: 575,
columns: viewModel.columns,
columnMenu: true,
reorderable: true,
filterable: true,
resizable: true,
sortable: true,
groupable: true,
navigatable: true
};
}, true);
}
如果我将app.manifest取出,那么它将从任务调度程序启动。
如果我将app.manifest留在并通过点击应用程序运行它,它会正常启动。 (但不是来自任务调度程序)
答案 0 :(得分:2)
找到与此错误相关的内容,希望有所帮助。
Windows要求任务以交互模式运行的原因是因为假设在运行任务本身之前显示提示的提示,这要归功于UAC。这也是仅在将计划任务配置为使用非内置管理员帐户运行时才会发生错误的原因,默认情况下,内置管理员帐户配置了静默UAC策略。
要将静默UAC策略启用到非内置管理员帐户(管理员组中的管理员以外的帐户),请打开计划任务的“属性”页面,然后选中“使用最高权限运行”复选框。这将导致任务以管理员身份的高架a.k.a执行。案件结案。