Creación de una variable de entorno que no sea de ruta de acceso
Descripción
En este ejemplo se muestra cómo puede usar el Environment
recurso para asegurarse de que existe una variable de entorno que no es de ruta de acceso con un valor específico.
Con Ensure establecido en Present
, Name establecido TestEnvironmentVariable
en y Value establecido TestValue
en , el recurso agrega una variable de entorno denominada TestEnvironmentVariable
con el valor TestValue
si no existe.
Con Path establecido en $false
, si TestEnvironmentVariable
existe con cualquier valor distinto TestValue
de , el recurso lo establece en exactamente TestValue
.
Con Target establecido en una matriz con Process
y Machine
, el recurso crea o establece la variable de entorno en los destinos de proceso y máquina.
Con Invoke-DscResource
Este script muestra cómo puede usar el Environment
recurso con el Invoke-DscResource
cmdlet para asegurarse de que TestEnvironmentVariable
está establecido en los destinos de proceso y máquina como TestValue
.
[CmdletBinding()]
param()
begin {
$SharedParameters = @{
Name = 'Environment'
ModuleName = 'PSDscResource'
Properties = @{
Name = 'TestEnvironmentVariable'
Value = 'TestValue'
Ensure = 'Present'
Path = $false
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 configuración
En este fragmento de código se muestra cómo se puede definir un Configuration
objeto con un Environment
bloque de recursos para asegurarse de que TestEnvironmentVariable
está establecido en los destinos de proceso y máquina como TestValue
.
Configuration CreateNonPathVariable {
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
Environment ExampleEnvironment {
Name = 'TestEnvironmentVariable'
Value = 'TestValue'
Ensure = 'Present'
Path = $false
Target = @(
'Process'
'Machine'
)
}
}
}
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de