将 gMSA 帐户部署为任务计划程序用户帐户

Deploy gMSA account as task scheduler user account

我正在尝试在 windows 2016 服务器上创建任务,并且需要将 gMSA 帐户部署为登录帐户,下面是我正在使用的脚本,我需要确保选项-" 运行 whether user is logged or not" 被选中,应该对下面的代码进行什么更改?

$action = New-ScheduledTaskAction -Execute "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Argument "NoProfile -ExecutionPolicy Unrestricted C:\Admin\Scripts\test.ps1 "
$trigger = New-ScheduledTaskTrigger -daily -At 5:05am
$Pri = New-ScheduledTaskPrincipal -UserId "Domain\gMSA" -LogonType ServiceAccount -RunLevel Highest
$task = New-ScheduledTask -Action $action -Trigger $trigger 
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "Taskname" -Principal $Pric 

这是与 SO 主题和答案/接受的答案类似的请求。

Set a Scheduled Task to run when user isn't logged in 但由于您使用的是 gMSA,您永远不会知道该密码是什么。

所以,你可以正常创建任务,然后说这个...

schtasks /change /TN \YourTaskName /RU DOMAIN\gMSA_Name$ /RP

或者在纯 PowerShell 中,您再次设置计划任务,然后执行此操作...

New-ScheduledTaskPrincipal -UserID Domain\GMServiceAccount$ -LogonType Password

查看上面的详细信息:

Active Directory - Scheduled Tasks Using a gMSA