1

如何使用 gMSA 帐户启动 PowerShell。我右键单击 PowerShell 图标,以其他用户身份运行,然后输入 domain\msa$ 而不输入密码。它错误地指出凭据不正确。

我已经在机器上安装了服务帐户并运行 Test-ADServiceAccount 返回 true。我已授予它“作为服务登录”和“作为批处理作业登录”权限(我真的不认为这是必要的,但无论如何尝试过,但没有成功)。

有任何想法吗?

4

1 回答 1

1

使用 gMSA 设置运行 PS 脚本的任务有多种方法,这是我个人所做的,因为我发现它很容易做到。

  1. 首先,您需要开发 .ps1 以使用您的用户或具有下载文件权限的服务帐户从 FS 下载文件。
  2. 脚本经过测试并正确运行后,使用您在步骤 1 中使用的用户或服务帐户设置和测试计划任务。事先配置所有触发器/额外配置是个好主意,因为一旦更新计划任务,您就可以t 修改它而不再次执行所有过程。
  3. 一旦计划任务完全正常运行并设置了所有触发器,您就可以继续使用 gMSA 而不是您的用户或服务帐户来更新任务。我个人使用这个:
$taskName="My Scheduled Task Name"
$gMSAName=(Get-ADServiceAccount gMSA_Name).sAMAccountName #Or hardcode your gMSA Name with a $ at the end
$Level="Highest" #Limited, etc
$principal=New-ScheduledTaskPrincipal -UserID $gmsaName -LogonType Password -RunLevel $runLevel

Set-ScheduledTask -TaskName $taskName -Principal $principal 

运行此程序后,如果一切正常,一旦您重新打开任务计划程序并搜索您的任务,您应该会在此处看到 gMSA 的名称: task_sched

请记住,一旦您更新任务,如果您需要稍后对其进行编辑,任务调度程序将强制您使用不同的用户,并且必须重复通过 PS 更新任务的整个过程。

考虑到:

  • gMSA 需要与您或您的服务帐户对文件共享的相同权限才能读取/修改/等。
  • 运行任务的服务器必须是 gMSA 的关联安全组的成员: (Get-ADServiceAccount gMSA_Name -Properties PrincipalsAllowedToRetrieveManagedPassword).PrincipalsAllowedToRetrieveManagedPassword 这是关联的 AD 组,并且您的任务服务器必须是该组的成员才能使用 gMSA。
于 2021-03-12T18:30:09.330 回答