
Invoke-Command
如果你只需要针对单台或者多台远程服务器执行一个命令(或者一系列的管道命令),那么最便利的方法就是使用Invoke-Command命令。Microsoft的文档列出了绝大多数的参数和语法,导致人人皆知Invoke-Command命令的复杂性。即使如此,使用Invoke-Command在远程系统上执行命令仍然出奇地容易。
对于基本的远程命令执行,你只需要提供远程计算机的名称和想要执行的代码块。假设你想要在名称为Production1的远程服务器上执行Get-VM命令,你可以使用下面的命令:
Invoke-Command –ComputerName Production1 {Get-VM}
虽然这看起来很简单,但是你也要对使用这个方法了解以下几点。
首先,Invoke-Command命令不限制你在一个远程系统上执行命令,你可以在多个计算机上指定命令,你需要做的就是使用命令区分开这些计算机的名称。例如,在Production1,Production2和Production3计算机上执行命令如下:
Invoke-Command –ComputerName Production1, Production2, Production3 {Get-VM}
第二点,你必须要知道虽然这个方式的设计目的只是简单地在单个远程系统上运行的单一命令,但是你也可以运行多个命令。如果查看之前的几行代码,你会注意到允许在远程计算机上运行的Get-VM命令是包含在花括号里面的。任何在花括号里面的命令都会在指定的远程计算机行运行。同样的,只要所有的命令都包含在花括号里面,你可以使用管道符号把命令把它们链接在一起。
第三点你必须知道上面的语法只有在所有计算机中使用了Kerberos认证才会运行,同时包括有命令输入和已经加入了域。否则,你必须使用HTTPS传输,并且必须指定远程系统是受信任的主机。
#######win10 1809以上版本,可以CMD里面输入sshd直接连接。
########2.在Linux服务器上安装Powershell
有internet连接的情况运行如下命令
内网没有internet连接的情况,请使用如下方式
https://github.com/PowerShell/PowerShell/releases/download/v7.1.4/powershell-7.1.4-1.rhel.7.x86_64.rpm
https://github.com/PowerShell/PowerShell/releases/tag/v7.1.4
yum install powershell-7.1.4-1.rhel.7.x86_64.rpm
pwsh
systemctl restart sshd
Enter-PSSession -HostName root@172.31.220.4 -SSHTransport
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)