다음을 통해 공유


경로 환경 변수 만들기 또는 업데이트

설명

이 예제에서는 리소스를 사용하여 경로 환경 변수가 Environment 특정 값으로 존재하는지 확인하는 방법을 보여 줍니다.

With Ensure set to Present, Name set to TestEnvironmentVariable, and Value set to TestValue, the resource adds an environment variable called TestEnvironmentVariable with the value TestValue if it doesn't exist.

경로$true존재하고 포함되지 TestValue않은 경우 경로로 설정하면 TestEnvironmentVariable 리소스가 현재 값에 추가됩니다TestValue.

대상이 둘 다 ProcessMachine있는 배열로 설정된 경우 리소스는 프로세스와 컴퓨터 대상 모두에서 환경 변수를 만들거나 설정합니다.

Invoke-DscResource

이 스크립트는 cmdlet과 함께 리소스를 EnvironmentInvoke-DscResource 사용하여 프로세스 및 포함TestValue할 컴퓨터 대상에 설정되어 있는지 확인하는 TestEnvironmentVariable 방법을 보여 줍니다.

[CmdletBinding()]
param()

begin {
    $SharedParameters = @{
        Name       = 'Environment'
        ModuleName = 'PSDscResource'
        Properties = @{
            Name   = 'TestPathEnvironmentVariable'
            Value  = 'TestValue'
            Ensure = 'Present'
            Path   = $true
            Target = @(
                'Process'
                'Machine'
            )
        }
    }

    $NonGetProperties = @(
        'Value'
        'Path'
        'Ensure'
    )
}

process {
    $TestResult = Invoke-DscResource -Method Test @SharedParameters

    if ($TestResult.InDesiredState) {
        $QueryParameters = $SharedParameters.Clone()

        foreach ($Property in $NonGetProperties) {
            $QueryParameters.Properties.Remove($Property)
        }

        Invoke-DscResource -Method Get @QueryParameters
    } else {
        Invoke-DscResource -Method Set @SharedParameters
    }
}

구성을 사용하는 경우

이 코드 조각은 리소스 블록을 사용하여 정의 ConfigurationEnvironment 하여 프로세스 및 포함TestValue할 컴퓨터 대상에 설정되어 있는지 확인하는 TestEnvironmentVariable 방법을 보여 줍니다.

Configuration CreatePathVariable  {
    Import-DscResource -ModuleName 'PSDscResources'

    Node localhost {
        Environment ExampleEnvironment {
            Name   = 'TestPathEnvironmentVariable'
            Value  = 'TestValue'
            Ensure = 'Present'
            Path   = $true
            Target = @(
                'Process'
                'Machine'
            )
        }
    }
}