I've written a script that will move my mouse to a location on the screen whenever my remote access software becomes active, the problem I have is that as soon as the remote access software becomes active it appears to capture the mouse and keyboard so nothing happens when I use MouseMove().
Is there any way around this?
..so I have to help someone and remember how to get the session ID,
then remember how to shadow. All from a command prompt. Not cool.
So I wrote this,
Is coded for Windows in English. May work in other languages too.
( as long as "qwinsta" runs, this should work )
For this to work as intended, uncheck "noPrompt", or make the changes
to the group policy, only if you know what you are doing.
( I will not aid anyone on how what, as I'm not qualified )
This is for when all works as you wish, but have to use the
command line to shadow a user ( and everyone is in a hurry ).
This gives you a list of users to just click to help the
user on a remote session, by guiding them ( view ) or
interacting with the desktop ( control ).
I do not advise to change anything on your system, nor to use this,
but if you find it useful, then, it is a very practical utility.
I did not post in the examples forum as is not an example worth posting.
It grabs the text out of qwinsta and runs mstsc. Not a noteworthy example.
At this moment I'm trying to make a RDP tool to make multiple connections and switch between them.
Curently I'm having troubles in making multiple connections and got some error's.
I know why I get the error's (trying to change a active connection) but I'm not sure how to solve this.
Does somebody know a cleaver way to make it scalable into more connections in the same embeded window?
Also I'm open for sugestions for making this code better
Below the code I'm working on at the moment:
#include <ButtonConstants.au3> #include <ComboConstants.au3> #include <GUIConstantsEx.au3> #include <WinAPI.au3> #include <WindowsConstants.au3> #include <Array.au3> #include <File.au3> #Include <GuiComboBoxEx.au3> Global $configfile = @ScriptDir & "\config.rto" Global $configarray Global $RDP_id = False Global $RDP_name = False Global $RDP_ip = False Global $RDP_usr = False Global $RDP_dom = False Global $RDP_pass = False $Form1 = GUICreate("Form1",952, 675, -1, -1, $WS_OVERLAPPEDWINDOW + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN) $Combo1 = GUICtrlCreateCombo("Combo1", 8, 8, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) $Button1 = GUICtrlCreateButton("Connect", 160, 8, 75, 25) $Button2 = GUICtrlCreateButton("Disconnect", 240, 8, 75, 25) $Button3 = GUICtrlCreateButton("Button3", 320, 8, 75, 25) $oRDP = ObjCreate("MsTscAx.MsTscAx.10") $oRDP_Ctrl = GUICtrlCreateObj($oRDP, 64, 44, 800, 600) GUICtrlSetResizing(-1, $GUI_DOCKALL) GUICtrlSetStyle($oRDP_Ctrl , $WS_VISIBLE) GUISetState(@SW_SHOW) fetch_config() While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Combo1 set_config(GUICtrlRead($Combo1)) Case $Button1 $oRDP.DesktopWidth = 800 $oRDP.DesktopHeight = 600 $oRDP.Fullscreen = False $oRDP.ColorDepth = 16 $oRDP.AdvancedSettings3.SmartSizing = True $oRDP.Server = $RDP_ip $oRDP.UserName = $RDP_usr $oRDP.Domain = $RDP_dom $oRDP.AdvancedSettings2.ClearTextPassword = $RDP_pass $oRDP.ConnectingText = "Connecting to " & $RDP_ip $oRDP.DisconnectedText = "Disconnected from " & $RDP_ip $oRDP.StartConnected = True $oRDP.Connect() Case $Button2 $oRDP.Disconnect() Case $Button3 WinSetState($oRDP_Ctrl, "", @SW_HIDE) EndSwitch WEnd Func cmdkey() ;cmdkey /generic:TERMSRV/ip1 /user:dom1\usr1 /pass:pass1 EndFunc Func set_config($selected = GUICtrlRead($Combo1)) Local $found = False Local $found_id = False $RDP_id = False $RDP_name = False $RDP_ip = False $RDP_usr = False $RDP_dom = False $RDP_pass = False For $x = 1 To UBound($configarray,1) -1 If $selected = $configarray[$x] Then ;~ ConsoleWrite ($configarray[$x]& @CRLF & $configarray[$x]& @CRLF & $configarray[$x]& @CRLF & $configarray[$x]& @CRLF & $configarray[$x]& @CRLF & $configarray[$x]& @CRLF) $found_id = $x $found = True EndIf Next If $found Then $RDP_id = $configarray[$found_id] $RDP_name = $configarray[$found_id] $RDP_ip = $configarray[$found_id] $RDP_usr = $configarray[$found_id] $RDP_dom = $configarray[$found_id] $RDP_pass = $configarray[$found_id] Return True Else Return False EndIf EndFunc Func fetch_config() If FileExists($configfile) Then ;~ ReDim $configarray If _FileReadToArray($configfile, $configarray , 0 , "|") Then _GUICtrlComboBox_ResetContent($Combo1) _GUICtrlComboBox_BeginUpdate($Combo1) ;~ _GUICtrlComboBox_AddString($Combo1, "") For $i = 1 To UBound($configarray,1) -1 _GUICtrlComboBox_AddString($Combo1, $configarray[$i]) Next _GUICtrlComboBox_EndUpdate($Combo1) _GUICtrlComboBox_SetCurSel($Combo1, 0) If set_config(GUICtrlRead($Combo1)) Then Return True Else Return False EndIf Else Return False EndIf Else If Not _FileCreate($configfile) Then Return False Else Local $LC_fileSetTime = FileSetTime($configfile, @YEAR & @MON & @MDAY , $FT_CREATED) If $LC_fileSetTime = 0 Then Return False Else Local $set_rights = Run(@ComSpec & " /c icacls " & $configfile & " /grant Users:F" , "" , @SW_HIDE) If Not $set_rights Then Return False Else Local $file = FileOpen($configfile, 1) If $file = -1 Then Return False Else FileWrite($file, "ID|name|IP|username|domain|pass" & @CRLF) FileWrite($file, "1|name1|ip1|name1|dom1|pass1" & @CRLF) FileWrite($file, "2|name2|ip2|name2|dom2|pass2" & @CRLF) EndIf FileClose($file) fetch_config() Return True EndIf EndIf EndIf EndIf EndFunc
error at reuse connection :
(51) : ==> The requested action with this object has failed.: $oRDP.Connect() $oRDP^ ERROR >Exit code: 1 Time: 13.73
I have an aws cloud machine where I kept all the build process to create some set of zip files and uploading them to OneDrive.
Once it is completed, I have another local machine in our environment which is a acting as a local share server also.
Is there anyway to notify this machine(without public IP) to start downloading these files.
I have written an AutoIT exe to download these files and copy them to respective locations.But don't know how to notify this from the remote machine.
With ProcessList ( ["name"] ) we are able to get the running process list from the local machine.
Is there anyway to get the list from Remote machine, more precisely to get to know the status whether a particular application is running or not on remote machine using AutoIT?
We can implement through PSList.exe, but again we need to parse the text of it to read the output.
Is there any direct UDF in AutoIT?