托管服务账号配置计划任务-创新互联

背景

豆子需要设置一个计划任务然后用某个服务账号运行。传统的做法一般是创建一个服务账号,配置对应的权限,然后设定密码永不过期。这样的安全隐患是密码一直没改变。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 task
Register-ScheduledTask test -Action $A -Trigger $T -Principal $P -Description $D

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

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

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

6. 测试

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

实际的跑一下,1分钟之后我就收到邮件了, 成功
托管服务账号配置计划任务

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:托管服务账号配置计划任务-创新互联
标题URL:http://pwwzsj.com/article/jsjdg.html