Share via


Erstellen oder Aktualisieren einer Pfadumgebungsvariable

Beschreibung

In diesem Beispiel wird gezeigt, wie Sie die Environment Ressource verwenden können, um sicherzustellen, dass eine Pfadumgebungsvariable mit einem bestimmten Wert vorhanden ist.

Mit "Sicherstellen" auf Present"Name"TestEnvironmentVariable, "Auf" und "Wert" festgelegtTestValue, fügt die Ressource eine Umgebungsvariable hinzu, die mit dem Wert TestValue aufgerufen TestEnvironmentVariable wird, wenn sie nicht vorhanden ist.

Wenn Pfad auf $true, falls TestEnvironmentVariable vorhanden und nicht enthalten TestValueist, fügt TestValue die Ressource an den aktuellen Wert an.

Mit Target set to an array with Process both and Machine, the resource creates or sets the environment variable in the process and machine target.

Mit Invoke-DscResource

In diesem Skript wird gezeigt, wie Sie die Environment Ressource mit dem Invoke-DscResource Cmdlet verwenden können, um sicherzustellen TestEnvironmentVariable , dass sie im Prozess und auf dem Computer festgelegt ist, um einzufügen TestValue.

[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
    }
}

Mit einer Konfiguration

In diesem Codeausschnitt wird gezeigt, wie Sie einen EnvironmentConfiguration Ressourcenblock definieren können, um sicherzustellenTestEnvironmentVariable, dass sie im Prozess und auf dem Computer festgelegt ist, um einzufügenTestValue.

Configuration CreatePathVariable  {
    Import-DscResource -ModuleName 'PSDscResources'

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