远程安装Exchange 2019 CU12遇故障求助
解决Exchange 2019 CU12远程PS Remoting安装权限与AD连接问题
你的问题核心是PowerShell远程会话的身份验证与权限传递机制导致的——本地执行时账户权限直接生效,但远程会话默认配置无法正确传递AD操作所需的高权限,同时存在环境变量引用错误的问题。以下是具体修复步骤:
1. 显式指定Kerberos身份验证并传递凭证
PS Remoting默认使用Negotiate身份验证,可能回退到NTLM,而NTLM无法正确传递Enterprise Admins这类高权限组的身份。必须显式启用Kerberos并传递凭证:
# 获取有权限的账户凭证(即使当前登录账户有权限,也建议显式传递) $cred = Get-Credential # 执行远程命令,指定Kerberos验证与凭证 Invoke-Command -ComputerName $Hostname -Authentication Kerberos -Credential $cred -ScriptBlock { Write-Output 'Extending Active Directory Schema and Preparing Active Directory...' & C:\EXCH\Exchange_2019_CU12\Setup.exe /prepareAD /OrganizationName:"$($using:env:USERDOMAIN)" /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF Write-Output 'Preparing Domain...' & C:\EXCH\Exchange_2019_CU12\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF /PrepareAllDomains }
2. 修正组织名的环境变量引用
脚本块内的$env:USERDOMAIN是远程机器的域环境变量,并非本地执行机器的。要传递本地域名称,可通过两种方式:
方式一:使用$using:前缀(PowerShell 3.0+支持)
如上述代码所示,$($using:env:USERDOMAIN)会直接引用本地机器的USERDOMAIN变量。
方式二:通过参数传递
$localDomain = $env:USERDOMAIN Invoke-Command -ComputerName $Hostname -Authentication Kerberos -Credential $cred -ArgumentList $localDomain -ScriptBlock { $orgName = $args[0] & C:\EXCH\Exchange_2019_CU12\Setup.exe /prepareAD /OrganizationName:"$orgName" /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF # 后续安装命令... }
3. 验证远程会话的AD连通性
错误信息中“无法联系AD”“森林功能级别不满足”属于误报,本质是远程会话无法正常访问AD。可在脚本块开头添加连通性测试:
Invoke-Command -ComputerName $Hostname -Authentication Kerberos -Credential $cred -ScriptBlock { # 测试AD连接(需提前安装RSAT-AD-PowerShell模块) if (-not (Get-Module -Name ActiveDirectory -ListAvailable)) { Write-Error "请先安装RSAT-AD-PowerShell模块" exit 1 } try { Get-ADDomain -ErrorAction Stop | Out-Null Write-Output "成功连接到Active Directory" } catch { Write-Error "无法连接到AD:$_" exit 1 } # 后续Exchange安装命令... }
4. 检查Kerberos约束委派(进阶)
若上述步骤无效,需确认:
- 执行远程命令的客户端机器,是否被允许委派到域控制器的
ldap和kerberos服务 - 目标机器(Exchange准备机器)是否被允许委派到AD服务
可通过AD用户和计算机控制台,在机器对象的「委派」标签页配置。
你遇到的错误本质是远程会话未正确传递有权限的身份,导致Setup.exe无法以有效权限访问AD:
C:\EXCH\Exchange_2019_CU12\Setup.exe : Global updates need to be made to Active Directory, and this user account isn't a member of the 'Enterprise Admins' group. ... The supplied credential for 'V204\tdcadmin' is invalid. ... Either Active Directory doesn't exist, or it can't be contacted.
内容的提问来源于stack exchange,提问作者Fitzgery
相关产品推荐
相关产品推荐

