如何启用PowerShell Remoting 之One-to-one Remoting

日期: 2012-07-03 作者:Don Jones翻译:唐琼瑶 来源:TechTarget中国 英文

Remoting是大家对于PowerShell v2期待已久的功能。因此,PowerShell功能达到了新的高度。下面内容节选自Manning出版社,介绍了如何启用remoting。选自第十章PowerShell深度解析,由Don Jones、Richard Siddaway与Jeffery Hicks撰写。

点击这里查看PowerShell v3的改进。   Remoting应该在任何能够接收连接的机器上启用,包括运行Windows操作系统的服务器或客户端版本的计算机。设置remoting最简单的方式是运行Enable-PSRemoting。这个命令执行以下几个任务:   1.启动(或重启)W……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

Remoting是大家对于PowerShell v2期待已久的功能。因此,PowerShell功能达到了新的高度。下面内容节选自Manning出版社,介绍了如何启用remoting。选自第十章PowerShell深度解析,由Don Jones、Richard Siddaway与Jeffery Hicks撰写。点击这里查看PowerShell v3的改进。

  Remoting应该在任何能够接收连接的机器上启用,包括运行Windows操作系统的服务器或客户端版本的计算机。设置remoting最简单的方式是运行Enable-PSRemoting。这个命令执行以下几个任务:

  1.启动(或重启)WinRM服务

  2.设置WinRM服务器以后自动运行

  3.创建WinRM监听器,用于所有本地IP地址端口5985上的HTTP流量监控

  4.为WinRM监听器创建Windows防火墙例外。注意,如果网卡配置成“Public”类型,这种在Windows客户端版本上的配置将失败,因为防火墙拒绝在这些卡上创建例外。如果不成功,将网卡类型更改为如“Work”或“Private”,然后再次运行Enable-PSRemoting。或者,如果你有一些公共网卡,添加SkipNetworkProfileCheck参数启动PSRemoting。这样做能成功创建防火墙例外,只允许计算机本地子网的远程处理流量通过。

  这个命令也设置以下四个端口中的一个或几个:

  1.PowerShell 32-bit

  2.PowerShell 64-bit

  3.PowerShell Server Manager Workflow

  4.PowerShell Workflow

  图1列出了一些例子和端点配置。在32位机器上,这个端点被称为PowerShell而不是PowerShell32.

 

PowerShell Version
PowerShell
32 bit
PowerShell 64bit
Server manager
PowerShell
workflow

Windows Server 2008 R2

2

Y

Y

Y

 

Windows 7 64 bit

3

Y

Y

 

Y

Windows 8 32 bit client

3

Y

 

 

Y

Windows 8 Server

3

Y

Y

Y

Y

Windows 7 client 32 bit standalone

2

Y

 

 

 

图1.端点配置实例

  命令运行的时候会提醒你好几次,确认回复“Y” for “Yes”,便于每个步骤完全正确地运行。

  One-to-one Remoting

  使用remoting最直接的方式是叫做one-to-one remoting,这让你从本质上在远程计算机上提出交互式PowerShell提示。如果远程机器上启用了remoting,这最简单。

  PS C:> enter-pssession -ComputerName Win8

  [Win8]: PS C:UsersAdministratorDocuments>

  注意,如果你想这样做,在计算机上启用remoting,只需要将本地主机作为计算机名使用。你的计算机将被“远程控制”,但你会获得完整的远程体验。

  注意PowerShell提示的变化,包括你现在所连接的计算机名。在这里,就如同你站在物理计算机面前,可运行远程计算机包含的任何命令。下面是几点注意事项:

  1.默认下,当PowerShell prompt包括任何计算机名的时候,你不能执行任何初始化Remoting连接的命令。

  2.不能执行任何启动图形应用的命令。如果这样做,命令将冻结,点击Ctrl+C终止命令并重新获得控制权。

  3.不能执行任何本来就拥有过自己的shell命令,如nslookup or netsh。

  4.如果执行策略允许,那你可以在远程机器上运行脚本。

  5.你没有连到交互式桌面会话,你的连接将被定义为“网络登录”,虽然你能连接到远程机器上的文件共享。由于连接的类型,Windows不会执行profile脚本,即使你连接到远程机器上的profile主文件夹。

  6.你所做的在连接到同个机器上的用户是不透明的,即使他们交互登录到桌面控制台上。换句话说,你不能运行相同的应用,使得其跳到正在登录的用户前面。

  7.你必须指定计算机名字,因为它会出现在Active Directory或本地受信任的主机列表上。你不能使用IP地址或DNS CNAME 别名。

  用完远程机器,那就运行Exit-PSSession。这将回到本地提示符,关闭到远程机器的连接,释放远程机器的资源。如果关闭PowerShell窗口,这个也会自动发生。

  [Win8]: PS C:UsersAdministratorDocuments> Exit-PSSession

  PS C:>

  我们使用Enter-PSSession的方式将一直与远程机器的PowerShell终端连接。在64位操作系统上,将是64位版本的PowerShell。稍后,我们将介绍如何连接到其他端点(请记得Enable-PSRemoting总共能创建四个端点。)

作者

Don Jones
Don Jones

投稿作者

相关推荐