【发布时间】:2015-08-10 02:46:51
【问题描述】:
我正在尝试建立一个 PowerShell 会话,以针对本地主机上的 Exchange 服务器运行多个 Exchange 命令。我不断收到以下错误:
New-PSSession : [<HOSTNAME>] Connecting to remote server <HOSTNAME> failed with the following error message
: Access is denied. For more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:12
+ $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri 'h ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin
gTransportException
+ FullyQualifiedErrorId : AccessDenied,PSSessionOpenFailed
我的代码是来自 Microsoft Technet Article 的复制粘贴。它适用于远程机器,但每当我瞄准我正在运行的机器时,我都会收到上述错误。
到目前为止我已经尝试过:
- 查看了
about_remote_troubleshooting帮助主题。与拒绝访问错误相关的内容均无效。 - 使用与收到拒绝访问错误相同的凭据的目标远程计算机。 (连接没有问题)
- 已验证我的 PowerShell 会话是否以管理员身份运行。 (是)
- 已验证 Exchange 命令行管理程序能够成功启动。 (是)
- 尝试在没有凭据的情况下查看是否可行。 (它没有)
- 检查了
net use和net session以确保我没有遇到具有相同凭据问题的奇怪的多个连接。 (我没有看到任何迹象表明这一点) - 通过导致问题的脚本和手动将命令键入到 powershell 控制台中进行了尝试。 (两种方式都得到了相同的结果。是的,为了一致性)
- 在多个系统上试过这个。 (到处都是相同的结果)
一些快速说明:
- 这是在 Windows Server 2012 上运行的 Exchange 2013。它是一个基本安装,只是一个测试环境,除了安装和启用远程处理之外,只有很少的数据和最少的配置。
- 使用的凭据用于域管理员,它还具有必要的 Exchange 权限来执行我需要执行的任何操作。即,只要我的目标机器不是我正在运行的机器,我就没有任何问题,我的连接方式也没有任何改变。此外,这是一个测试域,域管理员的访问权限没有受到任何限制或调整,因此它应该拥有对所有内容的完全访问权限。
我输入的具体命令是:
$cred = Get-Credential
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri 'http://<HOSTNAME>/Powershell' -Credential $cred
我应该能够像这样连接到本地主机吗?还是只是不支持?
在这一点上,我完全不知所措。任何帮助,即使是为我指明正确的方向,都将不胜感激。
编辑:我应该补充一点,我尝试使用与上述相同的命令从另一台机器连接到这个本地主机,并且它没有问题。所以,我不认为这是一个本地配置问题。
【问题讨论】:
-
您已验证您的域管理员可以访问服务器?我问的原因是我相信他们需要特殊的远程交换权限,我认为你只能在交换内部这样做。
-
@Luke 是的。我使用我的域管理员凭据登录到服务器。此外,从另一台计算机上,我可以使用这些域凭据远程访问这台计算机。 Aka,计算机 A 已安装交换。我使用域凭据登录到计算机 A(上例中的本地主机),无法通过 powershell 远程从 A 进行交换。但是,从计算机 B(在同一域上)我可以使用相同的凭据远程进入计算机 A 上的 Exchange。此外,如果我尝试使用我的管理员凭据从计算机 A 远程到计算机 C(也安装了交换),它可以工作
-
好的,它只是从 A 到 A 不起作用...防火墙是否开启?虽然你解释这个的方式可能不是问题......
-
@Jgraum 在计算机 A 上运行
Set-Item -force WSMan:\localhost\Client\TrustedHosts –Value * -
简单猜一猜,你的登录账号设置密码了吗?
标签: powershell windows-server-2012 access-denied powershell-remoting exchange-server-2013