PowerShell远程给予“访问被拒绝”错误(PowerShell Remoting giving

2019-07-17 19:10发布

我试图用PowerShell远程检查从服务器的一些磁盘大小在一个偏僻的域名,但我运行的命令无法正常工作。

情况是这样的:

  • 源服务器是域A
  • 目标服务器是域B
  • 目前在这些领域之间发生不信任

在域B服务器运行的是Exchange 2010中,我可以反对2010具体的命令,从服务器A使用此命令运行Exchange:

$Session = New-PSSession -ConfigurationName Microsoft.Exchange –ConnectionUri $ConnectionURI -Credential $Credentials -Authentication Basic
Import-PSSession $Session

问题是,我不能使用这个会话中运行此服务器的任何非交易所的命令,如果我尝试然后它说,它无法理解的命令。 我已经检查并运行Get-命令与调用命令和-Session变量设置为我建立的会话只返回交换命令。

所以我想我会尝试使用Invoke-Command和相关的计算机名,验证类型和证书,但这是失败的:

Invoke-Command -ScriptBlock {Get-Service} -ComputerName "Servername.destination.com" -Credential $Credentials -Authentication "Basic"

这是错误:

[servername.destination.com] Connecting to remote server failed with the following error message : The WinRM client can
not process the request. The authentication mechanism requested by the client is not supported by the server or unencry
pted traffic is disabled in the service configuration. Verify the unencrypted traffic setting in the service configurat
ion or specify one of the authentication mechanisms supported by the server.  To use Kerberos, specify the computer nam
e as the remote destination. Also verify that the client computer and the destination computer are joined to a domain.
To use Basic, specify the computer name as the remote destination, specify Basic authentication and provide user name a
nd password. Possible authentication mechanisms reported by server:     Negotiate Kerberos For more information, see th
e about_Remote_Troubleshooting Help topic.
    + CategoryInfo          : OpenError: (:) [], PSRemotingTransportException
    + FullyQualifiedErrorId : PSSessionStateBroken

于是我去到目标服务器上的WSMAN配置并允许基本身份验证和未加密的连接设置相关的设置:

cd WSMan:\localhost\Service
Set-Item AllowUnencrypted $True
cd .\Auth
Set-Item Basic $True

我还添加了目标服务器到源域服务器的可信主机:

cd WSMan:\localhost\Client
Set-Item TrustedHosts servername.destination.com

这样做之后,错误发生变化,但它不是非常有帮助:

PS WSMan:\localhost\Client> Invoke-Command -ScriptBlock {Get-Service} -ComputerName "servername.destination.com" -Creden
tial $Credentials -Authentication "Basic"
[servername.destination.com] Connecting to remote server failed with the following error message : Access is denied. Fo
r more information, see the about_Remote_Troubleshooting Help topic.
+ CategoryInfo          : OpenError: (:) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionStateBroken

我一直在使用域管理员凭据也试过,通过-Credential(GET-凭证),但这同样的问题失败。

我想使用的用户是有问题的服务器上的本地管理员的用户中的一员,这样的权限应该已经在PSSessionConfiguration容器设置。

我喜欢这个任何进一步的三分球! 我只想用WMI,但它不是通过目前的防火墙功能。

Answer 1:

最近有类似的问题。 建议你仔细检查,如果你有连接的用户在远程机器上适当的授权。

您可以使用以下命令查看权限。

Set-PSSessionConfiguration -ShowSecurityDescriptorUI -Name Microsoft.PowerShell

在这里发现了这个技巧:

http://blogs.technet.com/b/heyscriptingguy/archive/2010/11/17/configure-remote-security-settings-for-windows-powershell.aspx

它固定为我。



Answer 2:

运行命令提示符或PowerShell的ISE作为管理员固定这对我来说。



文章来源: PowerShell Remoting giving “Access is Denied” error