How to "answer" a console input prompt in PowerShell (in the code) - powershell

I am using a PowerShell command line utility from a third party software vendor. One of their cmdlets prompts for input; however, I would like to bypass this prompt by entering the value in the code rather than the input prompt. Is there a way to do this in PowerShell script?
Their cmdlet is something like this:
Set-Config
So, I've tried:
Set-Config -config "blah"
No luck.

Hrad to tell with looking at the cmdlet. By looking at your code I assume there is a Config parameter, am I right? If so, I would also look for a Force parameter and use it. Usually thr Force parameter supress confirmations.

Related

How to pass parameters to a Powershell script with UiPath

I am trying to run a powershell script with uipath. I have found two approaches to run it;
Read the script as a text and pass to Invoke Powershell activity
Use Run powershell script activity from Script Activities package
Now I need to pass arguments to the powershell script from uipath. Some have mentioned about formatting the string with parameters and invoking the script.
But, rather than that, think we can directly pass parameters from UiPath.
In Run Powershell script, it has Parameters as input
In Invoke Powershell, it has Parameters under Input section and PowershellVariables under Misc
I have been searching for a while. But still I am unable to figure out how to pass parameters using above activities.
I am trying to send outlook mails using powershell. Still in the process of learning how to work with it. Plz help…
EDIT
Found solution for one approach. Added it as an answer.
Found an answer from this link. Out of the two approaches, it provides a solution to pass the parameters using Invoke Power Shell activity.
Read the .ps1/.txt file containing the script, with Read Text File activity
Call the Invoke Power Shell activity by passing file content as CommandText and parameters in the Parameter collection.
But, it would be great, if I can get to know how to pass parameters using Run power shell script activity.

Pass a Team City Parameter to a PowerShell file

I have the following parameter defined in Team City:
I want to pass this parameter into a powershell script I have (that will update the xml file with the version number).
But this inserts the actual text %version% into the script (No substitution is made for the actual value of the parameter.)
However, I know my script is working because if I hardcode the values like this then it works:
Is there a way to get %version% to convert to the actual value when when used as a PowerShell script argument?
If you put the parameter in quotes, "%version%", and change the script execution mode to Execute ps1 script with "-File" argument then this should resolve and inject correctly
e.g.
Hope this helps
You need Environment Variables (env.), it's work to me
enter image description here

How to capture Textbox data using PowerShell and Windows Forms?

I am trying to create a windows form using PowerShell and then manipulate the data entered. The problem I am having is that I can get the code to work if I copy/paste it into a PowerShell window however I cannot get it to work if I save the exact same code to a PS1 file. I don't understand that.
If you try out the example in this article: http://technet.microsoft.com/en-us/library/ff730941.aspx it will work fine when you paste it into an open command prompt. If you try to save this code as a PS1 and run the PS1 in the PowerShell window I get nothing back when click OK on the dialog.
Can someone help me understand why it doesn't work as a PS1 file?
Variable assignment statement ($x=$objTextBox.Text) sets value within default scope, which is Local by default.
As assignment statement is within {...} the variable value is not visible out of the assignment scope.
You can change the assignment statement $x=$objTextBox.Text with the:
$global:x=$objTextBox.Text
More info:
Set-Variable
about_Scopes
As Matej stated this is a scope issue, and he provided an excellent solution to being able to manipulate variables from within a child scope.
I wanted to provide an alternative way to work around this issue. That is to declare variables at the beginning of the script with New-Variable and use the -Option AllScope argument. For example I will use the script that was referenced in the OP. Insert a line at line 3 to read:
New-Variable -Name x -Option AllScope
Now when you run the script it will output whatever you typed into the box because the variable $x is consistent across all scopes.

Execute PowerShell function on change of path

Is it possible to execute some code (eg. a function, script block, cmdlet etc) whenever the current path changes in the PowerShell console or ISE?
The scenario I am thinking of is to modify some environment variables and dot source some location-specific PowerShell functions depending on the current folder.
You have several options. You can remove the "cd" alias and then write a "cd" function and add the desired logic. The downside to this approach is that if someone uses Set-Location, your function is bypassed. Another option is to create a proxy command for Set-Location. Shay (and Kirk) have a video on how to do this here. The nice thing about this approach is that the built-in ways to change dir (cd and Set-Location) will go through your proxy command.

Powershell call command line application and pass variables when prompted

I have a command line application I would like to call from inside a Powershell script. The purpose of doing so is so I can pass it values calculated by the script. Unfortunately the application does not accept command line parameters, but interactively prompts the user for them.
If I do a Write-Host after calling the command line application then the application must complete before the writes are done. If I pipe the values using Write-Host into the application call, the application behaves as though nothing but return was entered for each of the prompts. Is there a way to do this?
I'd give this a try:
http://wasp.codeplex.com/