Passing string value


I have the function below that finds out what type of form is from a CSV. We have Transfer, New Hire, and Deletion forms from HR.

How would I pass, Transfer for example?

function Type_Of_Form
    param ([string]$Args)
    $Employees_CSV."Type of Form".GetValue[$People] -eq $Args

Not positive I understand the question, but, you’ve used a reserved word for the argument variable.

Try this and see if it applies to your problem.

function Type_Of_Form
    param ([string]$FType)
    "test" -eq $FType


Thank you, I didn’t know $Args was a reserved word. I’ll try another and test

function Get-HRForm  {    
    param (
    [ValidateSet("Transfer", "New Hire", "Deletion")]
    [string]$Type = "Transfer"
    "Processing CSV as {0}" -f $Type



Processing CSV as Transfer

Get-HRForm -Type 'New Hire'

Processing CSV as New Hire

Get-HRForm -Type 'Foo'

Get-HRForm : Cannot validate argument on parameter 'Type'. The argument "Foo" does not belong to the set "Transfer,New Hire,Deletion" specified by the ValidateSet 
attribute. Supply an argument that is in the set and then try the command again.
At line:11 char:18
+ Get-HRForm -Type 'Foo'
+                  ~~~~~
    + CategoryInfo          : InvalidData: (:) [Get-HRForm], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Get-HRForm