환경 변수 제거
설명
이 예제에서는 리소스를 Environment
사용하여 경로가 아닌 환경 변수가 존재하지 않도록 하는 방법을 보여줍니다.
Ensure를 Absent
로 설정하고 이름을 설정하고 TestEnvironmentVariable
경로로 $false
설정하면 리소스가 존재하는 경우 호출 TestEnvironmentVariable
되는 환경 변수를 제거합니다.
대상을 둘 다 Process
Machine
사용하는 배열로 설정하면 리소스는 프로세스와 컴퓨터 대상 모두에서 환경 변수를 제거합니다.
Invoke-DscResource
이 스크립트는 cmdlet과 함께 리소스를 Environment
Invoke-DscResource
사용하여 프로세스 및 컴퓨터 대상에서 제거되도록 하는 TestEnvironmentVariable
방법을 보여 줍니다.
<#
.SYNOPSIS
.DESCRIPTION
Removes the environment variable `TestEnvironmentVariable` from both the
machine and the process.
#>
[CmdletBinding()]
param()
begin {
$SharedParameters = @{
Name = 'Environment'
ModuleName = 'PSDscResource'
Properties = @{
Name = 'TestEnvironmentVariable'
Ensure = 'Absent'
Path = $false
Target = @(
'Process'
'Machine'
)
}
}
$NonGetProperties = @(
'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
}
}
구성을 사용하여
이 코드 조각은 프로세스 및 컴퓨터 대상에서 제거되도록 TestEnvironmentVariable
리소스 블록을 사용하여 정의하는 Configuration
Environment
방법을 보여 줍니다.
<#
.SYNOPSIS
.DESCRIPTION
Removes the environment variable `TestEnvironmentVariable` from both the
machine and the process.
#>
configuration Sample_Environment_Remove {
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
Environment ExampleEnvironment {
Name = 'TestEnvironmentVariable'
Ensure = 'Absent'
Path = $false
Target = @(
'Process'
'Machine'
)
}
}
}
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.