programing

PowerShell에서 사용자 지정 기능 로드

telebox 2023. 8. 10. 18:42
반응형

PowerShell에서 사용자 지정 기능 로드

추가 PowerShell 스크립트 파일에 정의한 몇 가지 추가 기능이 있습니다. 주 .ps1 파일에 로드하려고 합니다.그러나 PowerShell 프롬프트에서 .ps1 파일을 호출하면 해당 명령이 실행되지 않는 것 같습니다.

다음 코드 예제에서 build_functions.ps1에는 다양한 사용자 지정 함수를 정의하는 코드가 있습니다.파일을 개별적으로 실행하는 경우(예: 파일을 자체적으로 실행한 다음 주 스크립트를 통해 실행하는 경우) 잘 작동합니다.build_builddefs.ps1에는 주 스크립트를 실행하기 전에 채워야 하는 여러 변수가 포함되어 있습니다.

기본 스크립트의 시작 부분에는 다음과 같은 내용이 있습니다.

.\build_functions.ps1
.\build_builddefs.ps1

그러나 주 스크립트가 첫 번째 사용자 지정 기능을 실행하려고 하면 실패하기 때문에 이러한 스크립트가 실행되지 않는 것 같습니다.내가 뭘 잘못하고 있는 거지?

당신은 해야 합니다.dot source대상:

. .\build_funtions.ps1
. .\build_builddefs.ps1

추가 사항을 기록합니다..

이것.heyscriptingguy문서가 도움이 되어야 합니다 - 스크립트에서 Windows PowerShell 기능을 재사용하는 방법

나는 지금까지 이것을 계속 사용했습니다.

Import-module .\build_functions.ps1 -Force

KERR의 답변은 IMO가 유일하게 "유효한" 답변입니다.대부분의 답변과 같이 지정된 상대 경로는 스크립트의 경로에서 확인되지 않고 다음 경로에서 확인됩니다.PWD...

관련 파일을 로드하는 방법은 다음과 같습니다.

$parent_dir = Split-Path $MyInvocation.MyCommand.Path

. $parent_dir\Scripts\prompt.ps1
. $parent_dir\Scripts\aliases.ps1
. $parent_dir\Scripts\isoTools.ps1

자동 변수에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

다음은 특정 경로/디렉토리에서 로드하는 방법입니다.

. "C:\scripts\Function-Search-AD.ps1"

enter image description here

언급URL : https://stackoverflow.com/questions/18764312/loading-custom-functions-in-powershell

반응형