forked from dsccommunity/xPSDesiredStateConfiguration
-
Notifications
You must be signed in to change notification settings - Fork 0
/
xEnvironment_CreateNonPathVariableConfig.ps1
94 lines (79 loc) · 2.96 KB
/
xEnvironment_CreateNonPathVariableConfig.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<#PSScriptInfo
.VERSION 1.0.1
.GUID ee586cfa-237c-4e5f-929e-9b420afabc91
.AUTHOR Microsoft Corporation
.COMPANYNAME Microsoft Corporation
.COPYRIGHT
.TAGS DSCConfiguration
.LICENSEURI https://github.com/dsccommunity/xPSDesiredStateConfiguration/blob/main/LICENSE
.PROJECTURI https://github.com/dsccommunity/xPSDesiredStateConfiguration
.ICONURI
.EXTERNALMODULEDEPENDENCIES
.REQUIREDSCRIPTS
.EXTERNALSCRIPTDEPENDENCIES
.RELEASENOTES First version.
.PRIVATEDATA 2016-Datacenter,2016-Datacenter-Server-Core
#>
#Requires -module 'xPSDesiredStateConfiguration'
<#
.SYNOPSIS
Configuration that creates or modifies an environment variable.
.DESCRIPTION
Configuration that creates or modifies an environment variable.
If the environment variable does not exist, the environment variable is
created, and the value will be added.
If the environment variable already exist, and the value differs, then
the value will be changed.
.PARAMETER Name
The name of the environment variable to create or modify.
.PARAMETER Value
The value to set on the environment variable.
.PARAMETER Target
The scope to set the environment variable. Can be set to either the
'Machine', the 'Process' or both. Default value is 'Machine'.
{ Process | Machine }
.EXAMPLE
xEnvironment_CreateNonPathVariableConfig -Name 'TestVariable' -Value 'TestValue' -Target @('Process', 'Machine')
Compiles a configuration that creates the environment variable
'TestVariable' and sets the value to 'TestValue' both on the machine
scope and within the process scope.
.EXAMPLE
$configurationParameters = @{
Name = 'TestVariable'
Value = 'TestValue'
Target = @('Process', 'Machine')
}
Start-AzureRmAutomationDscCompilationJob -ResourceGroupName '<resource-group>' -AutomationAccountName '<automation-account>' -ConfigurationName 'xEnvironment_CreateNonPathVariableConfig' -Parameters $configurationParameters
Compiles a configuration in Azure Automation that creates the environment
variable 'TestVariable' and sets the value to 'TestValue' both on the
machine scope and within the process scope.
Replace the <resource-group> and <automation-account> with correct values.
#>
Configuration xEnvironment_CreateNonPathVariableConfig
{
param
(
[Parameter(Mandatory = $true)]
[System.String]
$Name,
[Parameter(Mandatory = $true)]
[System.String]
$Value,
[Parameter()]
[ValidateSet('Process', 'Machine')]
[System.String[]]
$Target = 'Machine'
)
Import-DscResource -ModuleName 'xPSDesiredStateConfiguration'
Node localhost
{
xEnvironment 'NewVariable'
{
Name = $Name
Value = $Value
Ensure = 'Present'
Path = $false
Target = $Target
}
}
}