Подтвердить что ты не робот

Как реализовать использование инструкции в powershell?

Как я могу написать использование в оболочке питания?

Это рабочий пример в С#

using (var conn = new SqlConnection(connString))
{
    Console.WriteLine("InUsing");
}

Мне нужно то же самое в Powershell (не работает):

Using-Object ($conn = New-Object System.Data.SqlClient.SqlConnection($connString)) {

    Write-Warning -Message 'In Using';          
}

Работает без использования:

$conn = New-Object System.Data.SqlClient.SqlConnection($connString)

Благодарим вас за помощь.

4b9b3361

Ответ 1

Вот решение:

function Using-Object
{
    [CmdletBinding()]
    param (
        [Parameter(Mandatory = $true)]
        [AllowEmptyString()]
        [AllowEmptyCollection()]
        [AllowNull()]
        [Object]
        $InputObject,

        [Parameter(Mandatory = $true)]
        [scriptblock]
        $ScriptBlock
    )

    try
    {
        . $ScriptBlock
    }
    finally
    {
        if ($null -ne $InputObject -and $InputObject -is [System.IDisposable])
        {
            $InputObject.Dispose()
        }
    }
}

Я нашел это решение Здесь и для меня это сработало.

Но это в основном реализация утилиты в блоке finally.