Ensuring that parameter values are passed to your function
A question on the forum about a function had me thinking. The user had defined two parameters for the function and then used Read-Host to get the values.
NO
Much better way is to use an advanced function and make the parameters mandatory
`function
Getuserdetails
{
[
CmdletBinding
(
)
]
param
(
[
parameter
(
Mandatory
=
$true
)
]
[string]
$Givenname
,
[
parameter
(
Mandatory
=
$true
)
]
[string]
$Surname
)
Get-ADUser
-properties
telephonenumber
,
office
-Filter
{
(
GivenName
-eq
$Givenname
)
-and
(
Surname
-eq
$Surname
)
}
}
`If you call the function and don"™t give values for the parameters you will be prompted for them
The other point is the ““Filter property on get-aduser. Don"™t put quotes round the variable
