PowerShell 的强大之一 在于对远程计算机进行很方便的管理,我自己在日常工作中使用了大量PowerShell脚本来进行服务器维护,自动化管理,甚至提供更多更高级的服务.
在远程管理中要用到一个非常有用的命令Invoke-Command,这可以说时服务器管理的神器. 接下来我会用一些列的文章来介绍我在日常工作中是如何使用这个命令的.
认识 Invoke-Command
从微软的官方文档上可以看到Invoke-Command的解释非常简短,就一句话:
Runs commands on local and remote computers.
在本地或者远程计算机上执行命令. 一个可以在本地或者远程计算机上执行命令的命令是多么的牛逼.
这个命令的用法有很多,这里只介绍两种最基本的用法, 本地执行命令/远程执行命令. 在执行脚本的过程中还会涉及到安全和认证. 都是在这两个用法的基础上扩展起来的.
#在当前计算机执行命令
Invoke-Command
[-ScriptBlock] <ScriptBlock> #要执行的命令 由一对{}括起来的代码片段.
[-NoNewScope]
[-InputObject <PSObject>]
[-ArgumentList <Object[]>] #如果你的代码片段中需要动态传递参数可以通过参数传进去
[<CommonParameters>]
#在远程计算机上执行代码
Invoke-Command
[[-ComputerName] <String[]>] #远程计算机名 可以是一台或者多台
[-Credential <PSCredential>]
[-Port <Int32>]
[-UseSSL]
[-ConfigurationName <String>]
[-ApplicationName <String>]
[-ThrottleLimit <Int32>]
[-AsJob]
[-InDisconnectedSession]
[-SessionName <String[]>]
[-HideComputerName]
[-JobName <String>]
[-ScriptBlock] <ScriptBlock> #要执行的命令 由一对{}括起来的代码片段.