通过Windows PowerShell远程管理计算机(精简版)-阿里云开发者社区

开发者社区> 天外归云> 正文

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

简介: 现在你手中有一台server(主控端),你打算通过主控端远程管理多台server(被控端)。这个过程可以通过Windows PowerShell来完成。 首先在被控端上以管理员权限打开PowerShell,输入以下命令(其中XXX是IP中的字段,TrustedHosts填写的是主控端的IP地址。
+关注继续查看

现在你手中有一台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验证:

对于有密码验证的情况,下面方法可以自动完成密码验证这一过程:

function ShutDownRemoteComputers
{
    param($ip,$user,$pwd)
    #winrm s winrm/config/client '@{TrustedHosts=10.1.23.60"}'
    $sen = "'@{TrustedHosts=`""+$ip+"`"}'"
    winrm s winrm/config/client $sen
    $pw = convertto-securestring -AsPlainText -Force -String $pwd
    $cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $user,$pw
    $session = New-PSSession $ip -Credential $cred
    icm $session {shutdown -s -t 0}
}

感谢园友的帮助

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SharePoint自动化系列——通过PowerShell创建SharePoint Site Collection
通过PowerShell创建SharePoint Site Collection,代码如下: Add-PSSnapin microsoft.sharepoint.powershell function CreateTeamSite() { $webApps = Get-SPWebApplication $webAppsUrl = $webApps.
714 0
通过Windows PowerShell远程管理计算机(精简版)
现在你手中有一台server(主控端),你打算通过主控端远程管理多台server(被控端)。这个过程可以通过Windows PowerShell来完成。 首先在被控端上以管理员权限打开PowerShell,输入以下命令(其中XXX是IP中的字段,TrustedHosts填写的是主控端的IP地址。
735 0
发现一个很不错的linux/unix工具screen: 管理远程会话
总结:     1。可以将经常打开的一些程序窗口保存,方便下次打开;     2。可以将某一进程组放入后台,方便进行调试。转原文: linux 技巧:使用 screen 管理你的远程会话 ...
946 0
Windows 2008 远程登陆时提示"要登录到此远程计算机,您必须被授予允许通过终端登录登录的权限"
ECS Win2008 远程时提示"要登录到此远程计算机,您必须被授予允许通过终端登录登录的权限"的解决方法   问题描述 ECS Windows 2008 远程登陆时提示"要登录到此远程计算机,您必须被授予允许通过终端登录登录的权限",如下图所示: 问题分析 组策略中做了设置不允许管理员组成员登录。
1237 0
SharePoint自动化系列——通过PowerShell在SharePoint中批量做数据
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ PowerShell是基于.NET的一门脚本语言,对于SharePoint一些日常操作支持的很好。
885 0
SharePoint自动化系列——通过PowerShell创建SharePoint Lists
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 代码如下(保存到本地ps1文件中,右键run with PowerShell即可): Add-PSSnapin microsoft.
680 0
+关注
天外归云
测试开发工程师,目前就职于网易。
200
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载