The File Path-based script allows passing in arguments:

The Inline one does not, however:

This significantly reduces its usefulness when used in task groups that can automatically discover configurable inputs from arguments used in a script.
Relevant PR: https://github.com/Microsoft/vsts-tasks/pull/4578
can you add the macros into the inline script itself?
Surely can.
Discoverability plummets and integration with task groups that can automatically discover those arguments and make them task group input properties configurable by the user completely vanishes though.
OK sounds like a bug in task groups then. I'm not sure why it would treat the inline script input differently.
You do not think the arbitrary inconsistency in uex between inline and file path scripts is a bug regardless?
Not sure what was the reasoning behind providing Arguments for one and not the other, but the only thing that makes sense to me is to either have it in both, or remove it altogether.
Funny! If I do configure the task Arguments first and then switch to Inline (thus the field Arguments dissappear) the task group UI does see the args, but they are never passed down to the inline script. Quite confusing ;)
The reason they are different is because you can simply put the variables in the inline script which should be a lot simpler than dealing with arguments. In the case of the file you have no option to do that.
I'd say the current experience is still more confusing than having it available in both, even if the variables can be used in the inline script directly, since that feature isn't easily discoverable (that is, it isn't even a working PS script if you try to run it on your machine with those variables in place), whereas using arguments makes for way easier testing too before uploading.
@chrisrpatterson
The reason they are different is because you can simply put the variables in the inline script which should be a lot simpler than dealing with arguments
Alas, unless I am mistaken, this breaks ability to use data retrieved from Azure Key Vault task. Actually using inline script appears to break all capability to retrieve ANY secret variables.
Azure Key Vault task to pull down a vault.
powershell/batch/shell task using inline option - unable to extract the Key vault data pulled down.
No results:
2017-09-07T20:38:42.0319456Z ##[section]Starting: PowerShell Script
2017-09-07T20:38:42.0329255Z ==============================================================================
2017-09-07T20:38:42.0329255Z Task : PowerShell
2017-09-07T20:38:42.0329255Z Description : This is an early preview. Run a PowerShell script on Windows, macOS, or Linux.
2017-09-07T20:38:42.0329255Z Version : 2.121.0
2017-09-07T20:38:42.0329255Z Author : Microsoft Corporation
2017-09-07T20:38:42.0329255Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkID=613736)
2017-09-07T20:38:42.0329255Z ==============================================================================
2017-09-07T20:38:43.0071563Z Generating script.
2017-09-07T20:38:43.0681597Z ##[command]"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -File "d:\a\_temp\2ea4c913-5aec-405e-b326-008e447c8ee2.ps1"
2017-09-07T20:38:45.2496213Z ##[section]Finishing: PowerShell Script
@iyerusad you can use the macro syntax $(mySecret) syntax to pass secrets (same way if using a separate arguments text box).
alternatively, in yaml you can also pass via the env dictionary. env dictionary will come to web designer in the future.