새 변수를 만듭니다.
구문
New-Variable [-Name] <string> [[-Value] <Object>] [-Description <string>] [-Force] [-Option {<None> | <ReadOnly> | <Constant> | <Private> | <AllScope>}] [-PassThru] [-Scope <string>] [-Visibility {<Public> | <Private>}] [-Confirm] [-WhatIf] [<CommonParameters>]
설명
New-Variable cmdlet은 Windows PowerShell에 새 변수를 만듭니다. 변수를 만드는 동안 값을 할당할 수도 있고 만든 후에 값을 할당하거나 변경할 수도 있습니다.
매개 변수인 New-Variable을 사용하여 읽기 전용 또는 상수 변수를 만드는 속성과 같은 변수 속성을 설정하고, 변수 범위를 설정하고, 변수가 공용 변수인지 개인 변수인지를 결정할 수 있습니다.
일반적으로는 "$var = 3"과 같이 변수 이름과 해당 값을 입력하여 새 변수를 만들지만 New-Variable cmdlet을 통해 해당 매개 변수를 사용할 수도 있습니다.
매개 변수
-Description <string>
변수의 설명을 지정합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Force
기존 읽기 전용 변수와 이름이 같은 새 변수를 만들 수 있습니다.
기본적으로 ReadOnly 또는 Constant 옵션 값이 없는 변수는 덮어쓸 수 있습니다. 자세한 내용은 Option 매개 변수를 참조하십시오.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Name <string>
새 변수의 이름을 지정합니다.
필수 여부 |
true |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByPropertyName) |
와일드카드 문자 적용 여부 |
false |
-Option <ScopedItemOptions>
새 변수의 Options 속성 값을 설정합니다.
유효한 값은 다음과 같습니다.
-- None: 옵션을 설정하지 않습니다. "None"이 기본값입니다.
-- ReadOnly: Force 매개 변수를 사용하지 않으면 변수 값을 변경할 수 없습니다. Remove-Variable을 사용하여 변수를 삭제할 수 있습니다.
-- Constant: 변수를 삭제할 수 없고 해당 속성도 변경할 수 없습니다. "Constant"는 별칭을 만드는 동안에만 사용할 수 있습니다. 기존 변수의 옵션을 "Constant"로 변경할 수 없습니다.
-- Private: Scope 매개 변수에서 지정한 범위 내에서만 변수를 사용할 수 있습니다. 하위 범위에서도 이 값을 상속합니다. 이 값은 Visibility 매개 변수의 "Private" 값과는 관계가 없습니다.
-- AllScope: 변수를 새로 만든 범위로 복사합니다.
변수의 Options 속성을 보려면 "get-variable| Format-Table -property name, options -autosize"를 입력하십시오.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-PassThru
새 변수를 나타내는 개체를 반환합니다. 기본적으로 이 cmdlet에서는 출력을 생성하지 않습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Scope <string>
새 변수의 범위를 결정합니다. 유효한 값은 "Global", "Local", "Script" 또는 현재 범위와 관련된 수(0부터 범위의 수까지, 여기서 0은 현재 범위이고 1은 그 상위 범위)입니다. "Local"이 기본값입니다. 자세한 내용은 about_Scopes를 참조하십시오.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Value <Object>
변수의 초기 값을 지정합니다.
필수 여부 |
false |
위치 |
2 |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByValue, ByPropertyName) |
와일드카드 문자 적용 여부 |
false |
-Visibility <SessionStateEntryVisibility>
변수를 만든 세션 외부에서도 변수가 표시되는지를 결정합니다. 이 매개 변수는 다른 사용자에게 전달할 스크립트 및 명령에 사용하기 위한 것입니다.
유효한 값은 다음과 같습니다.
-- Public: 변수가 표시됩니다. "Public"이 기본값입니다.
-- Private: 변수가 표시되지 않습니다.
개인 변수는 Get-Variable에서 반환하는 목록과 같은 변수 목록이나 Variable: 드라이브의 표시에 나타나지 않습니다. 개인 변수의 값을 읽거나 변경하는 명령을 실행하면 오류가 반환됩니다. 그러나 변수를 정의한 세션에서 명령을 작성한 경우에는 개인 변수를 사용하는 명령을 실행할 수 있습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
Public |
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Confirm
명령을 실행하기 전에 확인 메시지를 표시합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-WhatIf
명령을 실제로 실행하지 않고도 명령이 실행될 경우 발생할 수 있는 현상을 설명합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
<CommonParameters>
이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_Commonparameters.
입력 및 출력
입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.
입력 |
System.Object 값을 New-Variable로 파이프할 수 있습니다. |
출력 |
없음 또는 System.Management.Automation.PSVariable PassThru 매개 변수를 사용하는 경우 New-Variable은 새 변수를 나타내는 System.Management.Automation.PSVariable 개체를 생성합니다. 그렇지 않으면 아무 출력도 생성하지 않습니다. |
예 1
C:\PS>new-variable days 설명 ----------- 이 명령은 "days"라는 새 변수를 만듭니다. 이 변수는 명령 바로 뒤에 값을 포함하지 않습니다.
예 2
C:\PS>new-variable zipcode -value 98033 설명 ----------- 이 명령은 "zipcode"라는 새 변수를 만들고 여기에 "98033"이라는 값을 할당합니다.
예 3
C:\PS>new-variable -name max -value 256 -option readonly new-variable -name max -value 1024 new-variable -name max -value 1024 -force C:\PS> new-variable -name max -value 256 -option readonly C:\PS> new-variable -name max -value 1024 New-Variable : A variable with name 'max' already exists. At line:1 char:13 + new-variable <<<< -name max -value 1024 C:\PS> new-variable -name max -value 1024 -force 설명 ----------- 이 예에서는 New-Variable의 ReadOnly 옵션을 사용하여 변수를 덮어쓰지 않도록 보호하는 방법을 보여 줍니다. 첫 번째 명령은 Max라는 새 변수를 만들고 값을 "256"으로 설정합니다. 이때 값이 ReadOnly인 Option 매개 변수를 사용합니다. 두 번째 명령은 이름이 같은 두 번째 변수를 만들려고 시도합니다. 그러나 변수에 대해 읽기 전용 옵션이 설정되어 있으므로 이 명령을 실행하면 오류가 반환됩니다. 세 번째 명령은 Force 매개 변수를 사용하여 변수에 대한 읽기 전용 보호를 재정의합니다. 이 경우에는 이름이 같은 새 변수를 만드는 명령이 제대로 실행됩니다.
예 4
C:\PS>new-variable -name counter -visibility private #Effect of private variable in a module. C:\PS> get-variable c* Name Value ---- ----- Culture en-US ConsoleFileName ConfirmPreference High CommandLineParameters {} C:\PS> $counter "Cannot access the variable '$counter' because it is a private variable" C:\PS> Get-Counter Name Value ---- ----- Counter1 3.1415 ... 설명 ----------- 이 명령은 모듈의 개인 변수 동작을 보여 줍니다. 모듈에는 이름이 "Counter"인 개인 변수가 포함된 Get-Counter cmdlet이 들어 있습니다. 명령은 값이 "Private"인 Visibility 매개 변수를 사용하여 변수를 만듭니다. 샘플 출력은 개인 변수의 동작을 보여 줍니다. 모듈을 로드한 사용자는 Counter 변수 값을 보거나 변경할 수 없지만, 모듈의 명령을 통해 Counter 변수를 읽고 변경할 수 있습니다.
참고 항목