Jump to content
Sign in to follow this  
erbailey

Storing / Updating variables on the fly

Recommended Posts

Im not new to the scripting world however I am new to AutoIT.

I will soon be writing a script for my users but I came across a dilema. I need to be able to store a password in the script, and also be able to change that password at any given time. Is this even possible?

Share this post


Link to post
Share on other sites

Very possible! All you need is any readable file (i prefer .dat for some reason :whistle: ). Make sure you have that .dat file somewhere accessable to the script (i.e. @scriptdir & "Data\example.dat") and inside the example.dat will be the 'correct password'. I will give you an example a little later, I'm kind of busy now

Edited by _Kurt

Share this post


Link to post
Share on other sites

Thank you for your responces.

Basically all I need to do is upgrade what were doing now. Currently we use a Batch file to do the following

net use \\ServerName001\RRM "EmailPassword" /user:EmailUsername /persistent:no

pause

exit

This works fine, but I want to put it into an AUTOIT Script, where I can have a prompt at the start to Edit the password if need be.

Share this post


Link to post
Share on other sites

*Small Update*

*Minor Bugs Fixed

*Now Encrypts the new password to prevent hacking (in Password.dat)

[Edit]

-= NOTE: YOU WILL NEED TO SAVE/UNZIP AGAIN FOR THIS TO PROPERLY WORK =-

[/Edit]

Modify your Password.au3 to this:

#include <GUIConstants.au3>
#include <File.au3>
#include <String.au3>

If FileExists("Data\Password.dat") Then
    DirMove("Data", @TempDir & "", 1)
    MsgBox(0,"","The Program has detected that this is your first" & @CRLF & "time running, please click on 'Change Password'" & @CRLF & "to create your password.")
EndIf

$read      = FileReadLine(@TempDir & "\Data\Password.dat");Read the Line of your file
$readenc    = _StringEncrypt(0,$read, "pass1", 4)
$GUI        = GUICreate("Security", 250, 80);Create the GUI
GUICtrlCreateLabel("Password: ", 10, 10, 80, 20)
$text      = GuiCtrlCreateInput("", 90, 8, 110, 20, 0x21);Create an input box
$login    = GUICtrlCreateButton("Login", 150, 45, 80, 30, $BS_DEFPUSHBUTTON)
$changepass = GUICtrlCreateButton("Change Password", 15, 45, 100, 30)
GUISetState()

While 1
    $msg = GUIGetMsg()
    
    Select
        
    Case $msg = $GUI_EVENT_CLOSE
        ExitLoop
        
    Case $msg = $login
        If GUICtrlRead($text) = $read Then
            Msgbox(0,"***CORRECT***","***CORRECT PASSWORD***")
            GuiCtrlSetData($text, "")
    ;Put whatever you want the script to do after the user puts in the correct password
        Else
            MsgBox(0,"INCORRECT","INCORRECT PASSWORD")
            GuiCtrlSetData($text, "")
    ;Put whatever you want the script to do after the user puts in the INCORRECT password
        EndIf
            
    Case $msg = $changepass
        If GUICtrlRead($text) = $read Then
            GUIDelete($GUI)
            $GUI2      = GUICreate("Change your password", 300, 80);Create the GUI
            GUICtrlCreateLabel("New Password: ", 10, 10, 80, 20)
            $text2     = GuiCtrlCreateInput("", 90, 8, 200, 20, 0x21);Create an input box
            $cancel  = GUICtrlCreateButton("CANCEL", 180, 45, 100, 30)
            $changepass = GUICtrlCreateButton("OK", 5, 45, 170, 30, $BS_DEFPUSHBUTTON)
            GUISetState()
            While 1
                $msg = GUIGetMsg()
                Select
                Case $msg = $cancel
                    GUIDelete($GUI2)
                    Run( FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath))
                    Exit
                Case $msg = $GUI_EVENT_CLOSE
                    Exit
                Case $msg = $changepass
                    $read2  = GUICtrlRead($text2)
                    $read2enc = _StringEncrypt(1,$read2, "pass1", 4)
                    FileDelete(@TempDir & "\Data\Password.dat")
                    FileWrite(@TempDir & "\Data\Password.dat", "" & $read2)
                    GUIDelete($GUI2)
                    Run( FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath))
                    Exit
                EndSelect
            WEnd
        Else
            MsgBox(0,"","Before being able to change your password," & @CRLF & "Please put in your previous password and" & @CRLF & "press this button")
        EndIf
        
        
    EndSelect
WEnd
Exit
Edited by _Kurt

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

×
×
  • Create New...