powershell:我无法打开远程会话而不再指定FQDN

时间:2014-03-24 15:21:10

标签: remote-access powershell-v3.0

几天前,我能够使用远程服务器/工作站的短名称创建远程会话。

这不再起作用,错误是:

+ CategoryInfo : InvalidArgument : (computername1:String) [Enter-PSSession], PSRemotingTransportExcepti + FullyQualifiedErrorId : CreateRemoteRunspaceFailed

但是当我使用完整的域名时,它正在工作: nsn computername1.domain.com

Dns分辨率是否正确,我还可以检查以解决此问题?

2 个答案:

答案 0 :(得分:1)

我最终找到了它! :)

我必须修改默认的pssession选项并将代理设置为' NoProxyServer'而不是默认值'无'

所以我在我的个人资料中添加了这一行:

$PSSessionOption = New-PSSessionOption -ProxyAccessType NoProxyServer  

来自technet:

  

未指定代理访问类型。这意味着代理   信息,例如访问类型,身份验证机制和   凭证,未传递给Web Services for Management(WSMan)   协议服务。此字段在Windows PowerShell 2.0中引入。

     

NoProxyServer 配置代理设置时不使用代理服务器。   此机制在本地解析所有主机名。这个领域是   在Windows PowerShell 2.0中引入。

答案 1 :(得分:0)

由于我无法找到问题的根源,这是我的解决方法: 重命名两个别名nsn和etsn,并在我的配置文件中用这些函数替换它们:

rename-item alias:\nsn nsn2 -ea silentlycontinue
rename-item alias:\etsn etsn2 -ea silentlycontinue

function resolve-hostname{
    param($computername)
    [System.Net.Dns]::GetHostEntry($computername) |select -ExpandProperty hostname 
}

function nsn{
    param($computername)
    $cn=resolve-hostname $computername
    new-pssession -cn $cn
}

function etsn{
    param($computername)
    $cn=resolve-hostname $computername
    enter-pssession -cn $cn
}