【问题标题】:Remote Powershell Connection to Exchange using a managed service account使用托管服务帐户到 Exchange 的远程 Powershell 连接
【发布时间】:2020-05-22 13:19:50
【问题描述】:

有没有办法使用托管服务帐户 (msDS-GroupManagedServiceAccount) 通过 Powershell 连接到 Exchange?我们的场景如下: 我们有一个用 c# 编写的服务组件,它通过远程 Powershell 连接到 Exchange。服务组件作为托管服务帐户运行。

New-PSSession的调用如下:

新PSSession -配置名称 Microsoft.Exchange -ConnectionUri "http://server/powershell" -身份验证 Kerberos -允许重定向 -ErrorAction 停止

如您所见,未指定凭据,因此发送到 Exchange 服务器的凭据是当前用户的凭据(在查看返回的错误消息时似乎有效)。 结果如下错误:

处理来自远程服务器的数据失败,并显示以下错误消息: [ClientAccessServer=...,BackEndServer=...,RequestId=...,TimeStamp=...] [AuthZRequestId=6c727005-565b-4019-855f-657ae6b86ee7][FailureCategory=AuthZ-CmdletAccessDeniedException] 无法执行该操作,因为找不到“域\帐户 $”。

domain\account$ 显示托管服务帐户的正确登录名。

exchangeserver 的事件日志还指出:

来源:“MSExchange RBAC”,事件 ID:16): (进程 w3wp.exe,PID 8980) “RBAC 授权返回用户域\帐户$ (SID=S-...) 的访问被拒绝。 原因:在域控制器 XYZ 上找不到用户。

我目前怀疑,RBAC“组件”在 Active Directory 中显式查找“用户”类型的对象,但不查找 msDS-GroupManagedServiceAccount 对象,所以我想知道这是否受支持。

【问题讨论】:

  • 您找到解决方案了吗?我也有类似的情况。
  • 很遗憾没有。我们仍然使用“常规”用户帐户。

标签: powershell exchange-server


【解决方案1】:

不,托管服务帐户在您定义它的主机上是本地的。 Windows 2012 引入了gMSA,可以在多个主机上使用。使用其中之一可能会有更好的运气。此外,您必须根据需要运行的命令行开关授予帐户正确的权限/RBAC 角色。

【讨论】:

  • 服务帐号实际上是一个群组管理的服务帐号。在我们的测试环境中,服务组件、Exchange 和 gMSA 都在一台主机上。 gMSA 是 AD 组的成员,即相应 RBAC 角色的成员。无法通过 Add-RoleGroupMember 直接添加 gMSA(找不到对象错误)。
猜你喜欢
  • 2015-03-17
  • 1970-01-01
  • 2015-03-10
  • 2012-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多