New-Variable
새 변수를 만듭니다.
구문
New-Variable
[-Name] <String>
[[-Value] <Object>]
[-Description <String>]
[-Option <ScopedItemOptions>]
[-Visibility <SessionStateEntryVisibility>]
[-Force]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
새 변수 cmdlet은 Windows PowerShell에서 새 변수를 만듭니다. 변수를 만드는 동안 변수에 값을 할당하거나 값을 만든 후 할당하거나 변경할 수 있습니다.
New-Variable 매개 변수를 사용하여 변수의 속성을 설정하고, 변수의 범위를 설정하고, 변수가 public 또는 private인지 확인할 수 있습니다.
일반적으로 변수 이름 및 해당 값(예: $Var = 3
)을 입력하여 새 변수를 만들지만 New-Variable cmdlet을 사용하여 해당 매개 변수를 사용할 수 있습니다.
예제
예제 1: 변수 만들기
PS C:\> New-Variable days
이 명령은 일이라는 새 변수를 만듭니다. Name 매개 변수를 입력할 필요는 없습니다.
예제 2: 변수 만들기 및 값 할당
PS C:\> New-Variable -Name "zipcode" -Value 98033
이 명령은 zipcode라는 변수를 만들고 값 98033을 할당합니다.
예제 3: ReadOnly 옵션을 사용하여 변수 만들기
PS C:\> New-Variable -Name Max -Value 256 -Option ReadOnly
PS C:\> New-Variable -Name max -Value 1024
New-Variable : A variable with name 'max' already exists.
At line:1 char:1
+ New-Variable -Name max -Value 1024
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceExists: (max:String) [New-Variable], SessionStateException
+ FullyQualifiedErrorId : VariableAlreadyExists,Microsoft.PowerShell.Commands.NewVariableCommand
PS C:\> New-Variable -Name max -Value 1024 -Force
이 예제에서는 새 변수
첫 번째 명령은 Max라는 새 변수를 만들고 해당 값을 256으로 설정합니다. ReadOnly 값과 함께 Option 매개 변수를 사용합니다.
두 번째 명령은 동일한 이름의 두 번째 변수를 만들려고 합니다. 읽기 전용 옵션이 변수에 설정되어 있으므로 이 명령은 오류를 반환합니다.
세 번째 명령은 Force 매개 변수를 사용하여 변수에 대한 읽기 전용 보호를 재정의합니다. 이 경우 이름이 같은 새 변수를 만드는 명령이 성공합니다.
예제 4: 프라이빗 변수 만들기
PS C:\> New-Variable -Name counter -Visibility Private
#Effect of private variable in a module.
PS C:\> Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
PS C:\> $counter
"Cannot access the variable '$counter' because it is a private variable"
At line:1 char:1
+ $counter
+ ~~~~~~~~
+ CategoryInfo : PermissionDenied: (counter:String) [], SessionStateException
+ FullyQualifiedErrorId : VariableIsPrivate
PS C:\> Get-Counter
Name Value
---- -----
Counter1 3.1415
...
이 명령은 모듈에서 프라이빗 변수의 동작을 보여 줍니다. 모듈에는 counter라는 프라이빗 변수가 있는 Get-Counter cmdlet이 포함되어 있습니다. 이 명령은 private 값과 함께 Visibility 매개 변수를 사용하여 변수를 만듭니다.
샘플 출력은 프라이빗 변수의 동작을 보여줍니다. 모듈을 로드한 사용자는 Counter 변수의 값을 보거나 변경할 수 없지만, 카운터 변수는 모듈의 명령에 의해 읽고 변경할 수 있습니다.
예제 5: 공백이 있는 변수 만들기
PS C:\> New-Variable -Name 'with space' -Value 'abc123xyz'
PS C:\> Get-Variable -Name 'with space'
Name Value
---- -----
with space abc123xyz
PS C:\> ${with space}
abc123xyz
이 명령은 공백이 있는 변수를 만들 수 있음을 보여 줍니다. 변수는 Get-Variable cmdlet을 사용하거나 중괄호로 변수를 구분하여 직접 액세스할 수 있습니다.
매개 변수
-Confirm
cmdlet을 실행하기 전에 확인 메시지를 표시합니다.
형식: | SwitchParameter |
별칭: | cf |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Description
변수에 대한 설명을 지정합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Force
cmdlet이 기존 읽기 전용 변수와 이름이 같은 변수를 만듭니다.
기본적으로 변수에 ReadOnly 또는 Constant의 옵션 값이 없는 한 변수를 덮어쓸 수 있습니다. 자세한 내용은 Option 매개 변수를 참조하세요.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Name
새 변수의 이름을 지정합니다.
형식: | String |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Option
변수의 Options 속성 값을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
- 없음. 옵션을 설정하지 않습니다. (기본값은 없음)입니다.
- ReadOnly. 삭제할 수 있습니다. Force 매개 변수를 사용하는 경우를 제외하고는 변경할 수 없습니다.
- 민간의. 변수는 현재 범위에서만 사용할 수 있습니다.
- AllScope. 변수는 생성된 모든 새 범위에 복사됩니다.
- 상수. 삭제하거나 변경할 수 없습니다. 상수는 변수를 만드는 경우에만 유효합니다. 기존 변수의 옵션을 상수로 변경할 수 없습니다.
세션에 있는 모든 변수의 Options 속성을 보려면 Get-Variable | Format-Table -Property name, options -autosize
입력합니다.
형식: | ScopedItemOptions |
허용되는 값: | None, ReadOnly, Constant, Private, AllScope, Unspecified |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-PassThru
작업 중인 항목을 나타내는 개체를 반환합니다. 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Scope
새 변수의 범위를 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
- 글로벌. 전역 범위에서 만든 변수는 PowerShell 프로세스의 모든 위치에서 액세스할 수 있습니다.
- 현지. 로컬 범위는 현재 범위를 참조하며 컨텍스트에 따라 모든 범위가 될 수 있습니다.
- 각본. 스크립트 범위에서 만든 변수는 만든 스크립트 파일 또는 모듈 내에서만 액세스할 수 있습니다.
- 민간의. 프라이빗 범위에서 만든 변수는 해당 범위 외부에 액세스할 수 없습니다. 프라이빗 범위를 사용하여 다른 범위에서 이름이 같은 항목의 프라이빗 버전을 만들 수 있습니다.
- 현재 범위에 상대적인 숫자입니다(범위 수까지 0, 여기서 0은 현재 범위, 1은 부모, 2는 부모 범위의 부모 등). 음수는 사용할 수 없습니다.
범위 매개 변수가 지정되지 않은 경우 로컬은 기본 범위입니다.
자세한 내용은 about_Scopes 참조하세요.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Value
변수의 초기 값을 지정합니다.
형식: | Object |
Position: | 1 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Visibility
변수가 만들어진 세션 외부에 표시되는지 여부를 결정합니다. 이 매개 변수는 다른 사용자에게 전달될 스크립트 및 명령에 사용하도록 설계되었습니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
- 공공의. 변수가 표시됩니다. (공용은 기본값입니다.)
- 민간의. 변수가 표시되지 않습니다.
변수가 private인 경우 Get-Variable에서 반환된 변수와 같은 변수 목록이나 변수: 드라이브의 표시에 표시되지 않습니다. 프라이빗 변수의 값을 읽거나 변경하는 명령은 오류를 반환합니다. 그러나 변수가 정의된 세션에서 명령이 작성된 경우 사용자는 프라이빗 변수를 사용하는 명령을 실행할 수 있습니다.
형식: | SessionStateEntryVisibility |
허용되는 값: | Public, Private |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WhatIf
cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.
형식: | SwitchParameter |
별칭: | wi |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
값을 새 변수
출력
None or System.Management.Automation.PSVariable
PassThru 매개 변수를 사용하는 경우 New-Variable 새 변수를 나타내는 System.Management.Automation.PSVariable 개체를 생성합니다. 그렇지 않으면 이 cmdlet은 출력을 생성하지 않습니다.