Files
Resolve-DSCConfigurationData/Private/Invoke-ConfigurationDataExpressionArgument.ps1
Torsten Brendgen 4b83abc7f2 initial Commit
2026-06-27 00:36:04 +02:00

36 lines
712 B
PowerShell

function Invoke-ConfigurationDataExpressionArgument {
[CmdletBinding()]
Param(
[AllowNull()]
[string]
$Argument,
[Parameter(Mandatory=$true)]
$Context
)
if($null -eq $Argument){
return $null
}
$Argument = $Argument.Trim()
if($Argument -match "^'(.*)'$"){
return $Matches[1]
}
if($Argument -match "^-?\d+$"){
return [int]$Argument
}
if($Argument -match "^(?i:true|false)$"){
return [bool]::Parse($Argument)
}
if($Argument -match "^[A-Za-z][A-Za-z0-9]*\(.*\)$"){
return Invoke-ConfigurationDataExpression -Expression $Argument -Context $Context
}
return $Argument
}