千家信息网

托管服务账号配置计划任务

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,背景豆子需要设置一个计划任务然后用某个服务账号运行。传统的做法一般是创建一个服务账号,配置对应的权限,然后设定密码永不过期。这样的安全隐患是密码一直没改变。Windows 2008的时候微软推出了MS
千家信息网最后更新 2026年11月02日托管服务账号配置计划任务

背景

豆子需要设置一个计划任务然后用某个服务账号运行。传统的做法一般是创建一个服务账号,配置对应的权限,然后设定密码永不过期。这样的安全隐患是密码一直没改变。Windows 2008的时候微软推出了MSA(托管服务账号),本质是继承了计算机账户的特性,每次由计算机自动更换密码,这样完全不用管理人员的介入。但是当时MSA既不支持多台主机,也不支持计划任务,更别说第三方软件,所以实用性不大。Windows 2012以后,微软推出了新版本的gMSA,终于可以支持多台主机和计划任务了。gMSA每次改密码是由DC上面的KDS服务管理的,每次通过一个root key id,时间戳以及gMSA的SID通过某个复杂的算法生成一个随机的密码。注意这里的gMSA中的g代表的是group,也是说我们需要分配一个安全组给这个托管账户,安全组里面的所有计算机账户都可以去使用这个托管账户

具体操作

1. 创建一个KDS Root Key

注意!创建以后,需要等待10个小时让所有的DC同步

2.创建一个安全组,然后把需要管理的计算机加进去,重启对应的计算机

3. 创建gMSA账号

创建成功以后可以在Management Service Accounts这个容器下看见对应的账号

4. 安装gMSA到主机上

登录到对应的主机上面,执行下面的命令

基本的安装就完成了。下面就可以用这个gMSA账号来配置服务或者计划任务了

5. 配置计划任务

一个很恶心的地方是,图形界面不支持gMSA的配置。如果直接查找对应的账号,他会报错 说不存在

正确的方式是全程通过PowerShell实现

$F = "c:\scripts\syncErrornotification.ps1"#The first command uses the New-ScheduledTaskAction cmdlet to assign the action variable $A to the executable file tskmgr.exe$A = New-ScheduledTaskAction -Execute "C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" -Argument "-noexit -ExecutionPolicy Bypass -File $F"#The second command uses the New-ScheduledTaskTrigger cmdlet to assign the trigger variable $T to the value AtLogon$T = New-ScheduledTaskTrigger -daily -At 7am#The third command uses the New-ScheduledTaskSettingsSet cmdlet to assign the settings variable $S to a task settings object$S = New-ScheduledTaskSettingsSet -Compatibility Win8 -ExecutionTimeLimit 3600 -ThrottleLimit 2#The fourth command assigns the principal variable to the New-ScheduledTaskPrincipal of the scheduled task, domainname\gMSA_account$$P = New-ScheduledTaskPrincipal -UserId omnicom\svc-it$ -LogonType Password -RunLevel Highest#The fifth command sets the description varible to $D for the task definition$D = "Office365 Sync Errors"#Register the scheduled taskRegister-ScheduledTask test -Action $A -Trigger $T -Principal $P -Description $D

该主机上还需要授予执行脚本的权利,点开gpedit.msc, 添加对应logon as batch job的权限

如果需要其他权限,例如本地管理员或者域管理员等权限,请自行添加。

6. 测试

第5步脚本会创建下面的计划任务,但是这个界面你如果用UI是无法实现的

实际的跑一下,1分钟之后我就收到邮件了, 成功

账号 任务 服务 主机 密码 管理 配置 安全 权限 计算机 账户 支持 托管 面的 成功 多台 界面 管理员 脚本 微软 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网项目 北京互联网科技 互联网医疗科技 善班互联网科技有限公司 融势互联网科技 互联网科技英文翻译 互联网金融科技委员会 老年人脱离互联网科技的作文 富国互联网科技创新基金 互联网汽车科技小镇 剑昆互联网络科技有限公司临桂 重庆威客帮互联网科技 中化能源互联网科技招聘 互联网公司黑科技创始人 深圳无忧互联网科技 互联网科技股为什么大涨 普陀区互联网教育科技管理办法 中国新注册互联网科技 科技互联网专业务虚会材料 株洲百竞科技的互联网营销顾问 精品咖啡豆 新华互联网科技学校 广西互联网科技公司 济南华为互联网科技产业总部基地 互联网企业和科技型企业 中国航天科技大学国际工业互联网 移动互联网年度科技创新 乌鲁木齐新华智原互联网科技学校 美国互联网科技公司 互联网科技包装股份有限公司上市
0