Jump to content

"Manipulating" powershell or command prompt


Recommended Posts

Does anyone use AutoIt with PowerShell?

I'm a somewhat experienced but still newb autoit user and what I'm thinking of doing, is just creating input fields and add some buttons to an AutoIt GUI, and then make it send commands into an open Powershell window in order to manipulate it.

Does anyone else do this with powershell? or command prompt perhaps? Is it a bad practice?

Link to comment
Share on other sites

  • Moderators

The question I would ask is why mingle languages if you do not have to? You have to decide what it is you're doing in PowerShell that you cannot accomplish natively in AutoIt.

Edited by JLogan3o13

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to comment
Share on other sites

In my case, some coworkers refuse to learn autoit, and sometimes batch files are simply faster to put together.

Why would your co-workers need to have any knowledge of AutoIt to run your scripts? Also, it's faster for me to cobble together an AutoIt script than a batch file, mainly because I haven't used batch files in a long time except for very basic tasks.

The point JLogan was asking was, why use 2 languages to do something that one can do all on it's own?

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

I only used PowerShell from AutoIt once to create an Exchange mailbox. I take the input from the user, create the complete command line and execute it. This way it's easier to catch the output from PowerShell and check the result.

From what I have seen I wouldn't recommend PowerShell. It's slow, uses a lot of memory and is too complex.

Just my 0.02 $.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Why would your co-workers need to have any knowledge of AutoIt to run your scripts?

Because I am not the only guy who works here. Batch files are universally known here. So instead of me writing absolutely every script, I will write the scripts/tools that are not feasible from batch files for other people.

I don't know power-shell so I can't answer why you would ever use it. Honestly only the Exchange admin is the only guy who uses them, and he says it is because "he has too". I don't know enough about it to argue with him.

Edited by DicatoroftheUSA
Link to comment
Share on other sites

Sorry I forgot to mention, I use Powershell mostly for Active Directory and Microsoft Exchange 2010 tasks. Many types of things I do in PowerShell such as, updating user account/Employee fields, setting up/updating AD group permissions, granting Full Mailbox Access/SendAs permissions, getting group membership information, etc.

Instead of editing ps1 files and csv files that I import, I could just throw the values into variables in an AutoIt GUI and then have it string the commands together and send over to PowerShell.

So in an AutoIt window I could have two input boxes: 1)Employee Username and 2) Employee ID. Then a button.

I put in "JSmith" into Employee Username box, then "100101" into Employee ID, and then AutoIt would send to a Powershell window the command "Set-ADUser "JSmith" -EmployeeID "100101"

That's just a basic example but you can see how it can save time from typing in PowerShell.

As to how AutoIt can do everything PowerShell can, I do not know, but I suspect it's a little more difficult to shoehorn such functions in... I searched around but didn't find anything I could understand more easily.

Link to comment
Share on other sites

So in an AutoIt window I could have two input boxes: 1)Employee Username and 2) Employee ID. Then a button.

I put in "JSmith" into Employee Username box, then "100101" into Employee ID, and then AutoIt would send to a Powershell window the command "Set-ADUser "JSmith" -EmployeeID "100101"

With my Active Directory UDF (for download please see my signature) this would be as easy as:
_AD_Open()
_AD_ModifyAttribute($sUsername, "<the name of the attribute to modify>", $sValue)
_AD_Close()

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

  • Moderators

With my Active Directory UDF (for download please see my signature) this would be as easy as:

_AD_Open()
_AD_ModifyAttribute($sUsername, "<the name of the attribute to modify>", $sValue)
_AD_Close()

As opposed to the PowerShell command (modify attributes to add someone to my Chicago office):

Get-ADUser -Filter {Office -eq "Chicago"} | Set-ADUser -StreetAddress "8888 Chicago Lane City" -City "Chicago" -State "IL" -PostalCode "60066" -Country "US"

Personally, I use Water's AD UDF over Powershell every day, and have yet to find anything I can't accomplish with it.

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to comment
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
 Share

  • Recently Browsing   0 members

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