CN111221605A - 基于RDP协议的控制Windows主机的方法及装置 - Google Patents
基于RDP协议的控制Windows主机的方法及装置 Download PDFInfo
- Publication number
- CN111221605A CN111221605A CN201911130982.5A CN201911130982A CN111221605A CN 111221605 A CN111221605 A CN 111221605A CN 201911130982 A CN201911130982 A CN 201911130982A CN 111221605 A CN111221605 A CN 111221605A
- Authority
- CN
- China
- Prior art keywords
- command
- file
- windows host
- line tool
- standard
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种基于RDP协议的控制Windows主机的方法及装置,该方法包括:获取受控Windows主机的属性信息;根据属性信息在目标受控Windows主机上创建映射磁盘,并将命令行工具服务端拷贝至映射磁盘,以使命令行工具服务端在映射磁盘中创建多个文件;将用户输入的命令写入命令文件,以使命令行工具服务端执行命令文件中的命令,并将命令执行状态写入状态文件;当状态文件中的命令执行状态为完成状态时,读取标准输出文件中的内容进行输出,以得到命令执行结果。本发明的方法在控制Windows主机中,可以简单的通过命令行实现对目标受控Windows主机的控制,并返回控制结果。
Description
技术领域
本发明涉及计算机的技术领域,尤其是涉及一种基于RDP协议的控制Windows主机的方法及装置。
背景技术
当用户想要远程控制一台Windows操作***的机器时,现有技术中的方法是:必须通过一台支持图像界面的控制端机器远程登录到被控Windows机器的桌面,远程登录后,在支持图像界面的控制端机器上便能看到被控Windows机器的桌面,之后再通过看到的桌面对被控Windows机器进行操作。
上述方法要求控制端机器必须支持图像界面能对远程界面进行渲染,操作较复杂且对控制端机器的配置也有一定要求。
发明内容
本发明的目的在于提供一种基于RDP协议的控制Windows主机的方法及装置,以缓解现有的方法在对被控Windows机器进行控制时,对控制端机器性能、配置要求高,操作复杂的技术问题。
本发明提供的一种基于RDP协议的控制Windows主机的方法,应用于命令行工具客户端,所述命令行工具客户端设置于控制Windows主机上,所述方法包括:获取受控Windows主机的属性信息;根据所述属性信息在目标受控Windows主机上创建映射磁盘,并将命令行工具服务端拷贝至所述映射磁盘,以使所述命令行工具服务端在所述映射磁盘中创建多个文件,其中,所述多个文件包括:标准输入文件、标准输出文件、标准出错文件、命令文件和状态文件;将用户输入的命令写入所述命令文件,以使所述命令行工具服务端执行所述命令文件中的命令,并将命令执行状态写入所述状态文件;当所述状态文件中的命令执行状态为完成状态时,读取所述标准输出文件中的内容进行输出,以得到命令执行结果。
进一步的,所述属性信息包括:用户名信息和密码信息。
进一步的,根据所述属性信息在目标受控Windows主机上创建映射磁盘包括:根据所述属性信息确定所述目标受控Windows主机,其中,所述目标受控Windows主机为与所述属性信息匹配的Windows主机;调用FreeRdp在所述目标受控Windows主机上创建所述映射磁盘。
本发明还提供了一种基于RDP协议的控制Windows主机的方法,应用于命令行工具服务端,所述命令行工具服务端设置于目标受控Windows主机上,所述方法包括:在所述目标受控Windows主机的映射磁盘中创建多个文件,其中,所述映射磁盘为命令行工具客户端在所述目标受控Windows主机上创建得到的,所述多个文件包括:标准输入文件、标准输出文件、标准出错文件、命令文件和状态文件;对所述命令文件进行监听,并执行监听得到的所述命令文件中的命令;根据所述命令的执行情况,将命令执行状态写入所述状态文件,并在所述命令执行完成后,将命令执行结果写入所述标准输出文件,以使所述命令行工具客户端在监听到所述状态文件中的命令执行状态为完成状态后,从所述标准输出文件中读取所述命令执行结果。
进一步的,所述命令行工具服务端设置于所述目标受控Windows主机中的映射磁盘中,其中,当所述命令行工具客户端中输入受控Windows主机的属性信息后,所述命令行工具客户端将所述命令行工具服务端从控制Windows主机上拷贝至与所述属性信息匹配的所述目标受控Windows主机中。
进一步的,在所述目标受控Windows主机的映射磁盘中创建多个文件之后,在对所述命令文件进行监听之前,所述方法还包括:执行标准输入、标准输出和标准出错的重定向。
进一步的,执行标准输入、标准输出和标准出错的重定向包括:将所述标准输入重定向至所述标准输入文件;将所述标准输出重定向至所述标准输出文件;将所述标准出错重定向至所述标准出错文件。
进一步的,执行监听得到的所述命令文件中的命令包括:读取所述命令文件中的命令至所述目标受控Windows主机的剪切板;调用FreeRdp在所述目标受控Windows主机上模拟键盘操作,以对所述命令进行执行。
本发明还提供了一种基于RDP协议的控制Windows主机的装置,应用于命令行工具客户端,所述命令行工具客户端设置于控制Windows主机上,所述装置包括:获取单元,用于获取受控Windows主机的属性信息;
第一创建单元,用于根据所述属性信息在目标受控Windows主机上创建映射磁盘,并将命令行工具服务端拷贝至所述映射磁盘,以使所述命令行工具服务端在所述映射磁盘中创建多个文件,其中,所述多个文件包括:标准输入文件、标准输出文件、标准出错文件、命令文件和状态文件;命令写入单元,用于将用户输入的命令写入所述命令文件,以使所述命令行工具服务端执行所述命令文件中的命令,并将命令执行状态写入所述状态文件;读取单元,用于当所述状态文件中的命令执行状态为完成状态时,读取所述标准输出文件中的内容进行输出,以得到命令执行结果。
本发明还提供了一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述内容中所述的方法的步骤。
在本发明实施例中,命令行工具客户端先获取受控Windows主机的属性信息;然后,根据属性信息在目标受控Windows主机上创建映射磁盘,并将命令行工具服务端拷贝至映射磁盘,以使命令行工具服务端在映射磁盘中创建多个文件;进而,将用户输入的命令写入命令文件,以使命令行工具服务端执行命令文件中的命令,并将命令执行状态写入状态文件;最后,当状态文件中的命令执行状态为完成状态时,读取标准输出文件中的内容进行输出,以得到命令执行结果。通过上述描述可知,本发明的基于RDP协议的控制Windows主机的方法中,控制Windows主机无需支持图像界面远程登录到目标受控Windows主机的桌面,在控制Windows主机中可以简单的通过命令行实现对目标受控Windows主机的控制,并返回控制结果,缓解了现有的方法在对被控Windows机器进行控制时,对控制端机器性能、配置要求高,操作复杂的技术问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的以命令行工具客户端为执行主体的基于RDP协议的控制Windows主机的方法的流程图;
图2为本发明实施例提供的以命令行工具服务端为执行主体的基于RDP协议的控制Windows主机的方法的流程图;
图3为本发明实施例提供的执行监听得到的命令文件中的命令的方法流程图;
图4为本发明实施例提供的一种基于RDP协议的控制Windows主机的装置的示意图;
图5为本发明实施例提供的另一种基于RDP协议的控制Windows主机的装置的示意图;
图6为本发明实施例提供的一种电子设备的示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于RDP协议的控制Windows主机的方法进行详细介绍。
实施例一:
根据本发明实施例,提供了一种基于RDP协议的控制Windows主机的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种基于RDP协议的控制Windows主机的方法的流程图,该方法应用于命令行工具客户端,该命令行工具客户端设置于控制Windows主机上,如图1所示,该方法包括如下步骤:
步骤S102,获取受控Windows主机的属性信息;
在本发明实施例中,属性信息包括:用户名信息和密码信息,具体为受控Windows主机的用户名和受控Windows主机的密码。
上述命令行工具客户端具体可以为可执行文件,在控制Windows主机上运行上述可执行文件后,会出现命令行窗口,该命令行窗口可以理解为命令提示符,在操作***中,提示进行输入的一种工作提示符。用户先在命令行工具客户端(即命令行窗口)中输入受控Windows主机的用户名和受控Windows主机的密码,命令行工具客户端就能获取得到受控Windows主机的属性信息。
步骤S104,根据属性信息在目标受控Windows主机上创建映射磁盘,并将命令行工具服务端拷贝至映射磁盘,以使命令行工具服务端在映射磁盘中创建多个文件,其中,多个文件包括:标准输入文件、标准输出文件、标准出错文件、命令文件和状态文件;
在获取到受控Windows主机的属性信息后,命令行工具客户端进一步根据属性信息在目标受控Windows主机上创建映射磁盘,该映射磁盘用于将网络上其它机器的共享文件夹映射到自己机器上的一个磁盘,在本发明中,该映射磁盘具体可以为将目标受控Windows主机的共享文件夹映射到控制Windows主机上的一个磁盘,其中包含多个命令行工具客户端和命令行工具服务端都可以访问的共享文件。
创建映射磁盘后,命令行工具客户端进一步将控制Windows主机中的命令行工具服务端拷贝至映射磁盘,并启动命令行工具服务端,进而命令行工具服务端在映射磁盘中创建多个文件,具体可以包括:标准输入文件、标准输出文件、标准出错文件、命令文件和状态文件。
步骤S106,将用户输入的命令写入命令文件,以使命令行工具服务端执行命令文件中的命令,并将命令执行状态写入状态文件;
当用户需要对目标受控Windows主机进行控制时,用户将命令(具体可以为对目标受控Windows主机进行控制的控制命令)输入至命令行工具客户端,进而命令行工具客户端通过其标准输入写入至映射磁盘中的命令文件,而目标受控Windows主机中的命令行工具服务端实时监听命令文件,当其监听到命令文件中有命令写入时,执行写入的命令,并根据命令的执行情况命令执行状态写入状态文件。
步骤S108,当状态文件中的命令执行状态为完成状态时,读取标准输出文件中的内容进行输出,以得到命令执行结果。
而命令行工具客户端实时监听状态文件,当状态文件中的命令执行状态为完成状态时,命令行工具客户端读取映射磁盘中标准输出文件中的内容至自身的标准输出,这样,用户便能看到命令执行结果。
在本发明实施例中,命令行工具客户端先获取受控Windows主机的属性信息;然后,根据属性信息在目标受控Windows主机上创建映射磁盘,并将命令行工具服务端拷贝至映射磁盘,以使命令行工具服务端在映射磁盘中创建多个文件;进而,将用户输入的命令写入命令文件,以使命令行工具服务端执行命令文件中的命令,并将命令执行状态写入状态文件;最后,当状态文件中的命令执行状态为完成状态时,读取标准输出文件中的内容进行输出,以得到命令执行结果。通过上述描述可知,本发明的基于RDP协议的控制Windows主机的方法中,控制Windows主机无需支持图像界面远程登录到目标受控Windows主机的桌面,在控制Windows主机中可以简单的通过命令行实现对目标受控Windows主机的控制,并返回控制结果,缓解了现有的方法在对被控Windows机器进行控制时,对控制端机器性能、配置要求高,操作复杂的技术问题。
上述内容以命令行工具客户端为执行主体对本发明的基于RDP协议的控制Windows主机的方法进行了简要介绍,下面对其中涉及到的具体内容进行详细描述。
在本发明的一个可选实施例中,根据属性信息在目标受控Windows主机上创建映射磁盘包括如下步骤:根据属性信息确定目标受控Windows主机,其中,目标受控Windows主机为与属性信息匹配的Windows主机;调用FreeRdp在目标受控Windows主机上创建映射磁盘。
需要说明的是:FreeRdp是一种开源的用于连接Windows操作***的软件。
本发明的基于RDP协议的控制Windows主机的方法是在目标受控Windows主机上创建映射磁盘,命令行工具服务端和命令行工具客户端同时在映射磁盘监听文件(命令行工具服务端监听命令文件,命令行工具客户端监听状态文件),命令行工具服务端和命令行工具客户端的交互通过映射磁盘中的文件来传递命令、命令执行状态、命令执行结果等信息,控制Windows主机无需支持图像界面远程登录到目标受控Windows主机的桌面,对控制Windows主机性能、配置要求低,且操作简单。
实施例二:
根据本发明实施例,提供了一种基于RDP协议的控制Windows主机的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的一种基于RDP协议的控制Windows主机的方法的流程图,该方法应用于命令行工具服务端,该命令行工具服务端设置于目标受控Windows主机上,如图2所示,该方法包括如下步骤:
步骤S202,在目标受控Windows主机的映射磁盘中创建多个文件,其中,映射磁盘为命令行工具客户端在目标受控Windows主机上创建得到的,多个文件包括:标准输入文件、标准输出文件、标准出错文件、命令文件和状态文件;
这里继续以命令行工具服务端为执行主体对本发明的基于RDP协议的控制Windows主机的方法进行介绍。
在本发明实施例中,映射磁盘为用户在控制Windows主机上运行命令行工具客户端的可执行文件后,用户在命令行工具客户端中输入受控Windows主机的用户名和受控Windows主机的密码,进而命令行工具客户端根据受控Windows主机的用户名和受控Windows主机的密码在目标受控Windows主机上创建得到的。
命令行工具服务端设置于目标受控Windows主机上,具体的,命令行工具服务端设置于目标受控Windows主机中的映射磁盘中,其中,当命令行工具客户端中输入受控Windows主机的属性信息(即受控Windows主机的用户名和受控Windows主机的密码)后,命令行工具客户端将命令行工具服务端从控制Windows主机上拷贝至与属性信息匹配的目标受控Windows主机中,具体拷贝至其中的映射磁盘中。
进而命令行工具服务端在映射磁盘中启动,达到在映射磁盘中创建多个文件的目的。
步骤S204,对命令文件进行监听,并执行监听得到的命令文件中的命令;
在完成上述多个文件的创建后,命令行工具服务端实时对命令文件进行监听,当监听得到命令文件中写入需要执行的命令时,执行上述命令。下文中再对执行上述命令的过程进行详细描述,在此不再赘述。
步骤S206,根据命令的执行情况,将命令执行状态写入状态文件,并在命令执行完成后,将命令执行结果写入标准输出文件,以使命令行工具客户端在监听到状态文件中的命令执行状态为完成状态后,从标准输出文件中读取命令执行结果。
在执行上述命令时,根据命令的执行情况,命令行工具服务端将当前的命令执行状态写入状态文件,并在命令执行完成后,将命令执行结果写入标准输出文件。因为命令行工具客户端在实时对状态文件进行监听,当命令行工具客户端监听得到状态文件中的命令执行状态为完成状态后,从标准输出文件中读取命令执行结果,并进行输出,这样,用户便能在控制Windows主机上看到命令执行结果。
在本发明实施例中,控制Windows主机无需支持图像界面远程登录到目标受控Windows主机的桌面,在控制Windows主机中可以简单的通过命令行实现对目标受控Windows主机的控制,并返回控制结果,缓解了现有的方法在对被控Windows机器进行控制时,对控制端机器性能、配置要求高,操作复杂的技术问题。
上述内容以命令行工具服务端为执行主体对本发明的基于RDP协议的控制Windows主机的方法进行了简要介绍,下面对其中涉及到的其它内容进行详细描述。
在本发明的一个可选实施例中,在目标受控Windows主机的映射磁盘中创建多个文件之后,在对命令文件进行监听之前,该方法还包括:执行标准输入、标准输出和标准出错的重定向。
具体的,执行标准输入、标准输出和标准出错的重定向的过程包括:将标准输入重定向至标准输入文件;将标准输出重定向至标准输出文件;将标准出错重定向至标准出错文件。
上述执行标准输入、标准输出和标准出错的重定向是指执行命令行工具服务端自身的标准输入、标准输出和标准出错的重定向。若不进行上述重定向,那么,命令执行结果会输出至目标受控Windows主机的显示器,若进行上述重定向后,命令执行结果会输出至标准输出文件(只有输出至标准输出文件后,命令行工具客户端才能从中读取得到命令执行结果),而对于标准输入、标准出错的重定向,能达到同样的效果。
在本发明实施例中,参考图3,执行监听得到的命令文件中的命令包括如下步骤:
步骤S301,读取命令文件中的命令至目标受控Windows主机的剪切板;
步骤S302,调用FreeRdp在目标受控Windows主机上模拟键盘操作,以对命令进行执行。
上述模拟键盘操作具体是指,执行Win+R(打开运行框),Ctrl+V(将命令粘贴到运行框),Enter(回车,开始执行命令)的过程,命令执行结束后,命令行工具服务端将命令执行状态写入状态文件,同时命令执行结果也通过标准输出的重定向自动写入标准输出文件中,以使命令行工具客户端在监听到状态文件中的命令执行状态为完成状态时,从标准输出文件中读取命令执行结果进行输出。
本发明的基于RDP协议的控制Windows主机的方法是在目标受控Windows主机上创建映射磁盘,命令行工具服务端和命令行工具客户端同时在映射磁盘监听文件(命令行工具服务端监听命令文件,命令行工具客户端监听状态文件),命令行工具服务端和命令行工具客户端的交互通过映射磁盘中的文件来传递命令、命令执行状态、命令执行结果等信息,控制Windows主机无需支持图像界面远程登录到目标受控Windows主机的桌面,对控制Windows主机性能、配置要求低,且操作简单。
为了能更加便于理解本发明的基于RDP协议的控制Windows主机的方法的过程,下面对该过程再进行整体介绍:
命令行工具客户端启动时,根据传入的受控Windows主机的用户名和密码,在目标受控Windows主机上创建映射磁盘,并将命令行工具服务端拷贝到映射磁盘中,启动上述命令行工具服务端,这样,命令行工具服务端会在映射磁盘中创建多个文件(具体可以包括:标准输入文件、标准输出文件、标准出错文件、命令文件和状态文件),然后,命令行工具服务端将自身的stdin(标准输入)、stdout(标准输出)、stderr(标准出错)重定向到映射磁盘中的标准输入文件、标准输出文件、标准出错文件。当需要对目标受控Windows主机执行控制命令时,命令行工具客户端将命令写入映射磁盘中的命令行文件,随后监听状态文件(为命令行工具服务端执行命令时的状态)。
命令行工具服务端监听命令文件,当命令行工具服务端监听到有需要执行的命令时,读取命令行文件中的命令,将其复制到剪切板。模拟键盘执行Win+R(打开运行框),Ctrl+V(将命令粘贴到运行框),Enter(回车,开始执行命令)。命令执行结束后,命令行工具服务端将命令执行完成状态写入状态文件。客户端监听到状态文件中命令执行状态为完成状态后,读取标准输出文件中的内容输出到标准输出,即为命令在目标受控Windows主机中的输出。
实施例三:
本发明实施例还提供了一种基于RDP协议的控制Windows主机的装置,该基于RDP协议的控制Windows主机的装置应用于命令行工具客户端,该命令行工具客户端设置于控制Windows主机上,主要用于执行本发明实施例上述内容所提供的基于RDP协议的控制Windows主机的方法,以下对本发明实施例提供的基于RDP协议的控制Windows主机的装置做具体介绍。
图4是根据本发明实施例的一种基于RDP协议的控制Windows主机的装置的示意图,如图4所示,该基于RDP协议的控制Windows主机的装置主要包括监听并获取单元10、第一创建单元20、命令写入单元30和读取单元40,其中:
获取单元,用于获取受控Windows主机的属性信息;
第一创建单元,用于根据属性信息在目标受控Windows主机上创建映射磁盘,并将命令行工具服务端拷贝至映射磁盘,以使命令行工具服务端在映射磁盘中创建多个文件,其中,多个文件包括:标准输入文件、标准输出文件、标准出错文件、命令文件和状态文件;
命令写入单元,用于将用户输入的命令写入命令文件,以使命令行工具服务端执行命令文件中的命令,并将命令执行状态写入状态文件;
读取单元,用于当状态文件中的命令执行状态为完成状态时,读取标准输出文件中的内容进行输出,以得到命令执行结果。
在本发明实施例中,命令行工具客户端先获取受控Windows主机的属性信息;然后,根据属性信息在目标受控Windows主机上创建映射磁盘,并将命令行工具服务端拷贝至映射磁盘,以使命令行工具服务端在映射磁盘中创建多个文件;进而,将用户输入的命令写入命令文件,以使命令行工具服务端执行命令文件中的命令,并将命令执行状态写入状态文件;最后,当状态文件中的命令执行状态为完成状态时,读取标准输出文件中的内容进行输出,以得到命令执行结果。通过上述描述可知,本发明的基于RDP协议的控制Windows主机的方法中,控制Windows主机无需支持图像界面远程登录到目标受控Windows主机的桌面,在控制Windows主机中可以简单的通过命令行实现对目标受控Windows主机的控制,并返回控制结果,缓解了现有的方法在对被控Windows机器进行控制时,对控制端机器性能、配置要求高,操作复杂的技术问题。
可选地,属性信息包括:用户名信息和密码信息。
可选地,上述第一创建单元还用于:根据属性信息确定目标受控Windows主机,其中,目标受控Windows主机为与属性信息匹配的Windows主机;调用FreeRdp在目标受控Windows主机上创建映射磁盘。
该实施例三中的具体内容可以参考上述实施例一中的相关描述,在此不再赘述。
实施例四:
本发明实施例还提供了一种基于RDP协议的控制Windows主机的装置,该基于RDP协议的控制Windows主机的装置应用于命令行工具服务端,该命令行工具服务端设置于目标受控Windows主机上,主要用于执行本发明实施例上述内容所提供的基于RDP协议的控制Windows主机的方法,以下对本发明实施例提供的基于RDP协议的控制Windows主机的装置做具体介绍。
图5是根据本发明实施例的一种基于RDP协议的控制Windows主机的装置的示意图,如图5所示,该基于RDP协议的控制Windows主机的装置主要包括第二创建单元50、监听执行单元60和命令执行状态写入单元70,其中:
第二创建单元,用于在目标受控Windows主机的映射磁盘中创建多个文件,其中,映射磁盘为命令行工具客户端在目标受控Windows主机上创建得到的,多个文件包括:标准输入文件、标准输出文件、标准出错文件、命令文件和状态文件;
监听执行单元,用于对命令文件进行监听,并执行监听得到的命令文件中的命令;
命令执行状态写入单元,用于根据命令的执行情况,将命令执行状态写入状态文件,并在命令执行完成后,将命令执行结果写入标准输出文件,以使命令行工具客户端在监听到状态文件中的命令执行状态为完成状态后,从标准输出文件中读取命令执行结果。
在本发明实施例中,控制Windows主机无需支持图像界面远程登录到目标受控Windows主机的桌面,在控制Windows主机中可以简单的通过命令行实现对目标受控Windows主机的控制,并返回控制结果,缓解了现有的方法在对被控Windows机器进行控制时,对控制端机器性能、配置要求高,操作复杂的技术问题。
可选地,命令行工具服务端设置于目标受控Windows主机中的映射磁盘中,其中,当命令行工具客户端中输入受控Windows主机的属性信息后,命令行工具客户端将命令行工具服务端从控制Windows主机上拷贝至与属性信息匹配的目标受控Windows主机中。
可选地,该装置还用于:执行标准输入、标准输出和标准出错的重定向。
可选地,该装置还用于:将标准输入重定向至标准输入文件;将标准输出重定向至标准输出文件;将标准出错重定向至标准出错文件。
可选地,上述监听执行单元还用于:读取命令文件中的命令至目标受控Windows主机的剪切板;调用FreeRdp在目标受控Windows主机上模拟键盘操作,以对命令进行执行。
该实施例四中的具体内容可以参考上述实施例二中的相关描述,在此不再赘述。
实施例五:
本发明实施例提供了一种电子设备,参考图6,该电子设备包括:处理器80,存储器81,总线82和通信接口83,处理器80、通信接口83和存储器81通过总线82连接;处理器80用于执行存储器81中存储的可执行模块,例如计算机程序。处理器执行计算及程序时实现如方法实施例中描述的方法的步骤。
其中,存储器81可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口83(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线82可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器81用于存储程序,处理器80在接收到执行指令后,执行程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器80中,或者由处理器80实现。
处理器80可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器80中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器80可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器81,处理器80读取存储器81中的信息,结合其硬件完成上述方法的步骤。
在另一个实施例中,还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述实施例一中所述的方法的步骤。
本发明实施例所提供的基于RDP协议的控制Windows主机的方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种基于RDP协议的控制Windows主机的方法,其特征在于,应用于命令行工具客户端,所述命令行工具客户端设置于控制Windows主机上,所述方法包括:
获取受控Windows主机的属性信息;
根据所述属性信息在目标受控Windows主机上创建映射磁盘,并将命令行工具服务端拷贝至所述映射磁盘,以使所述命令行工具服务端在所述映射磁盘中创建多个文件,其中,所述多个文件包括:标准输入文件、标准输出文件、标准出错文件、命令文件和状态文件;
将用户输入的命令写入所述命令文件,以使所述命令行工具服务端执行所述命令文件中的命令,并将命令执行状态写入所述状态文件;
当所述状态文件中的命令执行状态为完成状态时,读取所述标准输出文件中的内容进行输出,以得到命令执行结果。
2.根据权利要求1所述的方法,其特征在于,所述属性信息包括:用户名信息和密码信息。
3.根据权利要求1所述的方法,其特征在于,根据所述属性信息在目标受控Windows主机上创建映射磁盘包括:
根据所述属性信息确定所述目标受控Windows主机,其中,所述目标受控Windows主机为与所述属性信息匹配的Windows主机;
调用FreeRdp在所述目标受控Windows主机上创建所述映射磁盘。
4.一种基于RDP协议的控制Windows主机的方法,其特征在于,应用于命令行工具服务端,所述命令行工具服务端设置于目标受控Windows主机上,所述方法包括:
在所述目标受控Windows主机的映射磁盘中创建多个文件,其中,所述映射磁盘为命令行工具客户端在所述目标受控Windows主机上创建得到的,所述多个文件包括:标准输入文件、标准输出文件、标准出错文件、命令文件和状态文件;
对所述命令文件进行监听,并执行监听得到的所述命令文件中的命令;
根据所述命令的执行情况,将命令执行状态写入所述状态文件,并在所述命令执行完成后,将命令执行结果写入所述标准输出文件,以使所述命令行工具客户端在监听到所述状态文件中的命令执行状态为完成状态后,从所述标准输出文件中读取所述命令执行结果。
5.根据权利要求4所述的方法,其特征在于,所述命令行工具服务端设置于所述目标受控Windows主机中的映射磁盘中,其中,当所述命令行工具客户端中输入受控Windows主机的属性信息后,所述命令行工具客户端将所述命令行工具服务端从控制Windows主机上拷贝至与所述属性信息匹配的所述目标受控Windows主机中。
6.根据权利要求4所述的方法,其特征在于,在所述目标受控Windows主机的映射磁盘中创建多个文件之后,在对所述命令文件进行监听之前,所述方法还包括:
执行标准输入、标准输出和标准出错的重定向。
7.根据权利要求6所述的方法,其特征在于,执行标准输入、标准输出和标准出错的重定向包括:
将所述标准输入重定向至所述标准输入文件;
将所述标准输出重定向至所述标准输出文件;
将所述标准出错重定向至所述标准出错文件。
8.根据权利要求4所述的方法,其特征在于,执行监听得到的所述命令文件中的命令包括:
读取所述命令文件中的命令至所述目标受控Windows主机的剪切板;
调用FreeRdp在所述目标受控Windows主机上模拟键盘操作,以对所述命令进行执行。
9.一种基于RDP协议的控制Windows主机的装置,其特征在于,应用于命令行工具客户端,所述命令行工具客户端设置于控制Windows主机上,所述装置包括:
获取单元,用于获取受控Windows主机的属性信息;
第一创建单元,用于根据所述属性信息在目标受控Windows主机上创建映射磁盘,并将命令行工具服务端拷贝至所述映射磁盘,以使所述命令行工具服务端在所述映射磁盘中创建多个文件,其中,所述多个文件包括:标准输入文件、标准输出文件、标准出错文件、命令文件和状态文件;
命令写入单元,用于将用户输入的命令写入所述命令文件,以使所述命令行工具服务端执行所述命令文件中的命令,并将命令执行状态写入所述状态文件;
读取单元,用于当所述状态文件中的命令执行状态为完成状态时,读取所述标准输出文件中的内容进行输出,以得到命令执行结果。
10.一种电子设备,其特征在于,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至3中任一项所述的方法的步骤,或者,所述处理器执行所述计算机程序时实现上述权利要求4至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911130982.5A CN111221605B (zh) | 2019-11-18 | 2019-11-18 | 基于RDP协议的控制Windows主机的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911130982.5A CN111221605B (zh) | 2019-11-18 | 2019-11-18 | 基于RDP协议的控制Windows主机的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221605A true CN111221605A (zh) | 2020-06-02 |
CN111221605B CN111221605B (zh) | 2022-07-08 |
Family
ID=70827655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911130982.5A Active CN111221605B (zh) | 2019-11-18 | 2019-11-18 | 基于RDP协议的控制Windows主机的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221605B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1969280A (zh) * | 2004-01-16 | 2007-05-23 | 微软公司 | 使用命令行环境的远程***管理 |
US20090157884A1 (en) * | 2007-12-13 | 2009-06-18 | International Business Machines Corporation | Generic remote connection to a command line interface application |
CN102736936A (zh) * | 2012-05-31 | 2012-10-17 | 东南大学 | 一种控制台程序远程交互的方法 |
CN103559445A (zh) * | 2013-11-07 | 2014-02-05 | 北京奇虎科技有限公司 | 一种应用程序交互控制方法及装置 |
CN104283879A (zh) * | 2014-10-09 | 2015-01-14 | 广州杰赛科技股份有限公司 | 虚拟机远程连接方法和*** |
CN104468213A (zh) * | 2014-12-04 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 一种交换机远程管理***和方法 |
CN106330567A (zh) * | 2016-09-14 | 2017-01-11 | 郑州云海信息技术有限公司 | 一种服务器集群的服务器管理控制方法及*** |
CN106708489A (zh) * | 2015-11-17 | 2017-05-24 | 杭州海康威视数字技术股份有限公司 | 设备的调试方法及*** |
CN108810124A (zh) * | 2018-06-02 | 2018-11-13 | 上海清鹤科技股份有限公司 | 一种对公网环境下大量多媒体终端的远程访问控制*** |
CN109857507A (zh) * | 2019-02-21 | 2019-06-07 | 成都安恒信息技术有限公司 | 一种自动化远程执行Windows程序的方法 |
-
2019
- 2019-11-18 CN CN201911130982.5A patent/CN111221605B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1969280A (zh) * | 2004-01-16 | 2007-05-23 | 微软公司 | 使用命令行环境的远程***管理 |
US20090157884A1 (en) * | 2007-12-13 | 2009-06-18 | International Business Machines Corporation | Generic remote connection to a command line interface application |
CN102736936A (zh) * | 2012-05-31 | 2012-10-17 | 东南大学 | 一种控制台程序远程交互的方法 |
CN103559445A (zh) * | 2013-11-07 | 2014-02-05 | 北京奇虎科技有限公司 | 一种应用程序交互控制方法及装置 |
CN104283879A (zh) * | 2014-10-09 | 2015-01-14 | 广州杰赛科技股份有限公司 | 虚拟机远程连接方法和*** |
CN104468213A (zh) * | 2014-12-04 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 一种交换机远程管理***和方法 |
CN106708489A (zh) * | 2015-11-17 | 2017-05-24 | 杭州海康威视数字技术股份有限公司 | 设备的调试方法及*** |
CN106330567A (zh) * | 2016-09-14 | 2017-01-11 | 郑州云海信息技术有限公司 | 一种服务器集群的服务器管理控制方法及*** |
CN108810124A (zh) * | 2018-06-02 | 2018-11-13 | 上海清鹤科技股份有限公司 | 一种对公网环境下大量多媒体终端的远程访问控制*** |
CN109857507A (zh) * | 2019-02-21 | 2019-06-07 | 成都安恒信息技术有限公司 | 一种自动化远程执行Windows程序的方法 |
Non-Patent Citations (1)
Title |
---|
苏开红: "基于WebServer的Linux远程登录***的设计与实现", 《电脑知识与技术》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111221605B (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019140828A1 (zh) | 电子装置、分布式***日志查询方法及存储介质 | |
US20180322215A1 (en) | Web page access method and apparatus | |
US11188407B1 (en) | Obtaining computer crash analysis data | |
US10846163B1 (en) | Hybrid hardware and software reporting management | |
US10621114B1 (en) | Standardized interface for storage using an input/output (I/O) adapter device | |
US20130185402A1 (en) | Method and apparatus for developing service processor solutions | |
US9864701B1 (en) | Resource mapping for an input/output device | |
US20230214243A1 (en) | One-machine multi-control method, apparatus, system and electronic device | |
WO2024078223A1 (zh) | 一种电子设备及其PCIe拓扑配置方法和装置 | |
WO2024022355A1 (zh) | 基于rpa和ai的安全漏洞扫描任务处理方法及相关设备 | |
CN112433812A (zh) | 一种虚拟机跨集群迁移方法、***、设备及计算机介质 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN111221605B (zh) | 基于RDP协议的控制Windows主机的方法及装置 | |
CN110633258B (zh) | 日志***方法、装置、计算机装置及存储介质 | |
CN112463067A (zh) | 一种NVMe-oF场景下的数据保护方法及设备 | |
US9836421B1 (en) | Standardized interface for network using an input/output (I/O) adapter device | |
WO2023087941A1 (zh) | 固态硬盘调试空间的访问方法及装置 | |
CN107944564B (zh) | 深度学习作业处理方法、装置、设备及存储介质 | |
CN110958243A (zh) | 一种网络漏洞提交方法、装置、存储介质及电子设备 | |
CN116089124A (zh) | 一种仿真***通信方法、装置、介质 | |
JP2018535495A (ja) | アプリケーションユーザーインターフェース自動テスト方法、電子装置、システム及び記憶媒体 | |
US9697018B2 (en) | Synthesizing inputs to preserve functionality | |
US11163587B2 (en) | Interface that enables streamlined user-friendly initiation/control of modifications and/or initial program loading (IPL) of a target system | |
CN109491870A (zh) | 一种传感器的接入状态的检测方法及装置 | |
CN111090391B (zh) | 一种提高固态硬盘阵列性能的方法与服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |