Xshell脚本实现自动登陆||自动登陆的几种方式。

Xshell-自动登陆

      1.通过自带工具(expect)。

      2.通过自写脚本 (python、js、vb等)。

 

1.通过自带工具(expect)。

           (1)找到会话属性,点击登陆脚本。

                    勾选执行以下等待并发送规则

(2)添加规则。

       

举例说明expect用法:

2.通过自写脚本 (python、js、vb等)。

先说明脚本如何调用:

 1. 点击加号,创建一个默认会话。

2. 打开属性。

3. 如图所示,选自己脚本的位置。

    (1)通过脚本调用CONNECT方法连接。

             Pass  脚本参考位置:xshell 安装路径 /ScriptSample/Session

             备注:博主xshell6 

    (2)通过堡垒机已经跳转到服务器,但需求切换用户等后续操作。

#服务器列表
servers_switch = {
    'ip1': ['user1', 'passwd1'],
    'ip2': ['user2', 'passwd2']}
#后缀执行命令
suf_shell = {'ip1': ['cd 目录', 'clear']}


def Main():
    xsh.Screen.Synchronous = True
    xsh.Screen.Send('hostname -i \n')
    xsh.Session.Sleep(1000)
    ScreenRow = xsh.Screen.CurrentRow - 1
    ReadLine = xsh.Screen.Get(ScreenRow, 1, ScreenRow, 40)
    ip = str(ReadLine)
    if ip in servers_switch.keys():
        user = servers_switch[ip][0]
        pd = servers_switch[ip][1]
        xsh.Screen.Send('su - %s' % user)
        xsh.Screen.Send('\n')
        xsh.Screen.Send(pd)
        xsh.Screen.Send('\n')
        if ip in suf_shell.keys():
            for cmd in suf_shell[ip]:
                xsh.Screen.Send(cmd)
                xsh.Screen.Send('\n')
    else:
        pass

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 可以参考下面的脚本: set objShell = CreateObject("WScript.Shell") objShell.Run "xshell.exe" WScript.Sleep 1000 objShell.SendKeys "username" objShell.SendKeys "{TAB}" objShell.SendKeys "password" objShell.SendKeys "{ENTER}" ### 回答2: 下面是一个用VBScript编写的自动登录Xshell服务器的脚本示例: ```vbscript Dim objShell Set objShell = CreateObject("WScript.Shell") ' 启动Xshell objShell.Run """C:\Program Files (x86)\NetSarang\Xshell 6\Xshell.exe""", 1, True ' 等待Xshell启动并且获取焦点 WScript.Sleep 3000 objShell.AppActivate "Xshell - 127.0.0.1" ' 发送用户名和密码 objShell.SendKeys "your_username" objShell.SendKeys "{TAB}" objShell.SendKeys "your_password" objShell.SendKeys "{ENTER}" ' 等待登录完成 WScript.Sleep 3000 ' 在此处添加其他操作,如执行命令等 ' 关闭Xshell objShell.AppActivate "Xshell - 127.0.0.1" objShell.SendKeys "^E" ' 按下Ctrl + E objShell.SendKeys "{ENTER}" Set objShell = Nothing ``` 请注意将`your_username`替换为您的服务器用户名,将`your_password`替换为您的服务器密码。同时,请根据您的Xshell安装路径更改`Xshell.exe`的路径。这个示例中使用的是本地服务器(127.0.0.1),如果要连接其他服务器,请将IP地址相应修改。 这个脚本的逻辑是先启动Xshell,然后等待一段时间让Xshell启动完成,并将其窗口置于前台。然后通过`SendKeys`方法向Xshell发送用户名、密码和回车键,实现自动登录。最后可以在适当位置添加其他操作,如执行命令等。最后,脚本通过发送快捷键(Ctrl + E)关闭Xshell。 请注意,由于Xshell的版本和设置可能存在差异,这个示例脚本可能并不适用于所有环境。您可能需要根据自己的实际情况进行适当的调整。 ### 回答3: 在VBScript中编写一个自动登录Xshell服务器的脚本是可行的。以下是一个示例代码,实现自动登录Xshell服务器。 ```vbscript ' 创建一个Shell对象 Set objShell = CreateObject("WScript.Shell") ' 定义服务器IP、用户名和密码 serverIP = "服务器IP地址" username = "你的用户名" password = "你的密码" ' 打开Xshell应用程序 objShell.Run "C:\Program Files (x86)\NetSarang\Xshell 6\Xshell.exe", 1, True WScript.Sleep 1000 ' 查找Xshell窗口 Set objApp = GetObject("","Xshell.Application") ' 循环等待直到Xshell窗口完全打开 Do Until objApp.Sessions.Count > 0 WScript.Sleep 1000 Loop ' 获取第一个会话窗口 Set objSession = objApp.Sessions.Item(0) ' 输入用户名并发送回车键 objSession.SendKeys username objSession.SendKeys "{ENTER}" WScript.Sleep 500 ' 输入密码并发送回车键 objSession.SendKeys password objSession.SendKeys "{ENTER}" ' 等待一段时间以保证登录成功 WScript.Sleep 2000 ' 执行相关操作,例如执行命令 objSession.SendKeys "ls" objSession.SendKeys "{ENTER}" ' 退出Xshell objApp.Quit ``` 在代码中,你需要修改`serverIP`、`username`和`password`变量为你自己的服务器IP地址、用户名和密码。然后使用VBScript执行该脚本,它会自动打开Xshell应用程序、输入用户名和密码进行登录,并执行其他操作(例如在示例中执行`ls`命令)。最后,脚本会退出Xshell应用程序。 请注意,脚本中的Xshell应用程序路径可能因不同的安装目录而有所不同,你需要根据自己的实际情况进行相应修改。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值