使用Microsoft.Win32.TaskScheduler创建任务计划程序可参考本人之前的一篇文章:https://www.cnblogs.com/log9527blog/p/17329755.html
最新发现个别账户使用Microsoft.Win32.TaskScheduler创建任务计划程序报错:System.ArgumentException: (12,21):UserId: Account
- 一种情况是账户名过长(有可能日语空格字节数太多导致)
- 反编译TaskService.RootFolder.RegisterTaskDefinition方法,因为账户原因,所以定位账户入参的去向
再反编译User的构造函数,发现报错的账户最终会执行NTAccount.Translate
所以把这段逻辑拿出来,传入账户名,发现抛异常了,查询微软官方文档
IdentityNotMappedException(身份未映射异常)是指当一个用户的身份在系统中无法被映射为一个有效的标识时,抛出的异常。这通常发生在以下情况下:
- 用户的账户已被删除或禁用;
- 用户没有被授权访问某个资源或执行某个操作;
- 用户的标识信息(如用户名或密码)不正确;
- 该用户的身份在系统中没有被配置。
解决此问题的方法包括检查用户的帐户状态,确保用户有权访问所需资源,验证用户的标识信息是否正确,并确保该用户的身份在系统中正确地配置。
但是对比另一个账户除了名称,没有任何区别,所以怀疑是该账户名与系统的一个域名相同导致,具体原因有大佬知道了麻烦告知
标签:Account,TaskScheduler,账户,用户,Win32,报错,Microsoft From: https://www.cnblogs.com/log9527blog/p/17637047.html