如何用powershell管理多台win服务器

时间:6年前   阅读:4823

前两天群里有人问:如何管理100台win服务器。这是很现实的问题。我们以100win2003为例。

ip + 端口 + 用户名 + 密码 的安全连接,成熟的。貌似只有vpn和ssl吧。 而ssl是轻量的,比vpn适合承载远程管理命令。

你让这100台psremoting,都买vpn网关硬件装上,又或者搞100个软vpn网关,这就不现实了。 同样,有了vpn,psremoting又基本不需要了。 ps-remouting也没实现vpn啊。

顾我认为powershell远程管理运维人员,目前强烈需要的是win版的sshd,和scp(sftp)软件。 而我目前发现了类似的软件,分享给大家!

http://www.freesshd.com/

首先它是个第三方免费win sshd服务器。其次你登录后的命令行,可以定义成powershell,和cmd。别的软件只能是cmd。 有了这个,你就可以安全地,远程运行powershell命令,当然dos命令也行。

http://www.powershellserver.com/download/

随便输入名字和邮箱即可下载。

第三方免费win sshd服务器。一个连接免费。多个连接收费。商业软件,是可靠的。

http://www.sftpnetdrive.com/download-thanks

图形界面的,有免费版。映射sftp用户磁盘目录(支持win,linux)成为盘符,

https://filezilla-project.org/

FileZilla Client 是图形界面的。免费的ftp客户端,也支持sftp上传文件,下载文件,同步文件等。

 

著名的putty

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

这里主要用pscp.exe    psftp.exe 这两个软件,是命令行界面的。在sshd和客户机之间复制文件,上传下载脚本。 

SSH Secure Shell Client 3.2.9

http://www.onlinedown.net/soft/20089.htm

在(win或linux的)sshd服务器上运行命令。内含ssh2.exe   scp2.exe  sftp2.exe ssh2.exe       

user@host      ls -l;cat  /etc/fstab

关于文件同步

手动映射盘符,然后用图形软件同步,或者用robocopy同步。 对于巨大文件的,文件内容差异同步。没什么好办法。应该用rsync,或者http + zsync。

免费+开源powershell的ssh命令行模块。

http://www.powershelladmin.com/wiki/SSH_from_PowerShell_using_the_SSH.NET_library

导入模块用: Import-Module SSH-Sessions

建立连接用: New-SshSession -computername  ip地址   -port 端口   -username 用户名   -password 密码

删除连接用: Remove-SshSession  -computername ip地址

进入连接用:      (注意:linux命令行中无法运行cd命令,没有tab补全) Enter-SshSession -ComputerName ip地址

离开连接用: exit

获取linux命令结果用: $SshSessions.'ip地址'.RunCommand("命令内容").Result

例子:

Import-Module ssh-sessions

New-SshSession -computername  ip地址   -port 端口   -username 用户名   -password 密码

[string]$linux命令行 = "cat /etc/fstab"

$返回结果 =  $SshSessions.'ip地址'.RunCommand($linux命令行).Result

write-host $返回结果

 

【powershell的远程管理比sshd的坏在哪?】

经过试用,我觉得ps-remoting的远程管理做的并不好。简直是反人类!

1为了安全,把配置过程搞的太麻烦。太细。几乎没人能配置成功!

2要求域,主机名绑定证书。这不太现实。

3  认证方式太多,但几乎没有好用的。失败中的失败。

3.1 用户名和密码以明文形式发送到服务器=失败。

3.2 ntlm,我认为这个只适合于域用户,并且在局域网中=失败。

3.3 Digest搞不懂。

3.4 Kerberos不支持ip地址,只支持域名=失败。

3.5 CredSSP要求域名=失败。

3.6 ssl要求绑定域名,或者ip=失败。

比如我要管理20台win机子,就要20个不同的证书。 还要把证书分别绑定在,服务端的powershell上。 客户端还要导入20个证书。 这比【支持多个连接】的远程桌面软件麻烦许多!

 4 无法实现文件传输,或者很麻烦。或者说需要额外的http,ftp文件上传下载功能。不如scp,sftp。

本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。

微信扫码关注

更新实时通知

上一篇:nginx配置phpmyadmin

下一篇:选择沪深300etf期权合同要注意哪些问题?

网友评论

请先 登录 再评论,若不是会员请先 注册