PowerShell 매개변수: 구문, 유형, 속성, 인수 및 예
PowerShell 스크립트 개발자는 Powershell Param 블록을 사용하여 고급 기능에 매개변수를 추가합니다. 함수를 실행하는 사람은 누구나 PowerShell Param으로 추가된 매개변수에 액세스할 수 있습니다.
또한 Param 블록을 사용하여 함수에 추가된 매개 변수와 별도로 Windows PowerShell은 자동으로 Common Parameters 를 추가합니다.
이 가이드는 Powershell 매개변수의 구문, Powershell 매개변수의 유형, 속성 및 인수를 다룹니다. 또한 Param 블록을 사용하여 스크립트나 함수에 매개변수를 추가하는 방법에 대한 몇 가지 예를 제공합니다.
게시물 주제 찾아보기
- PowerShell 매개변수 블록의 구문
- PowerShell 매개변수의 유형
- PowerShell 매개변수 매개변수 속성 및 인수
- 여러 매개 변수 집합에서 하나의 PowerShell 매개 변수를 정의하는 방법
- PowerShell 매개변수 예제
- 참조 및 추가 읽을거리
PowerShell 매개변수 블록의 구문
PowerShell Param의 구문은…
|_+_|
afunction 에 매개변수를 추가하려면 다음 단어로 시작하십시오. 그만 , 매개변수 블록()이 옵니다. 다음은 param 블록의 간단한 형태입니다...
|_+_| 그만큼 cmdlet 바인딩 속성은 선택 사항이며 param 블록 외부에 정의된 유일한 속성입니다. 이에 대한 자세한 내용은 나중에 가이드에서Param 블록(param()) 내에서 Parameter 속성과 해당 인수를 정의합니다. 또한 매개변수 속성은 [()] 블록으로 묶입니다.
위의 구문 코드에서 모든 매개변수 인수를 굵게 표시했습니다. 훨씬 더 많은 매개변수 인수가 있습니다. 구문에 있는 인수는 설명을 위한 것일 뿐 완전하지 않습니다.
매개변수 블록 내에서 쉼표로 구분된 매개변수 인수를 정의합니다. PowerShell Param 속성의 예는 매개변수 기인하다.
또한 param 인수의 예는 다음과 같습니다. 필수적인 논쟁. param 인수의 또 다른 예는 다음과 같습니다. 매개변수 집합 이름 .
마지막으로 매개변수의 이름을 정의합니다. 또한 매개변수 데이터 유형도 지정합니다.
다음 섹션에서는 일반적인 유형의 PowerShell 매개 변수에 대해 설명합니다. 그런 다음 섹션 3에서는 공통 매개변수 속성과 해당 인수를 다룹니다.
마지막으로 이 가이드의 마지막 섹션에서는 PowerShell Param의 실제 SysAdmin 예제를 제공합니다. 이 섹션에서는 고급 기능에서 param 블록을 사용하는 방법에 대한 예도 제공합니다.
PowerShell 매개변수의 유형
설정할 수 있는 가장 일반적인 매개변수 유형은 다음과 같습니다. 끈 또는 스위치 매개변수. 또한 다음을 정의할 수도 있습니다. 정수 , 부울 , 날짜 시간 또는 char 매개변수 유형.
이 섹션에서는 이러한 유형의 매개변수 중 일부에 대해 설명합니다. 또한 param 블록에서 정의하는 방법에 대한 몇 가지 예를 제공합니다.
PowerShell 매개변수 끈 매개변수
PowerShell 매개변수를 생성할 때 다음을 생성할 가능성이 높습니다. 끈 매개변수. ㅏ 끈 매개변수는 모든 문자열 값을 허용합니다.
Windows PowerShell에서 문자열은 숫자, 단어 또는 문자일 수 있습니다. 특히 큰따옴표나 작은따옴표로 선언하는 모든 것은 문자열입니다.
PowerShell에서 문자열의 개체 유형은 시스템.문자열 .
PowerShell 매개 변수를 문자열 매개 변수로 선언하려면 매개 변수 이름 앞에 단어를 묶습니다. 끈 [] 괄호 안에. 다음은 예입니다…
|_+_|PowerShell 매개변수 정수 매개변수
안 정수 데이터 유형은 32비트 부호 있는 정수입니다. 영어로, 정수 는 숫자입니다(예: 1, 2 또는 3).
달리 끈 모든 유형의 데이터를 사용할 수 있는 매개변수 데이터 유형, 정수 매개변수는 매우 규범적입니다.
mucky duck 마법사 코디
정의하면 정수 매개변수는 숫자만 허용할 수 있습니다. 또한 값으로 단어를 입력하면 정수 매개 변수를 사용하지 않으면 PowerShell에서 오류 메시지를 표시합니다.
PowerShell Param을 정의하는 방법을 보여드리기 전에 정수 매개변수, 다음은 int 데이터 유형을 정의하는 방법에 대한 일반적인 예입니다...
|_+_|PowerShell에서 코드를 실행하면 반환됩니다. 123 .
반대로 123을 int로 바꾸면 PowerShell에서 오류 메시지가 표시됩니다.
|_+_|
이제 당신은 정수 데이터 유형 단기집중과정, PowerShell Param 생성 정수 number라는 매개변수, 여기에 코드가 있습니다...
|_+_|이렇게 하면 스크립트 또는 함수의 사용자가 올바른 데이터 유형을 제공해야 합니다.
PowerShell 매개변수 날짜 시간 매개변수
처럼 정수 매개변수, 날짜 시간 매개변수는 또한 허용하는 입력 유형에 대해 매우 규범적입니다. 이름에서 알 수 있듯, 날짜 시간 매개변수는 날짜 및 시간 형식의 입력만 허용합니다.
날짜만 허용하는 PowerShell 매개변수를 정의하려면 아래 샘플 코드를 사용하십시오…
|_+_|이 예에서는 날짜 입력 매개변수의 이름입니다. 추가적으로, 날짜 시간 데이터 유형을 정의합니다.
PowerShell 매개변수 스위치 매개변수
이 섹션의 처음 세 하위 섹션에서는 사용자의 입력이 필요한 PowerShell 매개 변수 유형에 대해 설명했습니다.
그러나 사용자의 입력이 필요하지 않은 PowerShell 매개 변수 유형이 있습니다. 다른 유형의 매개변수와 달리 스위치 매개변수는 사용자 입력이 필요하지 않습니다.
정의하는 방식 스위치 매개변수는 다른 유형의 매개변수를 정의하는 방식과 유사합니다. 그러나 대신 스위치 , 정수 , 또는 날짜 시간 , 단어를 사용 스위치 .
예를 들어 PowerShell 매개변수를 정의하려면 스위치 매개변수, CSV 내보내기 , 아래 코드를 사용…
|_+_|마지막으로 이 섹션에서는 스위치 매개변수. Powershell 콘솔에 결과를 표시할 수 있는 PowerShell 스크립트 또는 함수를 생각해 보십시오.
사용자에게 결과를 텍스트 파일이나 CSV 파일로 내보낼 수 있는 옵션을 제공할 수도 있습니다.
함수를 코딩하는 한 가지 방법은 3개의 스위치 매개변수를 만드는 것입니다. 그런 다음 사용자는 기능이 결과를 전달하기를 원하는 방식에 따라 매개변수 중 하나를 선택할 수 있습니다.
이 유형의 매개변수는 사용자가 입력을 입력할 필요가 없습니다. 매개변수를 선택하기만 하면 함수가 그에 따라 출력을 표시합니다.
특정 데이터 유형으로 다른 PowerShell 매개변수를 정의할 수도 있습니다. PowerShell 데이터 유형에 대해 알아보려면 다음 링크를 방문하세요. PowerShell 데이터 유형을 정의하는 방법 .PowerShell 매개변수 매개변수 속성 및 인수
이 가이드의 PowerShell 매개변수 구문에서 PowerShell 매개변수에 속성이 있음을 암시했습니다. 또한 각 매개변수 속성에도 인수가 있음을 지적했습니다.
이 섹션에서는 매개변수 속성과 해당 인수에 대해 설명합니다.
매개 변수 속성과 해당 인수를 설명하기 위해 이 가이드의 첫 번째 섹션에서 소개한 PowerShell 매개 변수의 구문을 참조하겠습니다.
|_+_|PowerShell 매개변수 cmdlet 바인딩 기인하다
그만큼 cmdlet 바인딩 속성은 일반적으로 param 블록 앞에 지정됩니다. 정의할 때 cmdlet 바인딩 속성을 사용하면 PowerShell은 스크립트를 고급 기능으로 인식합니다.
이 가이드의 구문 섹션에서 이 코드를 param 블록의 단순화된 버전으로 사용했습니다.
|_+_|이 섹션에서는 다음 항목에 중점을 둘 것입니다. cmdlet 바인딩 기인하다 코드의 일부. 정의하는 방법은 다음과 같습니다. 기인하다 …
|_+_|다음 3개의 하위 섹션에서 몇 가지 일반적인 인수에 대해 논의할 것입니다. cmdlet 바인딩 기인하다.
의심을 피하기 위해 다음을 모두 정의해야 합니다. 인수 () 블록 내에서 기인하다 . 또한 마지막 속성을 제외한 모든 속성을 쉼표(,)로 구분해야 합니다. 인수 내 기인하다 .
PowerShell 매개변수 기본 매개변수 집합 이름 논쟁
PowerShell 함수를 개발할 때 사용자가 동일한 명령에서 사용할 수 있는 여러 매개 변수를 포함할 수 있습니다. 또한 동일한 PowerShell 함수에는 사용자가 다른 명령에서 사용할 수 있는 다른 매개 변수 집합이 포함될 수 있습니다.
그러나 사용자는 첫 번째 세트의 매개변수와 두 번째 세트의 매개변수를 혼합할 수 없습니다.
또한 함수 개발자는 사용자가 동일한 명령에서 사용할 수 있는 모든 매개변수를 정의합니다. 매개변수 집합 이름 논쟁. 그만큼 매개변수 집합 이름 인수는 매개변수 속성 내에서 정의됩니다(이에 대한 자세한 내용은 다음 섹션 참조).
그룹화된 매개변수 세트가 다르다는 의미는 매개변수 집합 이름 에스.
다른 매개변수 집합 이름 param 블록에서 무시되는 경우 다음 중 하나를 정의하기로 결정할 수 있습니다. 매개변수 집합 이름 s를 기본값으로 사용합니다. 사용하는 곳입니다 기본 매개변수 집합 이름 논쟁.
그만큼 기본 매개변수 집합 이름 인수는 cmdlet 바인딩 속성 블록. 다음은 예입니다…
|_+_|마지막으로 PowerShell 매개변수 블록 형식을 유지하기 위해 아래 매개변수 블록을 다시 소개합니다...
|_+_|PowerShell 매개변수 지원해야 하는 프로세스 논쟁
이것은 다음에서 정의할 수 있는 또 다른 인수입니다. cmdlet 바인딩 기인하다 . 좋아요 기본 매개변수 집합 이름 인수, 지원해야 하는 프로세스 인수는 선택 사항입니다.
그만큼 지원해야 하는 프로세스 인수는 다음을 추가합니다. 확인하다 그리고 만약 그러하다면 함수에 대한 공통 매개변수
이 인수를 추가하려면 끝에 쉼표(,)를 추가하십시오. 기본 매개변수 집합 이름 논쟁. 그런 다음 행을 추가하십시오. 지원해야 하는 프로세스 =$true 또는 $false.
이 새로운 주장이 포함되면, cmdlet 바인딩 기인하다 이제 다음과 같이 보일 것입니다…
|_+_|PowerShell 매개변수 헬프URI 논쟁
PowerShell에 대해 잘 알고 있는 경우 도움 받기 Cmdlet에서 온라인 매개변수. 당신이 달릴 때 도움 받기 와 더불어 온라인 매개 변수를 사용하면 PowerShell은 Cmdlet의 온라인 도움말 페이지를 엽니다.
예를 들어 Out-File Cmdlet의 온라인 도움말 페이지를 열려면 아래 명령을 실행하십시오…
|_+_|이 명령에 의해 열리는 페이지는 다음 함수에 의해 정의됩니다. 헬프URI 논쟁. 따라서 사용자가 함수의 온라인 도움말 페이지에 액세스하도록 하려면 다음을 정의하십시오. 헬프URI 논쟁.
다음은 예입니다…
|_+_|이제 이 마지막 인수를 cmdlet 바인딩 기인하다 . 업데이트된 코드는 다음과 같습니다.
|_+_|PowerShell 매개변수 매개변수 기인하다
PowerShell 매개변수에서 cmdlet 바인딩 속성 하위 섹션에서는 cmdlet 바인딩 속성 블록.
내 Steam 프로필 사진을 변경할 수없는 이유
당신이 본 것처럼, cmdlet 바인딩 속성 블록은 param 블록 외부에 정의된 유일한 속성입니다.
이 하위 섹션에서는 매개변수 속성에 대해 학습합니다. 또한 이 속성에 추가할 수 있는 일반적인 인수에 대해서도 배우게 됩니다.
이 가이드에서 이미 사용된 예에서 추론할 수 있듯이 Parameter Attribute는 PowerShell param 매개 변수의 동작을 제어하는 인수를 정의합니다.
Parameter라는 단어를 묶고 [] 블록에서 () 괄호를 사용하여 Parameter 속성을 정의할 수 있습니다. 다음은 예입니다…
|_+_|계속해서 () 블록 내에서 매개변수 속성의 모든 인수를 정의해야 합니다.
PowerShell Param Parameter Attribute 섹션의 다음 하위 섹션에서는 Parameter Attribute 내에서 정의할 수 있는 일반적인 인수를 소개하고 설명합니다.
PowerShell 매개변수 매개변수 집합 이름 논쟁
내가 설명했을 때 기본 매개변수 집합 이름 이 가이드의 앞부분에서 소개한 매개변수 집합 이름 논쟁. 이 인수를 사용하여 사용자가 동일한 명령에서 실행할 수 있는 매개변수를 일괄처리하거나 그룹화할 수 있습니다.
예를 들어 다음을 정의하려면 매개변수 집합 이름 ~라고 불리는 매개변수 집합 이름1 , 매개변수 속성() 블록에 아래 코드를 입력합니다.
|_+_|이 업데이트된 코드를 소개하면 샘플 코드의 param 블록이 이제 다음과 같이 보일 것입니다.
|_+_|내가 다시 가져오면 cmdlet 바인딩 속성, 내 샘플 PowerShell 매개 변수 코드는 이제 다음과 같이 보일 것입니다…
|_+_|PowerShell 매개변수 필수적인 논쟁
당신은 사용할 수 있습니다 필수적인 매개변수가 필수인지 선택인지 정의하는 인수입니다. 그만큼 필수적인 인수는 $true 또는 $false 값을 허용합니다. $true는 필수를 의미하고 $false는 필요하지 않음을 의미합니다.
또한, 필수적인 인수는 선택 사항입니다. 그러나 이 인수가 정의되지 않은 경우 매개변수는 선택사항으로 처리됩니다.
정의하려면 필수적인 Argument, Parameter Attribute 블록에 아래 코드 추가…
|_+_|마지막으로 내가 포함한다면 필수적인 내 PowerShell 매개변수 코드에 대한 인수 코드는 이제…
|_+_|PowerShell 매개변수 위치 논쟁
그만큼 위치 매개변수 속성의 인수는 매개변수의 위치를 정의합니다. 값은 0부터 시작하는 정수입니다.
이점 위치 인수는 사용자가 매개변수의 위치를 사용하여 함수를 실행할 수 있도록 하는 것입니다. 구체적으로 정의할 때 위치 인수, 사용자는 매개변수를 지정하지 않고 명령줄에 각 매개변수에 대한 값을 입력할 수 있습니다.
그러면 PowerShell은 매개변수 위치에 따라 명령줄의 각 값을 할당합니다.
예를 들어, Get-Child 항목 Cmdlet에는 이라는 매개변수가 있습니다. 길 (위치 0). Cmdlet에는 다른 매개변수도 있습니다. 필터 (위치 1).
기본적으로 실행하면 Get-Child 항목 명령을 사용하려면 값을 추가하기 전에 매개변수 이름을 포함해야 합니다. 아래 명령어를 참고하세요...
|_+_|이 명령에서 매개변수를 호출한 다음 해당 값을 지정했습니다.
그러나 이 두 매개변수의 위치를 알고 있으므로 매개변수를 명시적으로 호출하지 않고도 해당 위치에 값을 추가할 수 있습니다. 그런 다음 아래와 같이 내 명령을 수정합니다...
|_+_|분명히, 이것은 제 시간을 절약해 줍니다! 그러나 긴 PowerShell 코드를 보고 있는 경우 약간의 혼란이 발생할 수 있습니다.
이 명령은 PowerShell에서 동일한 결과를 제공합니다…
PowerShell은 위치에 있는 값을 매개변수에 따라 자동으로 할당합니다. 위치 논쟁.
다음은 정의하는 방법입니다. 위치 논쟁…
|_+_| 이 예에서 내 매개변수 위치는 0(영)입니다. 다음 매개변수를 정의하면 위치 1이 되는 식입니다. 같은 위치에 두 개의 매개변수를 가질 수 없습니다. 이 가이드의 뒷부분에서 동일한 위치에 다른 ParameterSetNames에 하나의 매개변수를 추가하는 방법을 배우게 됩니다.이제 샘플 코드에 이 인수를 추가하겠습니다...
|_+_|PowerShell 매개변수 값에서 파이프라인 논쟁
일반적으로 사용되는 또 다른 매개변수 증가는 값에서 파이프라인 논쟁. 이름에서 알 수 있듯이 이 인수는 매개변수가 파이프라인의 값을 허용하는지 여부를 결정합니다.
그녀는이 주장을 정의하는 방법입니다 ...
|_+_|이 새 인수를 내 코드에 추가하면 다음과 같이 표시됩니다.
|_+_|라는 또 다른 주장이 있습니다. ValueFromPipelineByPropertyName . 이 주장에 대해 읽으려면 다음을 방문하십시오. about_Functions_Advanced_Parameters .
PowerShell 매개변수 도움말 메시지 논쟁
이 인수를 사용하여 사용자에게 매개변수 사용 방법을 보여주는 메시지를 지정할 수 있습니다. 정의하려면 도움말 메시지 매개변수에 대한 인수는 다음과 유사한 코드를 사용합니다.
|_+_|이제 업데이트된 코드가 있습니다.
|_+_|지금까지 이 섹션에서 2가지 PowerShell 매개변수 속성에 대해 논의했습니다. cmdlet 바인딩 그리고 매개변수 . 또한 이러한 속성에 대해 정의할 수 있는 일반적인 인수에 대해서도 논의했습니다.
이 섹션의 나머지 3개의 하위 섹션에서는 더 일반적으로 사용되는 3개의 PowerShell 매개 변수 특성을 알려 드리겠습니다. 그러나 이 3가지 속성은 인수를 정의할 필요가 없습니다.
PowerShell 매개변수 별명 기인하다
alias 속성은 매개변수의 별칭을 지정하는 데 사용됩니다. 짐작할 수 있듯이 매개 변수 대신 PowerShell 매개 변수의 별칭을 사용할 수 있습니다.
매개 변수에 대한 별칭 특성을 정의하는 방법을 보여드리기 전에 먼저 컴퓨터에서 모든 Cmdlet 및 함수의 별칭을 찾는 방법을 보여드리겠습니다.
확대 / 축소에서 위험을 감수하는 방법
Cmdlet 및 함수의 모든 별칭을 나열하려면 아래 명령을 실행합니다.
|_+_|모든 별칭이 나열됩니다...
다음으로 이동 별명 속성, PowerShell 매개변수 매개변수에 대해 하나를 정의하려면 아래와 유사한 코드를 사용하십시오…
|_+_| 이 예에서 FP는 매개변수의 별명입니다.이것을 내 코드에 추가하면 업데이트된 버전이 다음과 같이 보일 것입니다.
|_+_|PowerShell 매개변수 와일드카드 지원 기인하다
이 매개변수 param 속성은 매개변수가 와일드카드를 허용하는지 여부를 결정합니다. 이 속성을 정의하는 방법은 다음과 같습니다.
|_+_|PowerShell 매개변수 ValidateNotNullOrEmpty 검증 속성
이 가이드에서 이미 다룬 대부분의 속성과 마찬가지로 이 속성의 이름도 속성을 제공합니다. 유효성 검사 속성입니다.
이 속성을 정의할 때 매개변수는 null($null) 값을 허용하지 않습니다. 또한 빈() 값을 허용하지 않습니다.
retroarch를위한 최고의 nes 코어
사용자가 $null 또는 를 입력하면 함수에서 오류가 발생합니다. 이 속성을 정의하려면 아래 코드를 입력하십시오...
|_+_|마지막으로 마지막 2개의 속성으로 코드를 업데이트하겠습니다...
|_+_|PowerShell 매개변수 매개변수 이름
매개변수의 모든 속성과 인수를 정의한 후 매개변수 이름을 추가해야 합니다. PowerShell 매개변수 매개변수는 변수처럼 정의되며, 달러 기호($)와 매개변수 이름이 뒤따릅니다.
선택적으로 매개변수의 데이터 유형을 입력할 수도 있습니다. 이 가이드의 섹션 2에서 다양한 유형의 PowerShell 매개 변수에 대해 설명했습니다.
다음은 허용할 수 있는 매개변수를 정의하는 방법입니다. 끈 데이터 형식.
|_+_|다음은 업데이트된 코드 예제입니다...
|_+_|여러 매개 변수 집합에서 하나의 PowerShell 매개 변수를 정의하는 방법
PowerShell 함수를 처음 코딩하는 경우 하나의 매개변수를 여러 번 정의하고 싶은 유혹에 빠질 가능성이 있습니다.
매개변수가 여러 번 있어야 하는 한 가지 이유는 매개변수가 여러 ParameterSetNames(여러 매개변수 집합)에서 사용되는 경우입니다.
이 집으로 운전하기 위해 다음이 포함된 PowerShell 기능을 개발한다고 가정해 보겠습니다. 길 매개변수. 그러나 Path 매개변수가 필요한 2개의 ParameterSetName이 있습니다.
PowerShell 스크립팅을 처음 접하는 대부분의 사람들은 아래에 표시된 매개변수를 정의할 것입니다.
|_+_|위와 같이 매개변수를 정의하면 오류 메시지가 표시됩니다. 이 이론을 테스트하기 위해 코드를 PowerShell ISE에 복사하겠습니다.
어떻게 해결합니까? 해결책은 ParameterSetName을 포함하여 2개의 매개변수 속성과 해당 인수를 정의하는 것입니다.
그런 다음 두 매개변수 속성의 끝에 두 매개변수 속성에 공통적인 단일 매개변수 이름을 정의합니다. 이전 예에서는 첫 번째 매개변수 이름을 제거하고 마지막 매개변수를 그대로 둡니다.
|_+_|이제 이 코드를 PowerShell ISE에 복사하면 문제가 없습니다.
이 예에서 두 매개변수 속성의 매개변수 인수는 완전히 다를 수 있습니다. 또한 원하는 만큼 매개변수 속성을 정의할 수 있습니다.PowerShell 매개변수 예제
이 가이드의 마지막 섹션에서는 실제 SysAdmin PowerShell 매개변수 예제를 제공합니다.
이 가이드를 작성하는 동안 폴더 크기와 파일 수를 얻기 위한 PowerShell 스크립트/함수 개발을 시작했습니다. 다음은 함수의 param 부분입니다...
|_+_|이 섹션의 다음 몇 개의 하위 섹션에서 매개변수의 다양한 요소에 대해 설명하겠습니다. 마지막으로 마지막 섹션에서는 함수 블록을 소개하고 param 블록을 함수에 추가합니다.
다음 하위 섹션에서 참조하는 코드의 행을 쉽게 따를 수 있도록 PowerShellParamExample.zip 을 다운로드하십시오. 그런 다음 파일의 압축을 풀고 PowerShell ISE에서 .ps1 파일을 엽니다.
ParameterSetName PowerShell 매개변수 예
내 PowerShell 매개 변수 예제 코드에는 세 개의 ParameterSetName이 있습니다. 결과 표시 , 내보내기Txt 그리고 CSV 내보내기 . 나는 그들이하는 일을 쉽게 식별 할 수 있도록이 이름을 사용했습니다.
이 섹션의 도입부에서 이 매개변수 코드를 사용하여 빌드하는 함수가 지정된 폴더의 각 하위 폴더에 대한 폴더 크기와 파일 수를 표시한다고 언급했습니다.
따라서 세 개의 ParameterSetNames는 사용자에게 PowerShell 콘솔에 결과를 표시하는 옵션을 제공합니다. 또는 사용자는 결과를 텍스트 파일이나 CSV 파일로 내보낼 수 있습니다.
또한, 각각의 매개변수 집합 이름 사용자가 단일 명령에서 호출할 수 있는 모든 매개변수를 정의합니다. 이 아이디어를 기반으로 내가 만들고 있는 기능에는 세 가지 명령 옵션 또는 구문이 있습니다.
다음 하위 섹션과 예제에서 이 아이디어를 확장할 것입니다.
cmdlet 바인딩 속성 및 기본 매개변수 집합 이름 인수의 예
이 가이드의 이전 섹션에서 cmdlet 바인딩 기인하다. 또한, 당신은 또한 그 주장 중 하나를 발견했습니다. 기본 매개변수 집합 이름 .
그만큼 기본 매개변수 집합 이름 인수는 함수가 호출하는 기본 매개변수 세트를 정의하는 데 사용됩니다. 이 예에서 기본 매개변수 세트 이름은 결과 표시 .
그만큼 기본 매개변수 집합 이름 코드의 1행에 선언되어 있습니다.
PowerShell은 기본 매개변수 집합 이름 사용할 매개변수 집합을 결정할 수 없는 경우. 그러나 필수 매개변수를 설정하면 이 문제를 피할 수 있습니다.
어떤 경우에도 기본 매개변수 집합 이름을 선언하는 데 아무런 문제가 없습니다.
폴더 경로 문자열 매개변수 예
여기서부터 재미가 시작됩니다! 그만큼 폴더 경로 매개변수는 폴더 경로를 입력하는 데 사용되며 함수는 하위 폴더의 크기를 가져오고 각 하위 폴더의 파일 수를 계산합니다.
이것은 문자열 매개변수입니다. 모든 문자열을 입력으로 받아들인다는 의미입니다.
양식 재 제출 확인 크롬을 끄는 방법
흥미로운 기능 중 하나는 폴더 경로 매개변수는 3개의 매개변수 집합 이름에 공통적이라는 것입니다. 이 기사 앞부분에서 새로운 PowerShell 스크립트 개발자가 이러한 상황에 직면할 수 있는 문제에 대해 설명했습니다.
선언하려면 폴더 경로 3개의 매개변수 집합 이름에 매개변수를 사용하여 3개의 매개변수 속성을 만들었습니다.
첫 번째 매개변수 속성은 5행과 11행 사이에 있습니다. 또한 이 첫 번째 매개변수 속성에는 여러 인수가 있습니다.
그러나 나는 당신이 특히주의를 기울이기를 바랍니다 매개변수 집합 이름 논쟁 - 결과 표시 .
둘째, 12행과 18행 사이에 다음과 같이 다른 매개변수 속성을 선언했습니다. 매개변수 집합 이름 호출된 인수 내보내기Txt .
마지막으로 19행과 25행 사이에 다음과 같이 세 번째 매개변수 속성을 선언했습니다. 매개변수 집합 이름 호출된 인수 CSV 내보내기 .
또한 3개의 매개변수 속성을 선언하는 것과 달리 별명 , 그리고 ValidateNotNullOrEmpty 속성. 이러한 속성은 26행과 27행에서 찾을 수 있습니다.
마지막으로 모든 속성과 해당 인수 바로 아래에 매개변수 이름을 포함했습니다. 폴더 경로 . 매개변수 이름은 28행에 있습니다.
이 섹션의 마지막 하위 섹션에서는 함수가 이 매개변수를 3가지 명령 구문으로 표시하는 방법을 볼 수 있습니다.결과 표시 , 내보내기Txt 그리고 CSV 내보내기 스위치 매개변수 예
param 코드의 29행에서 다른 매개변수 속성과 해당 인수를 선언했습니다.
먼저 29행과 37행 사이에 매개변수 속성과 인수를 선언합니다. 결과 표시 매개변수.
그런 다음 38행과 47행 사이에 다음과 같은 다른 매개변수를 선언합니다. 내보내기Txt .
마지막으로 48행과 57행 사이에 다음을 선언했습니다. CSV 내보내기 매개변수.
이 섹션에서 설명한 3가지 매개변수는 모두 스위치 매개변수. 이미 알고 있듯이, 이는 매개변수에 사용자의 입력이 필요하지 않음을 의미합니다.
사용자가 매개변수를 선택하면 함수가 결과를 표시하는 방식을 변경합니다.
PowerShell 함수에서 PowerShell 매개변수를 사용하는 방법
이 하위 섹션에서는 PowerShell 기능 블록을 예제 코드에 도입하려고 합니다.
PowerShell 기능 블록의 구문은…
|_+_|이 가이드의 마지막 예에서는 함수 구문 내의 PowerShell param 블록을 마지막 하위 섹션의 param 코드로 교체하겠습니다. 또한 기능을 다음으로 대체합니다. Get-FolderSizeFileCount , 함수의 이름.
이제 최종 함수는 다음과 같이 보일 것입니다.
|_+_| 이 예시에서 시작 {}, 프로세스 {} 및 끝 {} 블록은 비어 있습니다.PowerShell 함수에서 내 PowerShell 매개변수 테스트
이 마지막 섹션에서는 마지막 섹션에서 만든 함수의 매개변수를 테스트합니다.
직접 테스트하려면 Get-FolderSizeFileCount.zip 링크를 클릭하여 코드를 다운로드할 수 있습니다. 그런 다음 zip 파일의 압축을 풉니다.
파일의 압축을 풀면 PowerShell을 열고 아래 명령을 실행합니다.
|_+_| 압축을 푼 파일의 전체 경로로 변경합니다.명령을 실행하면 경고 메시지가 표시됩니다. 메시지 프롬프트에서 다음을 입력하십시오. 아르 자형 그리고 키보드의 엔터 키를 누릅니다.
모듈을 가져오면 동일한 PowerShell 콘솔에서 아래 명령을 실행합니다.
|_+_|다음은 명령의 결과입니다...
내가 보여주고 싶은 것은 내 함수 도움말 페이지의 구문 섹션입니다. 위의 스크린샷에서 3가지 다른 명령으로 Get-FolderSizeFileCount 명령을 실행할 수 있습니다.
|_+_|가장 먼저 주목해야 할 점은 세 가지 구문이 폴더 경로 문자열 매개변수. 이 안내서를 읽으면 그 이유를 알게 될 것입니다.
또한 첫 번째 구문에 결과 표시 스위치 매개변수도 마찬가지입니다. 마지막으로 두 번째 및 세 번째 구문에는 CSV 내보내기 , 그리고 내보내기Txt 각각 매개변수를 전환합니다.
여기에 덧붙여 폴더 경로 , 그리고 CSV 내보내기 매개변수 및 내보내기Txt 두 번째 및 세 번째 구문의 매개변수는 각각 다음과 같습니다. 보고서 경로 문자열 매개변수. 선언 코드가 다음과 유사하기 때문에 이 매개변수를 언급하지 않았습니다. 폴더 경로 약간의 차이가 있는 코드입니다. 그만큼 보고서 경로 함수가 텍스트 및 CSV 파일 보고서를 저장할 경로를 지정하는 데 사용됩니다.그게 다야 – PowerShell 매개변수에 대한 포괄적인 가이드입니다! 도움이 되셨나요?
도움이 되셨다면 투표 부탁드립니다 네 이 게시물이 도움이 되었습니까?
또는 이 페이지 끝에 있는 답장 남기기 양식을 사용하여 질문하거나 의견을 남기거나 더 많은 피드백을 제공할 수 있습니다.
마지막으로 더 많은 PowerShell 기술 S 영역을 보려면 Windows PowerShell 방법 가이드 페이지를 방문하세요. Work from Home 페이지가 매우 도움이 될 수도 있습니다.


