Skip to content

Instantly share code, notes, and snippets.

@warnergodfrey
Last active August 29, 2015 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save warnergodfrey/6235a89470c86477daac to your computer and use it in GitHub Desktop.
Save warnergodfrey/6235a89470c86477daac to your computer and use it in GitHub Desktop.
Powershell Cmdlet that takes params or a config file with name value pairs
function foo {
param (
[parameter(Mandatory=$true,ParameterSetName = "config")]
[String]$Configuration,
[parameter(Mandatory=$true,ParameterSetName = "param")]
[String]$Name,
[parameter(Mandatory=$true,ParameterSetName = "param")]
[String]$Email
)
if ($PsCmdlet.ParameterSetName -eq "config") {
$params = Invoke-Expression ((Get-Content $Configuration) -join "`n")
return (. $MyInvocation.MyCommand @params)
}
return "${Name}<${Email}>"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment