Jump to content

Remote WMI Control Project


arcker
 Share

Recommended Posts

Project WMI Remote Control (by Arcker)

Project status : Version 1.0 : Release Candidate 1

This script is destined to simplify administration by using WMI, and ONLY WMI

Features :

Remote process management :

Remote command with answer ! (like psexec)

Remote Services (not fully implemented)

More :

Multiple connections (big part of the project => multiple child windows)

ð with resize, maximise support

ð each connection is unique

ð you can add,modify and remove

ð 10 connection maximum (just arbitrary, you can increase the arrays size)

Credential Support

You can connect to remote computer using credentials.

The future (ToDo List):

+Implement PaulIA netenumfunctions

-> (but no credential support here, du to API limits)

+Multilingual Support (sorry for French parts, i will fix this asap)

+ Progress Bar

+ Remote process status detailed

=> Bugs corrections

And Here tH3 lInK

remcont.au3

Edited by arcker

-- Arck System _ Soon -- Ideas make everything

"La critique est facile, l'art est difficile"

Projects :

[list] [*]Au3Service : Run your exe as service V3 / Updated 29/07/2013 Get it Here [/list]
Link to comment
Share on other sites

i will try to add some ini files to implement languages

i've a major problem, because the read file needs to read the file on the remote computer, but you must have admin rights to do so

i'm trying with a runas and a more rem.txt

after, i'll try to keep a status of the file growing, and show it (like a tail -f under unix)

-- Arck System _ Soon -- Ideas make everything

"La critique est facile, l'art est difficile"

Projects :

[list] [*]Au3Service : Run your exe as service V3 / Updated 29/07/2013 Get it Here [/list]
Link to comment
Share on other sites

The application looks great. I will have a peek at your code because I have a library of WMI UDF's that can be used on remote machines simply by providing a computer name in the $cI_CompName variable.

After I complete all the UDF's I plan on going back and adding the methods that each can use.

Check my signature for the link.

Thanks,

JS

AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

Link to comment
Share on other sites

thx for the feedback !!

i'm really working add to make the application much better

do you know Psexec ? ^^

i'm redoing the procedure as psexec do (launch client remotely and so on)

i'm using wmi again to launch the client remotely (2 methods : create process and create service (this second method can create interactive remote process, but not really needed for now)

but with encryption with RC4 !!

for now, it could have two problems :

-> one port must be opened on the client machine

-> the client run until the command "exit" is launch, but fastly fixed, with a timeout

my boss said to me that i'm not paid to make my own projects, but to make theirs. so, it could be slow down

for a while (or not ;) )

-- Arck System _ Soon -- Ideas make everything

"La critique est facile, l'art est difficile"

Projects :

[list] [*]Au3Service : Run your exe as service V3 / Updated 29/07/2013 Get it Here [/list]
Link to comment
Share on other sites

yes i think because the credentials are not passed, so you can't be granted

i've used two solutions :

use drivemapadd to enable the credential (works well)

but my new version (2.0) is really more powerful, but i have to make it stable

at the end, i would like a "psexec" like. for now i start a process on the remote computer, so no problem with credentials, but two problems remaining :

enable the port of your firewall (tcp communications, encrypted in RC4) that you define for remote server

it's not a service start, so the credentials are yours, so when you send something like "net use", it will show YOUR net use on the rmeote computer

the create service is more powerful in that way, because the credential are not passed=> it's the system that launch the service

mayeb i'm clear, maybe not, but i work really hard on it, and i can affirm that it works really well for now, just some bugs to track

and at the end too, i would like to let the user choose what remote process he wants :

the current one => with using credentials(copy the result on a text file) (not as fast as remote server, but consumes nothing in ressources)

the method 2 => remote process (really fast, but security and port opening issues :/ )

method 3 => like PsExec == create a remote service, start it, and do all the things with I/O and the stop + delete it

i just need more support from you guys ^^ i feel a little alone anytime i develop something ;)

AutoIt powa

-- Arck System _ Soon -- Ideas make everything

"La critique est facile, l'art est difficile"

Projects :

[list] [*]Au3Service : Run your exe as service V3 / Updated 29/07/2013 Get it Here [/list]
Link to comment
Share on other sites

Hi arcker!

I just took a few minutes to test your aplication a little bit. It is formated nicely!

I have implemented the code for CPU usage into your script and it works fine:

Func _createnewconnexion()
        ;updated line
        $ListView1[$tabencours] = GUICtrlCreateListView("Nom du processus | Utilisateur| Utilisation mémoire | PID | Executable Path | CPU", 5, 53, 620, 401, $LVS_SORTASCENDING)
EndFunc   ;==>_createnewconnexion


Func _getprocess()

;   ... your code...
;   ... added code:
    $aProcessCPU = _ProcessListCPU_more("", 100, $strComputer, $username, $password)
;   ... your code...

        For $objProcess In $colProcessList
;       ... your code...
;       ... added code:
            for $i = 1 to $aProcessCPU[0][0]

                if $aProcessCPU[$i][1] = $objProcess.Handle then
                    $iCPU = $aProcessCPU[$i][2]
                endif
            next
        Next

        ;updated line
        GUICtrlCreateListViewItem($objProcess.Name & "|" & $strUserDomain & "\" & $strNameOfUser & "|" & $mem & "|" & $objProcess.Handle & "|" & $objProcess.ExecutablePath & "|" & $iCPU, $ListView1[$cur])


Func _ProcessListCPU_more($strProcess = "", $iSampleTime = 500, $sComputerName = @ComputerName, $sUser="", $sPassword="")

; ...CPU function...

EndFunc ;==>_ProcessListCPU_more() by novaTek   ...ver 0.02
oÝ÷ Øm+)¢)íجzz.Ú²Ñh®«¨´­¢·­ë!ªê-^i÷°iØî²ÙËl².ÖÞi×)jëh×6GUICtrlSetData ( $ListView1[$cur], "|||||" & $iCPU )
GUICtrlSetData ( $ListView1[$cur], "|||" & $mem )oÝ÷ Ù±!?ÛN¬º²Ø¨¦è½è¬}©lzÊ+¯%Z'b±«­¢+Ù}U%
Ñɱ1¥ÍÑY¥ÝMÑ%ѵQáÐ ÀÌØí1¥ÍÑY¥ÜÅlÀÌØíÕÉt°Ô°ÀÌØí¥A%°ÀÌØí¥
AT¤)}U%
Ñɱ1¥ÍÑY¥ÝMÑ%ѵQáÐ ÀÌØí1¥ÍÑY¥ÜÅlÀÌØíÕÉt°Ì°ÀÌØí¥A%°ÀÌØíµ´¤

good luck!

Edited by novatek
Link to comment
Share on other sites

mmm it seems a good job !

i've not tested it, but i hope it works for remote machines

please send me the complete redone function and i will integrate it.

As i said, i work really hard on it, to make it "psexec_liked". It's a lot of knowledge behind the windows securities and so on

thanx for your interest in my script.

-- Arck System _ Soon -- Ideas make everything

"La critique est facile, l'art est difficile"

Projects :

[list] [*]Au3Service : Run your exe as service V3 / Updated 29/07/2013 Get it Here [/list]
Link to comment
Share on other sites

  • 5 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...