
Milas
Active Members-
Posts
21 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
Milas's Achievements

Seeker (1/7)
0
Reputation
-
How to Launch the Network Printer Directory
Milas replied to Milas's topic in AutoIt General Help and Support
Well this wasn't the solution I was looking for but I guess it kind of works for anyone who is looking to do the same. I saved a generic .dql file and I have my script opening that which of course opens the user interface. I guess this will have to do for now lol. Sometimes the best answer is the simplest answer- 3 replies
-
- printer
- printer directory
-
(and 1 more)
Tagged with:
-
How to Launch the Network Printer Directory
Milas replied to Milas's topic in AutoIt General Help and Support
windows 7- 3 replies
-
- printer
- printer directory
-
(and 1 more)
Tagged with:
-
So instead of reinventing the wheel. I was trying to find a way auto launch this window to search for printers on the network. we are moving to a more universal naming convention based on printer location so I wanted to give users the easiest way I know of to find and map to a printer. Is there a way to auto launch this window. is it contained somewhere I can access on the computer? thank you for the assistance
- 3 replies
-
- printer
- printer directory
-
(and 1 more)
Tagged with:
-
@JohnOne I had #RequireAdmin at the start of the GUI this was a part of and then I ran into the issue that everything the GUI ran it did with admin when I needed functions to run as the logged in user. So then I added the input boxes for admin and password and now some functions do not work. @Jos I have used RunAs() with 0,1,2,and 4 and it all fails. Whats blowing my mind is that almost every function uses this same format. All my "wmic" functions work fine. for example: $pid = Runas ($rtech,"mhs", $rcred, 2 ,@ComSpec & " /c wmic /node:" & GUICtrlRead($IP) & " computersystem get name", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) _The above works great_ Here are the facts: All my format for commands remain the same throughout All commands can be put into cmd and run successfully All commands work when #RequireAdmin is included instead of starting with " Runas ($rtech,"mhs", $rcred...) Wmic commands all run successfully getmac /s command runs successfully net user commands fail with "Access Denied" reg query commands fail with "Access Denied" Solution will be to find whats different about the wmic/getmac and the reg query/net user commands
- 4 replies
-
- runas
- access is denied
-
(and 1 more)
Tagged with:
-
Hey guys, for some reason when I run this command with run as in autoit it returns access is denied. but when I run the same thing in an elevated command shell it works fine. Im not sure where I am messing up. global $rtech,$rcred, $IP $rtech = inputbox("","username") $rcred = InputBox("","password") $ip = inputbox("","enter IP") $pid = Runas ($rtech,"mhs", $rcred, 2 ,@ComSpec & ' /c reg query \\' & $ip & '"\hklm\software\microsoft\windows\currentversion\group policy\state\machine"|findstr /i "disting"', @SystemDir, @SW_hide, $STDERR_CHILD + $STDOUT_CHILD) Local $line While 1 $line &= StdoutRead($pid) If @error Then ExitLoop WEnd While 1 $line &= StderrRead($pid) If @error Then ExitLoop WEnd MsgBox(0, "", $line)
- 4 replies
-
- runas
- access is denied
-
(and 1 more)
Tagged with:
-
Milas reacted to a post in a topic: gui function wonte delete files until gui closes
-
gui function wonte delete files until gui closes
Milas replied to Milas's topic in AutoIt GUI Help and Support
autoBert it is just as you said. thank you! I cant believe I didn't see that. -
gui function wonte delete files until gui closes
Milas posted a topic in AutoIt GUI Help and Support
Hello, I am working on a GUI that will perform some reg query and wmic cmds for some of our tier 1 techs. everything so far works well except for my function to get mapped printers from a remote computer. I have the function outputting the list of printers to a text file in the temp folder. at the end of the function its suppose to delete the file and that is where my issue lies. The gui wont delete the file until the GUI itself closes. this is causing an issue where if I want to run the function again the gui shuts down on me. #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <inet.au3> #include <Constants.au3> #RequireAdmin #cs Program: Phone Tech utilitly tool Purpose: Assist phone techs and others with different wmic and reg query cmds to gain information from remote computers Creator: Salim C. Proctor Co-creator/Editor: John Ennis Date Created: 2 Feb 2016 Last Edited: 16 Feb 2016 Verion 1.0 #ce #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 627, 459, 192, 114) $Tab1 = GUICtrlCreateTab(0, 0, 625, 457) $TabSheet1 = GUICtrlCreateTabItem("Main") $User = GUICtrlCreateButton("Who's Logged On", 8, 40, 147, 41) $Host = GUICtrlCreateButton("Get Hostname", 8, 96, 147, 41) $Acc = GUICtrlCreateButton("User Account Info", 440, 40, 139, 41) $MAC = GUICtrlCreateButton("Get MAC Address", 8, 152, 147, 41) $nPrinter = GUICtrlCreateButton("Mapped Printers", 8, 208, 147, 41) $sUser = GUICtrlCreateInput("", 168, 48, 249, 21) $sHost = GUICtrlCreateInput("", 168, 104, 249, 21) $IP = GUICtrlCreateInput("Enter IP/Hostname", 8, 424, 161, 21) $plist = GUICtrlCreateEdit("", 168, 208, 249, 162) $sMAC = GUICtrlCreateInput("", 168, 160, 249, 21) $Ping = GUICtrlCreateButton("Ping", 208, 408, 163, 41) $mDrive = GUICtrlCreateButton("Remote C$", 440, 408, 147, 41) $TabSheet2 = GUICtrlCreateTabItem("Program Version") $search = GUICtrlCreateButton("Search", 8, 32, 147, 41) $program = GUICtrlCreateInput("Enter Program Name", 176, 40, 321, 21) $prog_list = GUICtrlCreateEdit("", 8, 96, 609, 318) GUICtrlSetData(-1, "") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $User remote_user() Case $Host remote_host() Case $MAC remote_Mac() Case $search remote_program() Case $Ping ping_customer() Case $mDrive map_drive() Case $nPrinter get_printers() Case $Acc Account() Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func remote_user() $pid = Run(@ComSpec & " /c wmic /node:" & GUICtrlRead($IP) & " computersystem get username", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) Local $line While 1 $line &= StdoutRead($pid) If @error Then ExitLoop WEnd While 1 $line &= StderrRead($pid) If @error Then ExitLoop WEnd $split = StringSplit($line, @CRLF) GUICtrlSetData($sUser, $split[4]) EndFunc ;==>remote_user Func remote_host() $pid = Run(@ComSpec & " /c wmic /node:" & GUICtrlRead($IP) & " computersystem get name", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) Local $line While 1 $line &= StdoutRead($pid) If @error Then ExitLoop WEnd While 1 $line &= StderrRead($pid) If @error Then ExitLoop WEnd $split = StringSplit($line, @CRLF) GUICtrlSetData($sHost, $split[4]) EndFunc ;==>remote_host Func remote_Mac() $pid = Run(@ComSpec & " /c getmac /nh /s " & GUICtrlRead($IP), @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) Local $line While 1 $line &= StdoutRead($pid) If @error Then ExitLoop WEnd While 1 $line &= StderrRead($pid) If @error Then ExitLoop WEnd $split = StringSplit($line, @CRLF) $2ndSplit = StringSplit($split[3], "\") GUICtrlSetData($sMAC, $2ndSplit[1]) EndFunc ;==>remote_Mac Func remote_program() Local $fProgram, $nkey, $1position[33], $2position[33] Local $pid, $line1[33], $line, $array_size GUICtrlSetData($prog_list, "") GUICtrlSetState($search, $gui_disable) $fProgram = GUICtrlRead($program) $pid = Run(@ComSpec & ' /c reg query \\' & GUICtrlRead($IP) & '\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /s /f ' & $fProgram & ' /d| findstr "{"', @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) While 1 $line &= StdoutRead($pid) If @error Then ExitLoop WEnd While 1 $line &= StderrRead($pid) If @error Then ExitLoop WEnd $nkey = StringSplit($line, @CRLF & @CRLF) $array_size = UBound($nkey) ReDim $1position[$array_size] ReDim $line1[$array_size] For $i = 1 To $array_size - 1 $1position[$i] = StringLen($nkey[$i]) If $1position[$i] < 132 Then $pid = Run(@ComSpec & ' /c reg query \\' & GUICtrlRead($IP) & '\' & $nkey[$i] & '| findstr /i "displayname displayversion"', @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) While 1 $line1[$i] &= StdoutRead($pid) If @error Then ExitLoop WEnd GUICtrlSetData($prog_list, $line1[$i] & @CRLF & "~", "~") EndIf $i = $i + 1 Next GUICtrlSetState($search, $gui_enable) EndFunc ;==>remote_program Func ping_customer() Local $error If GUICtrlRead($IP) <> "" Then $pError = RunWait("ping.exe -n 1 " & GUICtrlRead($IP), "", @SW_HIDE) Switch $pError Case 0 MsgBox(0, "Successfull", "Operation was a success!") Case 1 MsgBox(48, "ERROR CODE: 001", "Host/IP is not reachable") EndSwitch Else MsgBox(48, "ERROR CODE: 005", "No input detected") EndIf EndFunc ;==>ping_customer Func map_drive() ShellExecute("C:\Users\Salim.Proctor\Desktop\GUI\john project\c$ remote.exe") EndFunc ;==>map_drive Func get_printers() Local $pid, $sid, $sid2, $hfileopen, $sfileread, $line, $exit, $ip45, $user45 ;disables map printer button in gui GUICtrlSetState($nPrinter, $gui_disable) ;clears any previous data in the printer edit box GUICtrlSetData($plist, " ") ;reads ip address user entered $ip45 = GUICtrlRead($IP) ;reads the user name from the sUser input box $x = GUICtrlRead($sUser) ;splits the data to remove domainname\ $y = StringSplit($x, "\") ;removes a space value from the data $user45 = StringSplit($y[2], " ") ;queries the remote users registry to find thier sid $pid = Run(@ComSpec & ' /c reg query "\\' & $ip45 & '\hklm\software\microsoft\windows nt\currentversion\profilelist" /s /f "' & $user45[1] & '"', @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) ;reads the standard ouput from the reg query While 1 $line &= StdoutRead($pid) If @error Then ExitLoop WEnd While 1 $line &= StderrRead($pid) If @error Then ExitLoop WEnd ;string splits to remove all unneeded data and get only the sid $sid = StringSplit($line, "\") $sid2 = StringSplit($sid[7], @CRLF) ;queries the remote users registry using the newly obtained sid and writes it out to a text file $pid = Run(@ComSpec & ' /c reg query \\' & $ip45 & '\hkey_users\' & $sid2[1] & '\Printers\Connections > c:\temp\printer_list.txt', @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) ;pause program to give it time to create the file Sleep(1000) ;opens the file so that it can be read If FileExists("c:\temp\printer_list.txt") Then FileWriteLine("c:\temp\printer_list.txt", "1\2\3\4\end of list") $hfileopen = FileOpen("c:\temp\printer_list.txt") EndIf $exit = " " $i = 2 ;output the data into the gui until it reaches the end of the list Do $exit = FileReadLine("c:\temp\printer_list.txt", $i) $printer_string = StringSplit($exit, "\") GUICtrlSetData($plist, $printer_string[5] & @CRLF & "~", "~") $i = $i + 1 Until $exit = "1\2\3\4\end of list" ;reeneables the gui map printer button GUICtrlSetState($nPrinter, $gui_enable) ;delete the text file that is created by the command line If FileExists("c:\temp\printer_list.txt") Then FileClose("c:\temp\printer_list.txt") FileDelete("c:\temp\printer_list.txt") EndIf EndFunc ;==>get_printers Func Account() Local $line $split = StringSplit(GUICtrlRead($sUser), "\") $pid = Run(@ComSpec & " /c net user " & $split[2] & " /domain", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) While 1 $line &= StdoutRead($pid) If @error Then ExitLoop WEnd While 1 $line &= StderrRead($pid) If @error Then ExitLoop WEnd MsgBox(0, "STDOUT read:", $line) EndFunc ;==>Account just to reiterate the function im having issue with is func get_printers -
get Stdoutread information to appear in an edit box in gui
Milas replied to Milas's topic in AutoIt GUI Help and Support
jos Thank you VERY MUCH! i am new to autoit and im not familiar with &= -
Milas reacted to a post in a topic: get Stdoutread information to appear in an edit box in gui
-
get Stdoutread information to appear in an edit box in gui
Milas replied to Milas's topic in AutoIt GUI Help and Support
my apologizes i didn't mean to come across that way. i will have better diction in the future -
get Stdoutread information to appear in an edit box in gui
Milas replied to Milas's topic in AutoIt GUI Help and Support
alright while no one seems to have respond thank you for anyone who tried and just did not reply. Now im not sure if its the most correct answer but i added a sleep command for one second in between the run function and the while loop. i guess the wmic process needs time to resolve. hopefully i can find a better answer to this dilemma. -
Hello, Im trying to capture information from a dos command using StdoutRead() and have it appear in an edit box in my GUI. For some reason when i run the command with a msgbox in the while loop it will transfer the data to the edit box properly. but when i eliminate the msg box from the while loop nothing appears in the edit box. I cant sem to figure out exactly where i am going wrong here. Sample code: #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <inet.au3> #include <Constants.au3> #RequireAdmin #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 623, 449, -815, 111) $User = GUICtrlCreateButton("Who's Logged On", 16, 16, 171, 33) $Host = GUICtrlCreateButton("Get Hostname", 16, 64, 171, 33) $Mac = GUICtrlCreateButton("Get MAC Address", 16, 112, 171, 33) $sUser = GUICtrlCreateInput("", 216, 24, 217, 21) $sHost = GUICtrlCreateInput("", 216, 72, 217, 21) $sMac = GUICtrlCreateInput("", 216, 120, 217, 21) $pInfo = GUICtrlCreateInput("", 448, 168, 169, 21) $Label1 = GUICtrlCreateLabel("Version", 448, 150, 164, 19) $Acc = GUICtrlCreateButton("User Account", 456, 16, 155, 41) $IP = GUICtrlCreateInput("IP/Host Name", 8, 408, 193, 21) $Version = GUICtrlCreateButton("Check Version", 16, 160, 171, 33) $pName = GUICtrlCreateInput("Enter Program", 216, 168, 217, 21) $Ping = GUICtrlCreateButton("Ping", 232, 392, 169, 41) $mDrive = GUICtrlCreateButton("Remote C$", 432, 392, 163, 41) $nPrinter = GUICtrlCreateButton("Mapped Printers", 16, 208, 171, 33) $pList = GUICtrlCreateEdit("", 216, 208, 217, 73) GUICtrlSetData(-1, "Edit1") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $User remote_user() case $Host remote_host() case $Mac remote_Mac() Case $Version remote_program() case $ping ping_customer() case $mDrive map_drive() case $nPrinter get_printers() Case $acc Account() Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd func remote_user() $pid= Run(@ComSpec & " /c wmic /node:214.47.41.200 computersystem get username", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) While 1 $line = StdoutRead($pid) If @error Then ExitLoop MsgBox(0, "STDOUT read:", $line) ;<----- this msgbox i would like to get rid off but code doesnt seem to wrk without it guictrlsetdata($pList, $line) Wend While 1 $line = StderrRead($pid) If @error Then ExitLoop guictrlsetdata($pList, $line) Wend EndFunc thank you to all that help or reply
-
you could also put the second gui in a function you created and call the function. i find that to make the program in general more organized and easier to follow $Form1 = GUICreate("Form1", 578, 120, 700, 421) $Button1 = GUICtrlCreateButton("Button1", 360, 48, 75, 25) $Input1 = GUICtrlCreateInput("Input1", 40, 48, 257, 24) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 _secondGUI() endswitch func _sencondGUI() $Form2 = GUICreate("Form1", 415, 123, 789, 423) $Button1 = GUICtrlCreateButton("Button2", 288, 48, 75, 25) $Input2 = GUICtrlCreateInput("Input2", 40, 48, 217, 24) GUISetState(@SW_SHOW) endfunc
-
Milas reacted to a post in a topic: How do I get a variable to equal the number entered in a text box?
-
Thank you for your help. your response made me realize it was the csv file I was using witht he old data in it. i deleted that csv file and had it create a new one. everything works perfectly with the new file. Thank you very much. If no one tells you that you are amazing just remember this day that i told you you are amazing
-
so I did as u said but the func that I have reading the file still only creates it as a 1D array. I try to use the comma as a delimiter to separate everything in to their own cell to make it a 2d array but errors out every time thank you for your help by the way I really appreciate it
-
hello im trying to get info from a csv file into a 2d array. im not sure exactly where I am going wrong. I can get it into a 1d array but the 2d part is really troubling for some reason. can anyone pint me in the right direction. I provided my code. Inventory (test).au3