다음을 통해 공유


about_Function_Provider

공급자 이름

함수

드라이브

Function:

기능

ShouldProcess

간단한 설명

PowerShell에 정의된 함수에 대한 액세스를 제공합니다.

자세한 설명

PowerShell 함수 공급자를 사용하면 PowerShell에서 함수 및 필터를 가져오기, 추가, 변경, 지우고 삭제할 수 있습니다.

함수는 동작을 수행하는 명명된 코드 블록입니다. 함수 이름을 입력하면 함수의 코드가 실행됩니다. 필터는 작업에 대한 조건을 설정하는 명명된 코드 블록입니다. 명령과 같이 조건 대신 필터의 이름을 입력할 수 있습니다 Where-Object .

함수 드라이브는 함수 및 필터 개체만 포함하는 플랫 네임스페이스입니다. 함수나 필터에는 자식 항목이 없습니다.

함수 공급자는 이 문서에서 설명하는 다음 cmdlet을 지원합니다.

이 공급자가 노출하는 형식

각 함수는 System.Management.Automation.FunctionInfo 클래스의 인스턴스입니다. 각 필터는 System.Management.Automation.FilterInfo 클래스의 인스턴스입니다.

함수 공급자는 드라이브에 데이터 저장소를 노출합니다Function:. 함수를 사용하려면 위치를 Function: 드라이브(Set-Location Function:)로 변경할 수 있습니다. 또는 다른 PowerShell 드라이브에서 작업할 수 있습니다. 다른 위치에서 함수를 참조하려면 경로에서 드라이브 이름(Function:)을 사용합니다.

Set-Location Function:

파일 시스템 드라이브로 돌아가려면 드라이브 이름을 입력합니다. 예를 들어 입력 합니다.

Set-Location C:

다른 PowerShell 드라이브의 함수 공급자와 함께 작업할 수도 있습니다. 다른 위치에서 함수를 참조하려면 경로에서 드라이브 이름을 Function: 사용합니다.

참고 항목

PowerShell은 별칭을 사용하여 공급자 경로를 사용하는 친숙한 방법을 허용합니다. Get-ChildItemcd의 별칭ls 같은 dir 명령은 Set-Location별칭입니다. Get-Locationpwd별칭입니다.

함수 가져오기

이 명령은 현재 세션의 모든 함수 목록을 가져옵니다. 모든 PowerShell 드라이브에서 이 명령을 사용할 수 있습니다.

Get-ChildItem -Path Function:

함수 공급자에는 컨테이너가 없으므로 위 명령은 .와 함께 Get-ChildItem사용할 때 동일한 효과를 줍니다.

Get-ChildItem -Path Function:

아래와 같이 정의 속성에 액세스하여 함수의 정의를 검색할 수 있습니다.

(Get-Item -Path function:more).Definition

달러 기호($)가 접두사로 지정된 공급자 경로를 사용하여 함수의 정의를 검색할 수도 있습니다.

$function:more

이름에 대시(-)가 있는 함수에 대한 정의를 검색하려면 달러 기호 뒤의 값을 중괄호로 래핑합니다.

${function:Clear-Host}

선택한 함수 가져오기

이 명령은 드라이브에서 함수를 Function: 가져옵니다man. cmdlet을 Get-Item 사용하여 함수를 가져옵니다. 파이프라인 연산자(|)는 결과를 .에 Format-Table보냅니다. 매개 변수는 -Wrap 줄에 맞지 않는 텍스트를 다음 줄로 전달합니다. 매개 변수는 -Autosize 텍스트를 수용할 수 있도록 테이블 열의 크기를 조정합니다.

Get-Item -Path man | Format-Table -Wrap -Autosize

함수 공급자 경로 작업

이러한 명령은 둘 다 이름이 지정된 c:함수를 가져옵니다. 첫 번째 명령은 모든 드라이브에서 사용할 수 있습니다. 두 번째 명령은 드라이브에 Function: 사용됩니다. 이름은 드라이브의 구문인 콜론으로 끝나므로 드라이브 이름으로 경로를 한정해야 합니다. 드라이브 내에서 Function: 두 형식 중 하나를 사용할 수 있습니다. 두 번째 명령에서 점(.)은 현재 위치를 나타냅니다.

PS C:\> Get-Item -Path Function:c:
PS Function:\> Get-Item -Path .\c:

함수 만들기

이 명령은 cmdlet을 New-Item 사용하여 .라는 Win32:함수를 만듭니다. 중괄호 안에 있는 식은 함수 이름으로 표현되는 스크립트 블록입니다.

New-Item -Path Function:Win32: -Value {Set-Location C:\Windows\System32}

PowerShell 명령줄에 함수를 입력하여 함수를 만들 수도 있습니다. 예를 들어 tpe Function:Win32: {Set-Location C:\Windows\System32}. 드라이브에 Function: 있는 경우 드라이브 이름을 생략할 수 있습니다.

함수 삭제

이 명령은 현재 세션에서 함수를 삭제합니다 more .

Remove-Item Function:more

함수 변경

이 명령은 cmdlet을 Set-Item 사용하여 함수를 prompt 변경하여 경로 앞의 시간을 표시합니다.

Set-Item -Path Function:prompt -Value {
  'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '
  }

함수 이름 바꾸기

이 명령은 cmdlet을 Rename-Item 사용하여 함수ghhelp 이름을 .로 변경합니다.

Rename-Item -Path Function:help -NewName gh

함수 복사

이 명령은 함수를 prompt 복사하여 oldPrompt프롬프트 함수와 연결된 스크립트 블록에 대한 새 이름을 효과적으로 만듭니다. 원래 프롬프트 함수를 변경하려는 경우 이 함수를 사용하여 저장할 수 있습니다. 새 함수의 Options 속성 값은 .입니다None. Options 속성의 값을 변경하려면 .를 사용합니다Set-Item.

Copy-Item -Path Function:prompt -Destination Function:oldPrompt

동적 매개 변수

동적 매개 변수는 PowerShell 공급자에 의해 추가되는 cmdlet 매개 변수이며 공급자 사용 드라이브에서 cmdlet을 사용하는 경우에만 사용할 수 있습니다.

옵션 <[System.Management.Automation.ScopedItemOptions]>

함수의 Options 속성 값을 결정합니다.

  • None: 옵션이 없습니다. 기본값은 None입니다.
  • Constant: 함수를 삭제할 수 없으며 해당 속성을 변경할 수 없습니다. Constant 는 함수를 만드는 경우에만 사용할 수 있습니다. 기존 함수 Constant의 옵션을 .로 변경할 수 없습니다.
  • Private: 함수는 현재 범위에서만 표시됩니다.
  • 자식 범위가 아닙니다.
  • ReadOnly: 매개 변수를 사용하는 -Force 경우를 제외하고는 함수의 속성을 변경할 수 없습니다. 함수를 삭제하는 데 사용할 Remove-Item 수 있습니다.
  • AllScope: 함수가 생성된 모든 새 범위에 복사됩니다.

지원되는 Cmdlet

파이프라인 사용

공급자 cmdlet은 파이프라인 입력을 허용합니다. 파이프라인을 사용하여 한 cmdlet에서 다른 공급자 cmdlet으로 공급자 데이터를 전송하여 작업을 간소화할 수 있습니다. 공급자 cmdlet에서 파이프라인을 사용하는 방법에 대한 자세한 내용은 이 문서 전체에서 제공하는 cmdlet 참조를 참조하세요.

도움말 가져오기

Windows PowerShell 3.0부터 파일 시스템 드라이브에서 해당 cmdlet이 작동하는 방식을 설명하는 공급자 cmdlet에 대한 사용자 지정된 도움말 항목을 가져올 수 있습니다.

파일 시스템 드라이브에 대해 사용자 지정된 도움말 항목을 얻으려면 파일 시스템 드라이브에서 Get-Help 명령을 실행하거나 Get-Help매개 변수를 사용하여 -Path 파일 시스템 드라이브를 지정합니다.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path function:

참고 항목