about_Requires

업데이트 날짜: 2014년 5월

적용 대상: Windows PowerShell 4.0, Windows PowerShell 5.0

항목

about_Requires

간단한 설명

필수 요소가 없으면 스크립트가 실행되지 않게 합니다.

자세한 설명

#Requires 문을 사용하면 Windows PowerShell® 버전, 모듈, 스냅인 및 모듈/스냅인 버전 필수 조건이 충족되지 않을 경우 스크립트가 실행되지 않습니다. 필수 조건이 충족되지 않으면 Windows PowerShell에서는 스크립트를 실행하지 않습니다.

#Requires 문은 모든 스크립트에서 사용할 수 있습니다. 함수, cmdlet 또는 스냅인에서는 사용할 수 없습니다.

구문

          #Requires -Version <N>[.<n>] 
          #Requires –PSSnapin <PSSnapin-Name> [-Version <N>[.<n>]]
          #Requires -Modules { <Module-Name> | <Hashtable> } 
          #Requires –ShellId <ShellId>
          #Requires -RunAsAdministrator

사용 규칙

  • - #Requires 문은 스크립트에서 한 줄의 첫 번째 항목이어야 합니다.

  • - 스크립트에 하나 이상의 #Requires 문을 포함할 수 있습니다.

  • - #Requires 문은 스크립트에서 모든 줄에 나타날 수 있습니다.

매개 변수

  -Version <N>[.<n>]

스크립트에 필요한 Windows PowerShell의 최소 버전을 지정합니다. 주 버전 번호와 선택적 부 버전 번호를 입력합니다.

예를 들면 다음과 같습니다.

        #Requires -Version 3.0
  -PSSnapin <PSSnapin-Name> [-Version <N>[.<n>]]

스크립트에 필요한 Windows PowerShell 스냅인을 지정합니다. 스냅인 이름과 선택적 버전 번호를 입력합니다.

예를 들면 다음과 같습니다.

        #Requires –PSSnapin DiskSnapin -Version 1.2
  -Modules <Module-Name> | <Hashtable>

스크립트에 필요한 Windows PowerShell 모듈을 지정합니다. 모듈 이름과 선택적 버전 번호를 입력합니다. Modules 매개 변수는 Windows PowerShell 3.0에 도입되었습니다.

필요한 모듈이 현재 세션에 없으면 Windows PowerShell이 해당 모듈을 가져옵니다. 모듈을 가져올 수 없으면 Windows PowerShell이 종료 오류를 throw합니다.

각 모듈에 대해 모듈 이름(<String>) 또는 해시 테이블을 다음 키와 함께 입력합니다. 값은 문자열 및 해시 테이블의 조합일 수 있습니다.

  • -- ModuleName. 이 키는 필수입니다.

  • -- ModuleVersion. 이 키는 필수입니다.

  • -- GUID. 이 키는 선택 사항입니다.

예:

        #Requires -Modules PSWorkflow, @{ModuleName="PSScheduledJob";ModuleVersion=1.0.0.0}
  -ShellId

스크립트에 필요한 셸을 지정합니다. 셸 ID를 입력합니다.

예:

        #Requires –ShellId MyLocalShell
  -RunAsAdministrator

이 스위치 매개 변수를 requires 문에 추가하면 이 매개 변수는 스크립트를 실행 중인 Windows PowerShell 세션이 관리자 권한(관리자 권한으로 실행)으로 시작되도록 지정합니다.

예:

        #Requires -RunAsAdministrator

예제

다음 스크립트에는 두 개의 #Requires 문이 있습니다. 두 문에 지정된 요구 사항이 충족되지 않으면 스크립트가 실행되지 않습니다. 각 #Requires 문은 한 줄의 첫 번째 항목이어야 합니다.

          #Requires –Modules PSWorkflow
          #Requires –Version 3
          Param
         (
             [parameter(Mandatory=$true)]
             [String[]]
             $Path
         )
         ...

참고

Windows PowerShell 3.0에서 Windows PowerShell Core 패키지는 Windows PowerShell 콘솔에서 시작된 세션과 같이 InitialSessionState.CreateDefault2 메서드를 사용하여 시작된 세션에서 모듈로 표시됩니다. 이외에는 스냅인으로 표시됩니다. 예외는 항상 스냅인으로 표시되는 Microsoft.PowerShell.Core입니다.

참고 항목

about_Automatic_Variables

about_Language_Keyword

about_PSSnapins

get-PSSnapin