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
사용하여 함수gh
의 help
이름을 .로 변경합니다.
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:
참고 항목
PowerShell