programing

$profile의 기본값을 새 값으로 변경할 수 있습니까?

linuxpc 2023. 8. 14. 22:32
반응형

$profile의 기본값을 새 값으로 변경할 수 있습니까?

따라서 여기에 프로필 파일을 만들지 않습니다.

C:\Users\fmerrow\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

내 말은 오해하지 말라는 거야, 이것은 세상의 끝이 아니고 나는 그것을 감수할 수 있어요.그러나 루트 "내 문서"를 상당히 얇게 유지하고 싶으며 새 응용프로그램을 사용할 때마다 디렉터리를 만들지 않습니다.

이 설정이 숨겨져 있을 수 있는 곳을 찾아다녔지만, 지금까지는 운이 없습니다.등록부나 어떤 것에도 없는 것 같습니다.$PsHomefiles 파일

제가 이것과 함께 사는 법을 배워야 할까요? 아니면 이 시스템에 영원히 "붙을" $profile의 가치를 바꿀 수 있는 방법이 있을까요?의 "기본값는 "기본값"을 변경해야 .$profile?

한 것 에 가장 은, 무시하는 것입니다.$profile그리고 대신 코드를 넣었습니다.$profile.AllUsersAllHosts파일을 기본 $profile 위치가 아닌 저장할 위치에서 파일을 소스/실행합니다.

의견 및/또는 기타 제안을 환영합니다.

프랭크야.

제가 생각할 수 있는 유일한 것은 파워셸 호출 시 당신의 프로필을 "도트 소싱"하는 것입니다.

예:

powershell -noprofile -noexit -command "invoke-expression '. ''C:\My profile location\profile.ps1''' "

호출-표현식 명령이 가리키는 스크립트를 변경하여 원하는 위치에 "프로파일"을 배치할 수 있습니다.그런 다음 PowerShell을 실행하는 바로 가기를 만들고 대상을 위 명령으로 설정합니다.

여기에 프로필 파일을 넣을 수도 있습니다.

C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1

모든 프로필과 스크립트를 위한 별도의 위치를 원하는 경우 위의 profile.ps1 파일을 다음과 같이 수정할 수 있습니다.

 $profile = "NewLocation\profile.ps1"
. $profile

사용 중인 프로필 유형을 확인하십시오. 자세한 내용은 여기를 참조하십시오.

https://technet.microsoft.com/en-ca/library/dd819434.aspx

은 당신의 를 바꿀 수 있습니다.$Profile.CurrentUser* 경로를 를 지정할 수 .Environment.GetFolderPath(Environment.SpecialFolder.Personal)

를 통해 regedit

HKEY_CURRENT_USER\소프트웨어\마이크로소프트\Windows\현재 버전\탐색기\사용자 셸 폴더

에서 이열에서다선니다택합을음름다를 선택합니다.Personal프로파일을 원하는 위치로 값을 변경합니다.

또는 경유PowerShell

New-ItemProperty 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders' Personal -Value 'Your New Path Here' -Type ExpandString -Force

이 옵션을 적용하려면 재부팅해야 합니다.

powershell에서 다음 명령을 실행하여 접합을 시도합니다.

cmd /c mklink /J c:\Users\Name\Documents\WindowsPowerShell\ d:\Powershell\Engine\Profile\

접합에 대한 자세한 내용은 여기를 참조하십시오.

이 솔루션은 RootLoop의 답변에서 영감을 얻었습니다.

( $PROFILE로 변경되었습니다.)C:\Users\<username>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1그런 다음 사용자 정의 프로필의 내용을 원하는 위치로 이동합니다. (C:/NewLocation/profile.ps1예를 들어)원래 프로필의 내용(파일)을 바꿉니다.C:\Users\<username>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1) 텍스트 포함:

$profile = "C:\NewLocation\profile.ps1"
. $profile

프로필은 파워셸을 열자마자 실행되는 스크립트에 불과합니다.위의 이 스크립트는 먼저 새 위치에 $profile을 설정하므로 $profile 변수에 대한 참조는 이동한 것처럼 계속 작동합니다.코드의 다음 줄은 도트 소싱이라고 하는 구문을 사용하여 새 프로파일을 호출합니다.사실상, $profile 라인은 당신의 새로운 프로파일 코드를 실행하고 있습니다.

시스템에서 작동하기 전에 실행 정책을 느슨하게 해야 할 수도 있습니다.자세한 내용은 https://superuser.com/questions/106360/how-to-enable-execution-of-powershell-scripts 을 참조하십시오.

그런 다음 Powershell 폴더를 숨겨 My Documents 디렉토리의 혼란을 줄일 수 있습니다.폴더를 마우스 오른쪽 단추로 클릭하고 "속성"을 선택한 다음 일반 탭에서 "숨김"을 선택합니다.그리고 voila! - 당신은 시스템 설정을 수정할 필요 없이 당신의 프로필 위치를 이동한 것 같은 착각을 효과적으로 만들었습니다!

기존 프로필에서 "새" 프로필을 소스로 제공하는 솔루션은 아마도 얻을 수 있는 것만큼 좋다고 생각합니다.

스크립팅 가이 기사 6가지 PowerShell 프로필 이해에 따르면,$profile에서 확장됨$PsHome\Microsoft.PowerShell_profile.ps1;$pshome는 powershell 설치 디렉토리 및 읽기 전용 변수입니다. 이 스레드의 게시물에 따르면 Microsoft는 이를 변경할 수 없다고 말합니다.

이것은 좀 더 해결책이 될 수도 있지만, 제가 한 일은 PowerShell이 보고 있는 위치에 Windows PowerShell 디렉터리의 심볼릭 링크 복사본을 만드는 것이었습니다.하지만 이것은 반창고 기술에 더 가깝습니다.

언급URL : https://stackoverflow.com/questions/5095509/is-it-possible-to-change-the-default-value-of-profile-to-a-new-value

반응형