Powershell 구성 파일 사용자 정의
만약 서로 다른 Powershell 프로필을 사용한 적이 없다면, this article 은 6가지 다른 형식과 각 프로필을 사용하는 시간을 설명합니다.개인적으로는 CurrentUserAllHosts 구성 파일만 사용합니다.나는 아직 다른 유형의 용례를 찾지 못했다.
View the template profile here
단면도
나는 내 개인 자료를 다른 부분으로 나누어 조리를 유지한다.
Modules
# region Modules - must be first
using module CatMods
using module ImportExcel
#endregion
이 모듈은 반드시 첫 번째가 되어야 합니다. using
문장 앞에서 다른 명령을 실행하면 모듈이 불러오지 않기 때문입니다.이 섹션은 사용자가 작성한 사용자 정의 모듈을 포함하여 로컬 설치된 모듈을 자동으로 불러오는 데 사용됩니다.Accelerators
#region Accelerators
$type = [PowerShell].Assembly.GetType('System.Management.Automation.TypeAccelerators')
$type::Add('ArrayList', [System.Collections.ArrayList])
$type::Add('DateTimeConverter', [Management.ManagementDateTimeConverter])
#endregion
통합을 시작할 때 Powershell은 더욱 통용되고 강력해질 것입니다.NET 데이터 유형단점은 이러한 데이터 형식을 사용하려면 데이터 형식의 정확한 위치를 지정해야 하며, 이러한 데이터 형식은 좀 복잡할 수 있다.가속기는 빠른 키를 만들 수 있도록 해 줍니다. 대신 사용할 수 있습니다.나는 본기 Powershell 그룹이 아닌 ArrayList
데이터 형식을 자주 사용하며, ArrayList
보다 System.Collections.ArrayList
기억하기 쉽다.Custom Functions
# region Custom Functions
function Start-PSAdmin ()
{
Start-Process pwsh.exe -Credential "AD\cmohan.admin"
}
function Start-PSElevate ()
{
Start-Process pwsh.exe -Verb RunAs
}
function Open-GitBash ()
{
wt -p "Git Bash" -d $(pwd)
}
#endregion
같은 명령을 자주 실행하면 사용자 정의 함수에 저장하는 것이 유리할 수 있습니다.나의 개인 자료 중에는 몇 줄의 코드만 있다. 왜냐하면 나는 내가 필요로 하는 더욱 복잡한 기능을 저장하기 위해 사용자 정의 모듈을 만들었기 때문이다.다음은 제가 가장 자주 사용하는 세 가지입니다.
Start-PSAdmin
함수는 서로 다른 계정으로 새 Powershell 컨트롤러를 시작합니다.내 작업 관리자 계정으로 실행하도록 설정하면 정상적인 작업 계정에서 접근할 수 없는 작업으로 쉽게 전환할 수 있습니다.Start-PSElevate
기능이 새로운 향상된 Powershell 컨트롤러를 시작합니다.이것은 메뉴의 "관리자로 실행"옵션을 오른쪽 단추로 눌러서 Powershell을 시작하는 것과 같습니다.관리자 수준의 접근이 필요한 Powershell 명령이 자주 있습니다. 이 기능은 제가 새로운 컨트롤러를 신속하게 만들 수 있도록 합니다.Open-GitBash
는 내가 몇 달 전에 만든 새로운 함수다.이것은 내가 설정한 Git Bash 프로필로 설정된 Windows 터미널 컨트롤러를 열고 Powershell 컨트롤러에서 사용하는 작업 디렉터리와 같은 디렉터리로 열 것입니다.최근에 서버에 저장된 Powershell 프로그램을 개발하고 있는데 Git Bash 컨트롤러에서 이 폴더에 접근하기가 좀 힘들어요.탭 하나하나를 불러오는 데 10초에서 15초가 걸린다.이 작업 디렉터리에 Powershell 컨트롤러가 열려 있기 때문에, 이 함수는Git Bash에 접근하는 속도를 크게 높입니다.
Custom Console Settings
# region Custom Console Settings
$env:PSModulePath += ";C:\Users\catherine.mohan\Documents\Git\WindowsPowershell\Modules"
# Check for Elevated Prompt
$wid = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$prp = new-object System.Security.Principal.WindowsPrincipal($wid)
$admin = [System.Security.Principal.WindowsBuiltInRole]::Administrator
$IsAdmin = $prp.IsInRole($admin)
if ($isAdmin)
{
$Host.UI.RawUI.WindowTitle = "$($env:USERNAME) - Elevated - Powershell $($PSVersionTable.PSVersion.ToString())"
}
else
{
$Host.UI.RawUI.WindowTitle = "$($env:USERNAME) - Standard - Powershell $($PSVersionTable.PSVersion.ToString())"
}
#endregion
내 Powershell 구성 파일의 마지막 부분은 사용자 정의 콘솔 설정입니다.이 섹션에서는 환경 변수를 수정하거나 콘솔 창의 모양을 변경하거나 사용자 정의 변수를 초기화할 수 있습니다.코드 파일을 재구성하기 전에, 사용자 정의 모듈을 표준 Powershell 모듈 폴더와 다른 폴더에 저장합니다.그것에 접근하기 위해서, 이 폴더를 목록에 추가하기 위해서 PSModulePath
변수를 수정해야 합니다.내 개인 정보 중 유일한 컨트롤러 맞춤형 기능은 컨트롤러 창의 제목을 설정하는 기능이다.이것은 컨트롤러가 어느 계정에서 실행되고, 컨트롤러가 관리자 권한으로 향상되었는지, 컨트롤러 창이 어느 버전의 Powershell인지 보여 줍니다.한 번은 세 개의 다른 버전의 Powershell을 설치했는데, 내가 실행하는 모든 스크립트가 모든 버전에서 실행되는 것은 아니다.콘솔 제목에 Powershell 버전을 표시하는 것은 콘솔 창을 구분하는 간단한 방법입니다.
여기에는 예가 하나도 없지만, 과거 작업에서 암호화된 파일에 안전하게 저장된 증빙서류가 있습니다. 제 프로필 스크립트는 이를 증빙서류로 복호화했습니다. Powershell 컨트롤러에서 이 변수를 더욱 쉽게 사용할 수 있습니다.이렇게 하면 나는 매우 복잡한 비밀번호를 연속해서 여러 번 입력할 필요가 없다.자주 사용하는 상수 값을 저장할 수도 있습니다.
결론
Powershell 프로필은 콘솔의 업무 효율을 높이는 간단한 방법입니다.익숙한 스크립트 형식을 사용하면 가장 자주 사용하는 명령과 기능에 대한 단축키와 사용자 정의 설정을 만들 수 있습니다.
Reference
이 문제에 관하여(Powershell 구성 파일 사용자 정의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cmohan/customizing-your-powershell-profile-5hh9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)