Condividi tramite


Creare o aggiornare una variabile di ambiente del percorso

Descrizione

In questo esempio viene illustrato come usare la Environment risorsa per assicurarsi che esista una variabile di ambiente del percorso con un valore specifico.

Con Ensure impostato su Present, Name impostato su TestEnvironmentVariablee Value impostato su TestValue, la risorsa aggiunge una variabile di ambiente denominata TestEnvironmentVariable con il valore TestValue se non esiste.

Con Path impostato su $true, se TestEnvironmentVariable esistente e non include TestValue, la risorsa aggiunge TestValue al valore corrente.

Con Target impostato su una matrice con e ProcessMachine, la risorsa crea o imposta la variabile di ambiente nelle destinazioni del processo e del computer.

Con Invoke-DscResource

Questo script illustra come usare la Environment risorsa con il Invoke-DscResource cmdlet per assicurarsi che TestEnvironmentVariable sia impostato nelle destinazioni del processo e del computer per includere 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
    }
}

Con una configurazione

Questo frammento di codice illustra come definire un oggetto con un ConfigurationEnvironment blocco di risorse per assicurarsi che TestEnvironmentVariable sia impostato nelle destinazioni del processo e del computer per includere TestValue.

Configuration CreatePathVariable  {
    Import-DscResource -ModuleName 'PSDscResources'

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