如何从.rdp文件推断PowerShell Enter-PSSession参数?

时间:2018-06-29 21:49:04

标签: powershell remote-server remote-desktop

我通常使用Windows远程桌面连接到服务器计算机。所有连接配置都保存在.rdp文件中。

我想改为使用PowerShell以与SSH类似的方式连接到同一服务器。我研究并发现了使用Enter-PSSession进行PowerShell远程处理的方法,但是我不知道该给什么参数。

到目前为止我所知道的:

  • 客户端计算机操作系统:Windows10。主机计算机操作系统:Windows Server 2012 R2。
  • 客户端和主机位于不同的网络/活动目录中。仅运行Enter-PSSession <HOSTNAME>无效。
  • 已启用主机的PSRemoting。如果我在同一AD的计算机上,则可以将其与Enter-PSSession <HOSTNAME>
  • 连接

我的问题是,如果我有一个有效的.rdp文件,是否可以推断将PSRemote传输到远程服务器所需的内容?甚至更好,我可以将那个.rdp文件传递给PS命令以建立外壳连接吗?

1 个答案:

答案 0 :(得分:0)

如果存在信任,这应该起作用。

Enter-PSSession -Computername <FQDN>

如果不信任,则必须传递PowerShell凭证对象。这应该是可以在目标计算机上访问的凭据。 .rdp文件根本无济于事。

Enter-PSSession -Computername <FQDN> -Credential $CustomPScredentialObject

您可以通过以下方式创建凭据对象:

$CustomPScredentialObject = Get-Credential "Domain\UserID" #this will give an interactive prompt for password

非交互式凭据对象:

$SecurePassword = "PlaintextPassword" | ConvertTo-SecureString -Force -AsPlainText
$CustomPScredentialObject = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "Domain\userid", $SecurePassword

现在您可以将此凭据对象用于PSSession。