使用组托管服务帐户 (gMSA) 执行计划任务

使用组托管服务帐户 (gMSA) 执行计划任务

早在 Windows Server 2008 R2 中,当独立托管服务帐户 (sMSA) 刚出现时,它们无法用于执行计划任务。然而,在 Windows Server 2012 中,有一种称为组托管服务帐户 (gMSA) 的新帐户类型。这种类型的帐户据称能够在 Windows Server 2012 林/域功能级别内的客户端和成员服务器上的任务计划程序中启动计划任务。

到目前为止,我已经:

  • 建立了 Windows Server 2012 林/域
  • 创建组托管服务帐户 (gMSA)
  • 在 Windows Server 2012 成员服务器上安装了 gMSA

目前我遇到的麻烦是:

  • 设置计划任务以使用 gMSA

当我尝试在计划任务上使用 gMSA 时,收到错误消息“找不到对象”(释义)。

我的问题是:如何配置使用组托管服务帐户 (gMSA) 执行的计划任务?

答案1

答案已在博客中发布: http://blogs.technet.com/b/askpfeplat/archive/2012/12/17/windows-server-2012-group-managed-service-accounts.aspx

博客现已存档于此处: https://web.archive.org/web/20130627015803/http://blogs.technet.com/b/askpfeplat/archive/2012/12/17/windows-server-2012-group-managed-service-accounts.aspx

简短版本是使用 Register-ScheduledTask PowerShell cmdlet 与其结合New-ScheduledTaskPrincipal -LogonType Password -UserID YourDomain\YourgMSA$

答案2

如果有人有适用于 Server 2016/2019 的此功能,我必须通过任务计划程序 GUI 执行以下操作进行设置:

  1. Change User or Group...对话框中,更改From this locationEntire Directory
  2. 设置Object Types只是 Service Accounts(此选项仅在域位置上才会出现)
  3. 用于Advanced查找 gMSA 帐户,或者只输入名称而不$输入域前缀

在此处输入图片描述

答案3

我喜欢@JasonStangroome 的回答,但我想让它更完整一些。

仅在工作日 14.00 运行的任务的完整命令以及任务计划程序中的任务描述。

$action = New-ScheduledTaskAction "C:\Applications\Service\Service.exe"
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday, Tuesday, Wednesday, Thursday, Friday -At 14:00
$principal = New-ScheduledTaskPrincipal -UserID domain\user$ -LogonType Password
Register-ScheduledTask Service -Description "Do service stuff" –Action $action –Trigger $trigger –Principal $principal

请注意,从现在起,此任务需要通过 Powershell 进行编辑,不能使用 GUI。还请记住,用户需要访问将要运行的应用程序。通常不会在 Windows 中搜索服务帐户,因此也需要像这样特别添加:

在此处输入图片描述

相关内容