Powershell: рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 25 рдЕрдХреНрддреВре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: PowerShell/PowerShell

рд╕рд╛рд░рд╛рдВрд╢

рдпрд╣ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдПрдХ рдЪрд░ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╛рдиреА рдЬрд╣рд╛рдВ рд╡рд╣ рд╕рдВрдкрддреНрддрд┐ рд╕реНрд╡рдпрдВ рд╣реИрд╢рдЯреЗрдмрд▓ рд╣реИ) рдПрдХ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдПред

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:

function Test-Demo {
    [CmdletBinding()]
    Param (
        [Parameter()]
        [string]$One
        ,
        [Parameter()]
        [string]$Two
    )
    "1 = $One"
    "2 = $Two"
}
$test = @{
    testInt = @{ 
        One = '1'
        Two = '2'
    }
    testString = @{
        One = 'One'
        Two = 'Two'
    }
}

#to splat a property, we first need to assign the property to a "top level" variable:
$t = $test.testString
Test-Demo <strong i="10">@t</strong> 

#however it would be nice if we could instead do this:
Test-Demo @test.testString 

#or if that's not possible for some reason, maybe something like this:
Test-Demo ([splat]$test.testString)

рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд╛рдирдХрд╛рд░реА (рдЙрджрд╛рд╣рд░рдг, рдХреИрдЯрд▓реЙрдЧ, рдкреНрд░рдорд╛рдг-рдкрддреНрд░), рдФрд░ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреНрдп рдЧреБрдгреЛрдВ рд╡рд╛рд▓реЗ рдЕрдиреБрднрд╛рдЧ рднреА рд░рдЦрддреА рд╣реИред рдЬреИрд╕реЗ

$config = Get-MyScriptConfig -Path '.\Config.xml'
Invoke-Something @config.DatabaseConnectionInfo @config.Something
Issue-Question Resolution-Answered

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ https://github.com/PowerShell/PowerShell-RFC/issues/6 рдХреЛ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - RFC рдбреНрд░рд╛рдлреНрдЯ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реНрдкреНрд▓рд┐рдЯрд┐рдВрдЧ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде:

Test-Demo @$test.testString

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ https://github.com/PowerShell/PowerShell-RFC/issues/6 рдХреЛ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - RFC рдбреНрд░рд╛рдлреНрдЯ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реНрдкреНрд▓рд┐рдЯрд┐рдВрдЧ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде:

Test-Demo @$test.testString

@JohnLBevan рдХреНрдпрд╛ рд╣рдо https://github.com/PowerShell/PowerShell-RFC/issues/6 рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@iSazonov ; рд╣рд╛рдВ, рдЗрд╕рдХреЗ рдмрдВрдж рд╣реЛрдиреЗ рдХреА рдЦреБрд╢реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╣рд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╢реБрдХреНрд░рд┐рдпрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

MaximoTrinidad picture MaximoTrinidad  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rudolfvesely picture rudolfvesely  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

SteveL-MSFT picture SteveL-MSFT  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pcgeek86 picture pcgeek86  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

garegin16 picture garegin16  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ