通过Windows PowerShell远程管理计算机(精简版)

现在你手中有一台server(主控端),你打算通过主控端远程管理多台server(被控端)。这个过程可以通过Windows PowerShell来完成。

首先在被控端上以管理员权限打开PowerShell,输入以下命令(其中XXX是IP中的字段,TrustedHosts填写的是主控端的IP地址。):

winrm s winrm/config/client ‘@{TrustedHosts="XXX.XXX.XXX.XXX"}‘

然后在主控端上以管理员权限打开PowerShell,输入以下命令(其中“XXX.XXX.XXX.XXX”为被控端的IP地址,“domain\userName”为被控端机器的登陆用户。):

$session = New-PSSession XXX.XXX.XXX.XXX -Credential domain\userName

输入完这条命令后按回车,会让你验证被控端登陆用户的密码,输入后按回车——Session创建成功。

之后我们就可以通过$session变量来对远程计算机(被控端)进行操控了。

例如:我们想要远程重启这台计算机,只需要在主控端的PowerShell窗口中继续输入:

icm $session {cmd.exe /c shutdown /r /f /t 1}

输入完毕按回车,这时被控端的机器就已经被重启了。

我将上述主控端的过程进行了封装,封装后的方法为:

function ShutDownRemoteComputers
{
    param($ip,$userName)
    #winrm s winrm/config/client ‘@{TrustedHosts=10.1.23.60"}‘
    $sen = "‘@{TrustedHosts=`""+$ip+"`"}‘"
    winrm s winrm/config/client $sen
    $session = New-PSSession $ip -Credential $userName
    icm $session {cmd.exe /c shutdown /r /f /t 1}
}

从此主控端操控被控端只需要如下语句:

ShutDownRemoteComputers -ip XXX.XXX.XXX.XXX -userName domain\userName

唯一比较麻烦的就是执行完上面的语句后,你需要对相应的“domain\userName”进行Password验证:

不知道有什么方法可以越过或者自动完成密码验证这一过程,希望精通PowerShell的你能够给予指点!O(∩_∩)O谢谢~

时间: 2024-10-03 23:28:42

通过Windows PowerShell远程管理计算机(精简版)的相关文章

15. PowerShell -- 远程管理

·         PowerShell中的远程管理:通过远程管理计算机,通过WinRM (Windows Remote Management) 起作用,它是基于微软的WS-Management协议的. ·         PowerShell 2.0远程管理的条件,必须安装以下软件(默认在windows 7, 2008 R2上安装),并且能够在XP SP3, Server 2003 SP2,Vista,2008 SP1-SP3上安装: 1. Windows PowerShell 2.0 2.

MySql5.7.11 for Windows 安装精简版(一)

原文:MySql5.7.11 for Windows 安装精简版(一) 从官网下载压缩包,我下载的是64位的.解压. 精简: -Bin下只保留 mysqladmin.exe mysqld.exe mysql.exe Share目录下 保留charsets english 没有data文件夹一会告诉怎么生成 添加环境变量,mysql bin文件夹的路径 (如:C:\Program Files\MySQL\MySQL Server 5.6\bin )添加到Path中,当然之前的不要删了,用:隔开就好

试读—Windows PowerShell实战指南(第2版)

看到Windows PowerShell实战指南(第2版),想起了女朋友送我的第一个生日礼物,它是什么呢? 一本书,书的名字是:Windows 2000 脚本编程实用大全: 时间过得真快,转眼十年过去了: 为什么偏偏选 了这么一本书做为生日礼物呢? 这是秘密,自己想去! 回来说正题,为什么看到Windows PowerShell实战指南(第2版)会让我想到Windows 2000 脚本编程实用大全呢? 看看下面的例子: var ws = WScript.CreateObject("WScript

使用Windows Azure PowerShell远程管理Windows Azure虚拟机

对于Windows Azure,如果你还在使用windowsazure.com门户来管理虚拟机,那就显得不怎么高上大了.Windows Azure PowerShell 是一个功能强大的脚本环境,可用于在 Windows Azure 中控制和自动执行工作负荷的部署和管理.   安  装   通过Microsoft Web Platform Installer一键搞定安装.   登录Azure账户   启动安装好的Windows Azure PowerShell,使用“Add-AzureAccou

雨林木风 Windows Vista ULTIMATE With SP1 精简版 Y2.1

软件大小:2.66G   软件语言:简体中文   软件类别:国外软件/操作系统   运行环境:Win2003, WinXP, Win2000, NT, WinME,winvista,win7   授权方式:免费软件 软件评级: 雨林木风 Windows Vista ULTIMATE With SP1 精简版,基于 Windows Vista Ultimate SP1 X86 MSDN 官方简体中文版精简优化而成,无人值守安装,免激活,免序列号,安装方便快捷! 雨林木风 Vista 2.1 精简版

windows服务器远程执行命令(PowerShell+WinRM)

Windows 远程管理 (WinRM) 是 WS-Management 协议的 Microsoft 实现.该协议是基于简单对象访问协议 (SOAP) 的.防火墙友好的标准协议,使来自不同供应商的硬件和操作系统能够互操作.WS-Management 协议由硬件和软件制造商群体开发,作为一种公共标准,可用于与实现该协议的任何计算机设备远程交换管理数据. 使用PowerShell对服务器远程管理,要在远程服务器上启用WinRM. 一.知识储备: 1.WinRM相关操作 开启WinRM服务: Enab

有奖试读—Windows PowerShell实战指南(第2版)

为什么要学PowerShell? Windows用户都已习惯于使用图形化界面去完成工作,因为GUI总能轻易地实现很多功能,并且不需要记住很多命令.使得短时间学会一种工具成为可能. 但是不幸的是,GUI并不能带来效率提升上的汇报,如果你花费5分钟在活动目录中创建一个新的用户(一般需要填写大量信息),之后再新建用户时,通常不会更快,那么新建100个新用户就会花费500分钟,通常没有任何办法使得我们输入信息以及单击操作更快,从而加快这个过程. 微软一直都有CMD命令来进行Windows的操作,但是很不

Windows7 SP1旗舰版精简版最终版本

2016年6月9号,老毛子@lopatkin大神针对Win7 SP1旗舰版精简版进行了最终更新,此次主要是之前小问题的修复和调整.该版为Windows 7 SP1 简体中文旗舰版最新版,包含2016年微软累积更新,经过国内众多系统爱好者检验,精简后体积比较小,适合低配电脑,非常稳定流畅!Win7爱好者们不妨下载收藏! 俄罗斯系统精简狂人@lopatkin 大侠一直专注于Windows操作系统的精简封装,每次微软有新的系统版本发布,他都会第一时间制作跟进发布.老毛子精简改进的系统以纯净流畅为主,无

微软发布 Windows Server 2016 预览版第三版,开发者要重点关注Nano Server

微软已经发布 Windows Server 2016 和 System Center 2016 第三个技术预览版,已经提供下载.Windows Server 2016 技术预览版第三版也是首个包括了容器技术的支持的版本,也提供了 Nano Server 和数据中心增强的功能. Windows Server 容器是微软和 Docker 合作的,开发者可以通过隔离操作系统环境的方式来运行应用.Windows Server 容器是 Docker 开源计划的一部分,容器可以通过 PowerShell 或