You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何通过ITaskFolder接口注册任务时设置不存储密码?

解决任务计划注册时勾选“不存储密码”复选框的问题

要实现勾选“不存储密码。任务仅能访问本地计算机资源”复选框,核心是正确配置登录类型及相关权限,以下是关键操作步骤:

1. 明确登录类型的对应关系

你手动观察到的登录类型从Password变为S4U是正确方向——TASK_LOGON_S4U正是对应“不存储密码”的登录模式。出现访问被拒绝的错误,通常是两个原因导致:

  • 执行任务注册的账户缺少必要权限:需要确保该账户拥有SeAssignPrimaryTokenPrivilege和SeIncreaseQuotaPrivilege权限,或者直接以管理员身份运行你的C#应用。
  • 目标用户账户不支持S4U模式:S4U要求目标账户是域账户,或本地账户已完成适配此登录方式的配置。

2. 修改注册代码参数

使用TASK_LOGON_S4U时,不需要传入密码参数(因为该模式下不存储密码),调整后的代码示例如下:

folder.RegisterTaskDefinition(
    "task name", 
    task, 
    (int)_TASK_CREATION.TASK_CREATE_OR_UPDATE, 
    username, 
    null, // 密码参数设为null
    _TASK_LOGON_TYPE.TASK_LOGON_S4U, 
    null
);

3. 额外注意事项

  • 任务操作需仅限本地资源:S4U模式下任务无法访问网络资源,若任务包含网络相关操作会直接失败,这与复选框的限制逻辑一致。
  • 核对本地安全策略:确认“网络访问:不允许存储网络身份验证的密码和凭据”策略已启用,避免因策略冲突导致配置失效。

内容的提问来源于stack exchange,提问作者thomasrea0113

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 08:32:12