Set-Variable
변수의 값을 설정합니다. 요청된 이름의 변수가 없으면 변수를 만듭니다.
구문
Set-Variable
[-Name] <String[]>
[[-Value] <Object>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Description <String>]
[-Option <ScopedItemOptions>]
[-Force]
[-Visibility <SessionStateEntryVisibility>]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
cmdlet은 Set-Variable
지정된 변수에 값을 할당하거나 현재 값을 변경합니다. 변수가 없는 경우 cmdlet이 만듭니다.
예제
예제 1: 변수 설정 및 해당 값 가져오기
이러한 명령은 변수 A description
값을 $desc
로 설정한 다음 변수 값을 가져옵니다.
Set-Variable -Name "desc" -Value "A description"
Get-Variable -Name "desc"
Name Value
---- -----
desc A description
예제 2: 전역 읽기 전용 변수 설정
이 예제에서는 시스템의 모든 프로세스를 포함하는 전역 읽기 전용 변수를 만든 다음 변수의 모든 속성을 표시합니다.
Set-Variable -Name "processes" -Value (Get-Process) -Option constant -Scope global -Description "All processes" -PassThru |
Format-List -Property *
이 명령은 cmdlet을 Set-Variable
사용하여 변수를 만듭니다. PassThru 매개 변수를 사용하여 새 변수를 나타내는 개체를 만들고 파이프라인 연산자(|
)를 사용하여 개체를 cmdlet에 Format-List
전달합니다. 모든 값과 함께 Property 매개 변수 Format-List
를*
사용하여 새로 만든 변수의 모든 속성을 표시합니다.
값 (Get-Process)
은 변수에 저장되기 전에 실행되도록 괄호로 묶습니다. 그렇지 않으면 변수에 단어가 Get-Process
포함됩니다.
예제 3: 공용 및 프라이빗 변수 이해
이 예제에서는 변수 Private
의 표시 유형을 .로 변경하는 방법을 보여줍니다. 이 변수는 필요한 권한을 가진 스크립트를 통해 읽거나 변경할 수 있지만 사용자에게 표시되지는 않습니다.
New-Variable -Name "counter" -Visibility Public -Value 26
$Counter
26
Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
Counter 26
Set-Variable -Name "counter" -Visibility Private
Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
$counter
"Cannot access the variable '$counter' because it is a private variable"
.\use-counter.ps1
#Commands completed successfully.
이 명령은 변수의 표시 유형을 Private으로 변경하는 방법을 보여줍니다. 이 변수는 필요한 권한을 가진 스크립트를 통해 읽거나 변경할 수 있지만 사용자에게 표시되지는 않습니다.
매개 변수
-Confirm
cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.
형식: | SwitchParameter |
별칭: | cf |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Description
변수에 대한 설명을 지정합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Exclude
이 cmdlet이 작업에서 제외하는 항목의 배열을 지정합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: *.txt
.)을 입력합니다.
와일드카드가 허용됩니다.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
-Force
기존 읽기 전용 변수와 이름이 같은 변수를 만들거나 읽기 전용 변수의 값을 변경할 수 있습니다.
기본적으로 변수에 옵션 값 ReadOnly
또는 Constant
.가 없는 한 변수를 덮어쓸 수 있습니다. 자세한 내용은 Option 매개 변수를 참조하세요.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Include
이 cmdlet이 작업에 포함하는 항목의 배열을 지정합니다. 이 매개 변수의 값은 Name 매개 변수를 한정합니다. 이름 또는 이름 패턴을 입력합니다(예: c*
.). 와일드카드가 허용됩니다.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
-Name
변수 이름을 지정합니다.
형식: | String[] |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Option
변수의 Options 속성 값을 지정합니다.
유효한 값은 다음과 같습니다.
None
: 옵션을 설정하지 않습니다. (None
가 기본값입니다.)ReadOnly
: 삭제할 수 있습니다. Force 매개 변수를 사용하는 경우를 제외하고는 변경할 수 없습니다.Constant
: 삭제하거나 변경할 수 없습니다.Constant
는 변수를 만들 때만 유효합니다. 기존 변수Constant
의 옵션을 .로 변경할 수 없습니다.Private
: 변수는 현재 범위에서만 사용할 수 있습니다.AllScope
: 변수가 생성된 모든 새 범위에 복사됩니다.
이러한 값은 플래그 기반 열거형으로 정의됩니다. 이 매개 변수를 사용하여 여러 값을 결합하여 여러 플래그를 설정할 수 있습니다. 값은 값 배열 또는 해당 값의 쉼표로 구분된 문자열로 Option 매개 변수에 전달할 수 있습니다. cmdlet은 이진 OR 연산을 사용하여 값을 결합합니다. 값을 배열로 전달하는 것이 가장 간단한 옵션이며 값에 대한 탭 완성을 사용할 수도 있습니다.
형식: | ScopedItemOptions |
허용되는 값: | None, ReadOnly, Constant, Private, AllScope, Unspecified |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-PassThru
새 변수를 나타내는 개체를 반환합니다. 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Scope
변수의 범위를 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
Global
Local
Script
Private
- 현재 범위에 상대적인 숫자입니다(범위 수까지 0, 여기서 0은 현재 범위이고 1은 부모).
기본값은 Local
입니다.
자세한 내용은 about_Scopes 참조하세요.
형식: | String |
Position: | Named |
Default value: | Local |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Value
변수의 값을 지정합니다.
형식: | Object |
Position: | 1 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Visibility
변수가 만들어진 세션 외부에 표시되는지 여부를 결정합니다. 이 매개 변수는 다른 사용자에게 전달할 스크립트 및 명령에 사용할 수 있습니다.
유효한 값은 다음과 같습니다.
Public
: 변수가 표시됩니다. (Public
가 기본값입니다.)Private
: 변수가 표시되지 않습니다.
변수가 private이면 변수 목록(예: 변수: 드라이브에서 반환됨Get-Variable
) 또는 표시에 표시되지 않습니다. 프라이빗 변수의 값을 읽거나 변경하는 명령은 오류를 반환합니다. 그러나 변수가 정의된 세션에서 명령이 작성된 경우 사용자는 프라이빗 변수를 사용하는 명령을 실행할 수 있습니다.
형식: | SessionStateEntryVisibility |
허용되는 값: | Public, Private |
Position: | Named |
Default value: | Public |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WhatIf
cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.
형식: | SwitchParameter |
별칭: | wi |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
변수 값을 나타내는 개체를 이 cmdlet으로 파이프할 수 있습니다.
출력
None
기본적으로 이 cmdlet은 출력을 반환하지 않습니다.
PassThru 매개 변수를 사용하는 경우 이 cmdlet은 새 변수 또는 변경된 변수를 나타내는 PSVariable 개체를 반환합니다.
참고
PowerShell에는 다음 별칭이 포함됩니다.Set-Variable
- 모든 플랫폼:
set
sv
관련 링크
PowerShell