Search the Community
Showing results for tags 'autologon'.
-
First the Situation: I'm trying to automate an image uploading utility which lives on the client side of some cloud based server/client software and which was not designed to be automated. I've got a 2012 R2 VM running with autologon enabled on a local account. The account with autologon enabled has a scheduled task set up to run at 4AM daily. This task merely runs my AutoIt script. Now the issue: If I remote into my VM and run the script manually, it runs perfectly. If I edit my scheduled task to run only a few minutes in the future, and then reboot the VM, it also works perfectly. If I leave it to run overnight, the script starts but never finishes. It seems to be getting hung up waiting for the first window to become active. I've tried many version of the script now with no luck. The latest version is below. #include <File.au3> Dim $un = "username" Dim $pw = "password" ; Login window Run("C:\Program Files (x86)\CSI Software\Spectrum NG\Spectrum NG Client\SNGImageUploader.exe") Dim $hLogin = WinWait("[CLASS:WindowsForms10.Window.8.app.0.2bf8098_r11_ad1]", "Version: ") SendKeepActive($hLogin) WinActivate($hLogin) Send($un & "{TAB}" & $pw & "{ENTER}") SendKeepActive("") ; Main window - 1/3 Dim $hMain = WinWaitActive("SNG Image Uploader") SendKeepActive($hMain) Send("{TAB}{ENTER}") SendKeepActive("") ; File browser window Dim $hBrowse = WinWaitActive("Browse For Folder") SendKeepActive($hBrowse) Send("{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{RIGHT}{DOWN}") Sleep(2000) ; Give the program moment to detect images in the directory Send("{ENTER}") SendKeepActive("") ; Main window - 2/3 SendKeepActive($hMain) WinWaitActive($hMain) Send("{TAB}{ENTER}") SendKeepActive("") ; Upload complete window Dim $hUpload = WinWaitActive("[CLASS:#32770]", "Upload complete. Please wait while servers process your request.") SendKeepActive($hUpload) Send("{ENTER}") SendKeepActive("") ; Import complete window Dim $hImport = WinWaitActive("[CLASS:#32770]", "Image import completed. Please check results in the Account Upload History screen.") SendKeepActive($hImport) Send("{ENTER}") SendKeepActive("") ; Main window - 3/3 WinWaitActive($hMain) WinClose($hMain) ; Cleanup FileDelete("C:\CRPics\*")
-
Simple script that took me about 15 minutes. I built it for a friend but thought someone else could use it.. Just make sure you compile it as 64bit if you have a 64bit system which most of you using windows 7 do. #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=HWandHank.ico #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_UseX64=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.10.2 Author: Mike Kovacic Script Function: Set windows 7 to auto login using provided credentials. * This must be compiled as x64 to work. #ce ---------------------------------------------------------------------------- #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> $MuhApp = GUICreate("Set Autologon", 309, 127, 212, 132) $Username = GUICtrlCreateInput("", 8, 16, 153, 21) $Password = GUICtrlCreateInput("", 8, 48, 153, 21) $Domain = GUICtrlCreateInput(@ComputerName, 8, 80, 153, 21) $Set = GUICtrlCreateButton("Set Autologon", 176, 24, 123, 25) $REmove = GUICtrlCreateButton("Remove Autologin", 176, 56, 123, 25) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $set setautoadminlogin() Case $remove removeautologin() EndSwitch WEnd Func setautoadminlogin() $a = 0 If RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa", "LmCompatabilityLevel", "REG_DWORD", "2") then $a += 1 If RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "AutoAdminLogon", "REG_SZ", "1") then $a += 1 If RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "ForceAutoLogon", "REG_SZ", "1") then $a += 1 If RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "DefaultUserName", "REG_SZ", guictrlread($username)) then $a += 1 If RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "DefaultPassword", "REG_SZ", guictrlread($Password)) then $a += 1 If RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "DefaultDomainName", "REG_SZ", guictrlread($Domain)) then $a += 1 If $a = 6 then MsgBox(64,"Success!","Autologon has been set.") else MsgBox(16,"Oops!","Autologon could not be set. Make sure you are a local Admin.") endif EndFunc ;==>setautoadminlogin Func removeautologin() $b = 0 If RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "AutoAdminLogon", "REG_SZ", "0") then $b += 1 If RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "ForceAutoLogon", "REG_SZ", "0") then $b += 1 If RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "DefaultUserName") then $b += 1 If RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "DefaultPassword") then $b += 1 If RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "DefaultDomainName") then $b += 1 If RegDelete("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa", "LmCompatabilityLevel") then $b += 1 If $b = 6 then MsgBox(64,"Success!","Autologon has been removed.") else MsgBox(16,"Oops!","Autologon could not be removed. Either Autologin was not set or you are not a local Admin.") endif EndFunc ;==>removeautologin Enjoy.