Recently Browsing 0 members
No registered users viewing this page.
I have a program that has a specific function that renames the computer.
The entire program should be executed only on behalf of the current user, because some registry keys in the HKCU are being changed.
The current user does not have administrator rights, so #Requireadmin is not suitable as a solution.
The administrator accounts on the computers are different, so "RunAs" is not suitable.
Is there a way to trigger a UAC, when running a function?
The function code, if you need:
Func _RenamePC($Input2) Local $Name = GUICtrlRead($Input2) $objWMIService = ObjGet("winmgmts:\root\cimv2") For $objComputer In $objWMIService.InstancesOf("Win32_ComputerSystem") $oReturn = $objComputer.rename($Name) Next EndFunc
Hello Team, Greetings!
Is there any way to run any 3rd party application silently in background without the GUI getting in the front ?
I was implementing angry-ip scanner with autoit & wanted the angry-ip application to run in background quietly as I am copying its output to other file on completion. is there any way to achieve my query?
Below is code I tried:
$range = "192.168.0.1 192.168.0.255" ShellExecuteWait("C:\Windows\DDM\ipscan.exe","-f:range "&$iprange&" -q -o C:\temp\ScanResults.csv","","open",@SW_HIDE) Thanks!
I am new to AutoIT & need to run application with different user credentials.
I am using below script with RunAs() but the application is not invoking.
#include <AutoItConstants.au3> $sUserName = $CMDLine $sDomain = $CMDLine $sPassword = $CMDLine RunAs($sUserName, $sDomain, $sPassword, $RUN_LOGON_NOPROFILE,"ssms.exe") Kindly assist! Thank you
I need to save the execution result as a text file. Is there any solution?
ShellExecute ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] ) if parameters have " > " can't Execute correctly,
ShellExecute("diskspd.exe", "-b128K -c64M f:\estfile.dat > test123.txt", "", "", @SW_MAXIMIZE) ;Error
ShellExecute("diskspd.exe", "-b128K -c64M f:\estfile.dat", "", "", @SW_MAXIMIZE) ;OK
ShellExecute("help", "dir > helpdir.txt", "", "", @SW_MAXIMIZE) ;Error
ShellExecute("help", "dir", "", "", @SW_MAXIMIZE) ;OK
When a non compiled AU3 script is run with #RequireAdmin, then if the UAC prompt can be authorized due to the fact, that the currently loggedon user has local admin rights, then the macro @UserProfileDir correctly reflects the profile dir of the user of the windows logon session.
When the script with #RequireAdmin is started by a "normal user" without local admin rights, and I use a domain admin account to authorize the UAC prompt, then @UserProfileDir reflects the profile dir belonging to the AD-Admin account.
As the script originally was started using the "regular user" I'm wondering, if there is a chance to "pass" the original user's @UserProfileDir to the UAC elevated script?
As playing around with this feature I realize, that I basically don't know the exact mechanism of the UAC elevation authorization process:
The script is started by right mouse click, execute script This is invoking e.g. "C:\Program Files (x86)\AutoIt3\AutoIt3.exe" "C:\Users\Rudi\Desktop\test.au3" as by this registy value: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Run\Command] @="\"C:\\Program Files (x86)\\AutoIt3\\AutoIt3.exe\" \"%1\" %*" But what I honestly don't know is, how does the UAC propt interact in the program startup? I guess, that Autoit3.exe is parsing the AU3 source, is seeing the #RequireAdmin and then "relaunches itself with the AU3 as %1" requesting UAC elevated rights "from windows"??? With Process Explorer I can see, that The commandline then is this one with a "!" before "%1"
"C:\Program Files (x86)\AutoIt3\AutoIt3.exe" !"C:\Users\Rudi\Desktop\test.au3" It it should be something like this, then it might be possible to pass the original @UserProfileDir to the second, UAC elevated "Startup"??? <edit>
I just noticed:
When I use "WIN+R" and then directly use the command line, I see in Process Explorer, ...
"C:\Program Files (x86)\AutoIt3\AutoIt3.exe" !"C:\Users\Rudi\Desktop\test.au3"
... then this script with #RequireAdmin is started *WITHOUT* UAC elevation.
Guessing, that this ! is just reverting #RequireAdmin I tried the "opposite" one as well:
AU3 script without #RequireAdmin Starting with "C:\Program Files (x86)\AutoIt3\AutoIt3.exe" !"C:\Users\Rudi\Desktop\test.au3" does not invoke UAC elevation prompt. So to me it looks like, this ! is a "status flag from Autoit3.exe to Autoit3.exe", that the elevation process was done already? amazing...
the topic Autoit on Windows Vista is telling no details of this UAC process...