How can i force a Powershell function to return an Array?
This simple function for Example, if "C:\New folder" contains only 1 element, it will not return an Array.
function Get-AlwaysArray
{
$returnArray = gci "C:\New folder"
Write-Output $returnArray
}
(Get-AlwaysArray).Gettype()
There is already a Thread with a pretty good upvoted answer here But non of the answer works unfortunally.
Here is what i have tried:
function Get-AlwaysArray {
[Array]$returnArray = gci "C:\New folder"
Write-Output $returnArray
}
(Get-AlwaysArray).Gettype()
function Get-AlwaysArray {
$returnArray = @(gci "C:\New folder")
Write-Output @($returnArray)
}
(Get-AlwaysArray).Gettype()
function Get-AlwaysArray {
$returnArray = @(gci "C:\New folder")
Write-Output @($returnArray | Where-Object {$_})
}
(Get-AlwaysArray).Gettype()
function Get-AlwaysArray {
[Object[]]$returnArray = @(gci "C:\New folder")
Write-Output @($returnArray | Where-Object {$_})
}
(Get-AlwaysArray).Gettype()
The only way it would work is
function Get-AlwaysArray {
$returnArray = gci "C:\New folder"
Write-Output $returnArray
}
@(Get-AlwaysArray).Gettype()
But i dont want to add this, everytime i call my function.
What am i doing wrong?