ScriptsToProcess/Get-DscSplattedResource.ps1

function Global:Get-DscSplattedResource {
    [CmdletBinding()]
    Param(
        [String]
        $ResourceName,

        [String]
        $ExecutionName,

        [hashtable]
        $Properties,

        [switch]
        $NoInvoke
    )
    
    $stringBuilder = [System.Text.StringBuilder]::new()
    $null = $stringBuilder.AppendLine("Param([hashtable]`$Parameters)")
    $null = $stringBuilder.AppendLine()
    $null = $stringBuilder.AppendLine(" $ResourceName $ExecutionName { ")
    foreach($PropertyName in $Properties.keys) {
        $null = $stringBuilder.AppendLine("$PropertyName = `$(`$Parameters['$PropertyName'])")
    }
    $null = $stringBuilder.AppendLine("}")
    Write-Debug ("Generated Resource Block = {0}" -f $stringBuilder.ToString())
    
    if($NoInvoke) {
        [scriptblock]::Create($stringBuilder.ToString())
    }
    else {
        [scriptblock]::Create($stringBuilder.ToString()).Invoke($Properties)
    }
}
Set-Alias -Name x -Value Get-DscSplattedResource -scope Global
#Export-ModuleMember -Alias x

<#

ipmo -Force ..\..\Datum.psd1
. .\demo3.ps1
MyConfiguration -ConfigurationData $mydata -verbose

#>