Powershell에는 .bashrc에 해당하는 종류가 있습니까?


22

관리 powershell을 열 때 기본적으로로드하려는 기능이 있습니다. 말할 필요도 동등한 거기에 .bashrc또는 .profile내가 쉘을 시작할 때 자동으로 스크립트를 가져 오는 데 사용할 수 있다고?


아마도 PowerShell 프로필 ( blogs.technet.microsoft.com/heyscriptingguy/2012/05/21/… )입니까?
jehad

예, Powershell에서는 "프로필"이라고합니다.
root

답변:


23

jehad의 의견 에서 언급 한 기사에서는 PowerShell에서 프로필을로드 할 수있는 여러 위치가 있으며 여기에서 원하는 것을 설명합니다. 일반 PowerShell 콘솔에 대해 사용자별로 하나를 원할 것입니다. PowerShell에서 해당 파일을 확인할 경로는 $profile변수에 제공됩니다. 이 명령을 사용하여 해당 파일과 해당 디렉토리를 작성할 수 있습니다.

New-Item $profile -Type File -Force

Documents 폴더 아래 Microsoft.PowerShell_profile.ps1에있는 폴더에 파일을 만듭니다 WindowsPowerShell. 그런 다음 텍스트 편집기로 열 수 있습니다.

notepad $profile

관리자 권한에 관계없이 PowerShell 콘솔을 시작할 때마다 그 안에있는 모든 것이 실행됩니다. 내가 사용 이 다른 기사를 현재 PowerShell을 인스턴스가 상승되어 있는지 확인하십시오 (당신이 cmdlet을로 사용할 수있는) 함수를 생성 할 수 있습니다. 이것을 새 프로파일 파일에 넣으십시오.

Function Test-Elevated {
  $wid = [System.Security.Principal.WindowsIdentity]::GetCurrent()
  $prp = New-Object System.Security.Principal.WindowsPrincipal($wid)
  $adm = [System.Security.Principal.WindowsBuiltInRole]::Administrator
  $prp.IsInRole($adm)
}

이 기능은 일반적인 PowerShell 환경에서 사용할 수 있지만 권한이 높을 때 프로필 스크립트에서만 작업을 수행하는 데 사용할 수도 있습니다.

If (Test-Elevated) {
  echo "Be careful!"
} Else {
  echo "Eh, do whatever."
}

이 파일에는 관리 PowerShell 인스턴스에서도 자동으로 실행되는 코드가 포함되어 있기 때문에 관련이없는 프로그램이 쓰기 액세스 권한을 갖기를 원하지 않습니다. 관리자에게 모든 권한을 부여하면서도 사용자 계정에 읽기 권한 만 부여하도록 ACL을 변경하는 것이 좋습니다. 상속은 먼저 비활성화해야합니다. 그러면 고급 프로그램에서만 스크립트를 편집 할 수 있습니다.


3
그 긴 이름 Microsoft.PowerShell_profile.ps1을 그냥 변경할 수 profile.ps1있습니까? 첫 번째 기사에서$Home\[My ]Documents\WindowsPowerShell\Profile.ps1
nephewtom
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.