Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Kerberos身份验证的远程Powershell会话连接失败_Powershell_Active Directory_Azure Active Directory - Fatal编程技术网

使用Kerberos身份验证的远程Powershell会话连接失败

使用Kerberos身份验证的远程Powershell会话连接失败,powershell,active-directory,azure-active-directory,Powershell,Active Directory,Azure Active Directory,我有一个本地网络和一个Azure虚拟网络,它们通过网关连接在一起 通过此设置,所有计算机(本地和Azure)都加入到域中,该域允许我从办公室中的计算机远程访问Azure虚拟网络中每台计算机上的管理共享以及远程Powershell会话。例如,我可以简单地打开Windows资源管理器并键入地址栏\\machinename\c$,或者使用命令$session=New PSSession-ComputerName machinename打开远程Powershell会话 这对我的一个Azure订阅非常有

我有一个本地网络和一个Azure虚拟网络,它们通过网关连接在一起

通过此设置,所有计算机(本地和Azure)都加入到域中,该域允许我从办公室中的计算机远程访问Azure虚拟网络中每台计算机上的管理共享以及远程Powershell会话。例如,我可以简单地打开Windows资源管理器并键入地址栏
\\machinename\c$
,或者使用命令
$session=New PSSession-ComputerName machinename
打开远程Powershell会话

这对我的一个Azure订阅非常有效,但在另一个似乎配置相同的Azure订阅上,远程Powershell命令失败,出现错误:

新建PSSession:[machinename]连接到远程服务器machinename失败,错误消息如下:WinRM无法处理该请求。执行此操作时发生以下错误 使用Kerberos身份验证:找不到计算机machinename。验证网络上是否存在计算机,以及提供的名称拼写是否正确。欲了解更多信息, 请参阅关于远程故障排除帮助主题

当我在Azure域控制器上的DNS中查找时,我尝试连接到的计算机存在。当我在DNS内部部署中查找时,机器丢失了。在我看来,这是两个域控制器之间的复制问题

可能建议的第一件事是开始查看客户机上的WinRM配置。需要明确的是,同一台机器能够成功连接到不同Azure订阅中的虚拟网络中的机器,因此客户端机器上的任何内容都不太可能需要更改。不过,我用谷歌搜索了远程Powershell的Kerberos错误,并检查了客户端上的
TrustedHosts
设置是否设置为
*

有趣的是,我可以成功地从Azure订阅中的一台机器打开远程Powershell会话到我办公室中的一台机器,我只是不能走另一个方向…从Azure到我的办公室。这似乎表明可能是单向信任而不是双向信任,但我不确定如何验证这一点

我运行了,它报告说复制方面的一切都正常

所以我想我想知道的是,这是否真的是一个复制问题,或者是否有人能告诉我问题的真正原因

编辑1


现在看起来Azure网络中的域控制器正在正常复制,但我添加到Azure网络中的任何其他VM都没有复制。基于此,我猜复制正在工作,但它似乎只适用于域控制器,而不适用于任何其他机器。我不知道这意味着什么。

根据错误消息,Azure域控制器上的DNS记录似乎没有复制到本地域控制器

要验证这一点,您可以在本地计算机上运行下面的命令,并使用IP地址作为参数-ComputerName的值,而不是计算机名称。如果这是DNS问题,则应成功建立PowerShell会话

新建PSSession-Azure上服务器的ComputerName IP地址

此外,您还可以在域控制器上运行以下命令来检查复制状态

repadmin /kcc
repadmin /replisummlry
如果命令输出成功,可以运行以下命令手动复制,然后再次检查DNS

repadmin /syncall
最后,要检查信任关系,您可以参考下面的链接以获得分步指南

更新

根据您提供的新信息,我建议检查Azure DNS服务器上DNS区域的类型。请确保类型为主区域,并将该区域存储在Active Directory中

您可以使用DNS管理器进行检查


请呈现图表中的图像并将其上载到问题中,而不是链接到OneDriverepadmin/kcc报告“本地主机一致性检查成功”。repadmin/replsum报告源DSA或目标DSA没有失败。repadmin/syncall完成并报告无错误。我已使用另一条有趣的信息更新了原始帖子。将IP地址与远程powershell会话和特定凭据一起使用确实有效,但我不想使用特定凭据。作为一种解决方法,您可以在本地DNS服务器上为Azure VM添加DNS a记录。此外,根据你提供的新信息,我已经更新了原来的帖子来检查DNS区域类型。只是想看看提供的信息是否有用。如果您需要进一步的帮助,请告诉我们。谢谢您的帮助。我们最终放弃了整个Azure订阅,从头开始。我不确定我们第一次这么做的时候出了什么问题,但新的订阅按预期运行。