PowerShell学习笔记三_使用PS操作远程服务器

PowerShell远程操作服务器

参考: https://www.cnblogs.com/sparkdev/p/7200004.html

补充:

1. 服务器上,要被Powershell远程操作,是基于HTTP/HTTPS协议的,而且端口默认:

HTTP:5985

HTTPS:5986

2. 服务器上,仅仅使用 Enable -PSRemoting -Force是不会开启5985、5986的端口的

因此,要使用

Set - WSManQuickConfig(如果加了-Force,不出提示,直接是Y)

出现

如果是云服务器,还得上操作台开端口

3. 不要忘记再云服务器上加入Enable-PSRemoting

4. 本机上,还需要将服务器IP加入到信任列表中(重要)

首先,本机也是要开启(要以管理员身份运行,否则是不能进行下一步)

 然后,查看一下信任列表

 最后,将服务器IP加入这个列表

Set-Item WSMan:localhostClientTrustedHosts -Value xxx.xxx.xxx.xxx

(清楚信任列表:Clear-Item WSMan:localhostClientTrustedHosts)

 

 再次查一下信任列表,应该就可以开始远程了

4. 参数使用注意

在使用

[int]$index = 0

Invoke-Command -Session $sessions -ScriptBlock { Write-Host $index } 

是不会执行成功的,因为 { } 内的东西会作为纯文本传输到远程机器

如果要使用,那么可以

Invoke-Command -Session $sessions -ScriptBlock { Write-Host $using:index } 

原文地址:https://www.cnblogs.com/pylblog/p/14285905.html