PowerShell如何实现远程操作

68次阅读
没有评论

共计 1628 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章给大家分享的是有关 PowerShell 如何实现远程操作的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

PowerShell 远程操作是远程管理的基础,它为集中管理分布式系统提供了又一种可靠、高效的方法。

一般来说 PowerShell 远程操作依赖于远程处理基础结构,但为数不多的几个自身具有远程处理能力的命令除外,如 Get-Service、Get-Process、Get-WMIObject、Get-EventLog 和 Get-WinEvent 等。(不难看出,这些命令都是“读取”系统的某些方面的信息,不做更改。它们依赖.Net Framework 完成远程操作。)

配置远程基础结构

远程基础结构是远程操作的基础,正确设置远程基础结构才能使远程命令正确执行。好在远程基础结构虽然重要,但是配置起来非常简单。实际上,只要设置好以下两点就可以进行远程操作了:

1、以管理员身份运行。要进行远程操作,必须以管理员身份启动 PowerShell 命令行,即使当前用户是系统管理员也要如此。

2、启用远程处理模式。启用远程处理模式之后,依赖远程基础结构的命令才能正确执行。启用远程处理模式请使用 enable-psremoting 命令。有的系统默认已经开启了远程处理模式,检查远程处理模式是否启动,可以执行 new-pssession 命令。如果新的会话成功创建,则说明远程模式启动,远程基础结构配置成功。

执行远程操作

配置好远程基础结构,就可以执行远程操作了。远程操作主要依赖几个 Session(会话)命令和 Invoke-Command 命令来进行。常见的使用情况有三种场景:

场景一:远程交互式会话

这个场景一般用于手动进行远程操作,输入命令,查看结果。方法很简单。进入交互式会话的命令是 Enter-PSSession,退出时键入 Exit-PSSession 或者 exit 都可以。远程交互式操作期间,输入的命令在远程计算机上运行,就像直接在远程计算机上输入并执行这些命令一样。期间所定义的变量和命令的执行结果在退出交互式会话之后不再可用。

场景二:脚本块、脚本文件的一次性执行

这种场景,是在本地计算机与远程计算机上建立一个临时会话。将脚本块或者脚本文件的内容发送到远程计算机执行,并将结果发回本地计算机。这种方法执行效率很高,是 PowerShell 推荐的执行远程命令的方法。除非需要在会话中共享数据,否则建议使用该方法。

场景三:脚本块、脚本文件在命名会话中执行

这种场景是最复杂的,也是功能 *** 大的。会话会保持所有定义的变量、函数和脚本,导入的模块和管理单元,有利于共享数据。使用方法如下:

1、定义会话:请使用 new-pssession 命令定义会话,如 $session1 = new-pssession ndash;computer server1。(如果必要请使用 Credential 参数。)

2、在会话中远程执行脚本(或者脚本文件):请使用 Invoke-Command 命令执行远程脚本,如 Invoke-Command -Session $session1 -ScriptBlock {dir c:\} 或者 Invoke-Command -Session $session1 -FilePath .\dirDriveC.ps1

3、获得结果:可以将执行结果赋于变量,如 $sub = Invoke-Command -Session $session1 -ScriptBlock {dir c:\} 或者 $sub = Invoke-Command -Session $session1 -FilePath .\dirDriveC.ps1

后续命令可参照步骤 2 或者 3 继续执行,所有执行的命令就好像在同一个上下文中执行一样。

感谢各位的阅读!关于“PowerShell 如何实现远程操作”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1628字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)