1. Overview
본 게시글은 Windows 10 Pro (버전 1809) x64 에서 실행되는 Powershell을 대상으로 기록하였습니다. Windows OS 의 버전이나 사용자의 세팅 환경에 따라 다를 수 있음을 알려드립니다.
1.1 문제의 발견
서버의 원격 개발을 위해 VScode의 ssh 연결을 위해 {시작 - 실행}을 통해 Powershell을 입력하여 호출하였다.
평소 Powershell을 "CMD"와 유사하게 설정해놓고 사용하고 있다.
Windows에서는 {시작 - 실행}으로 Powershell을 실행하는 방법 이외에 다른 방법으로 호출할 수 있도록 지원한다.
설정(Windows Shortcut : Winkey + i)에서 {개인설정 - 작업표시줄}의 아래 그림에 표시된 토글 버튼의 활성화 여부에 따라 파워유저 메뉴(Windows Shortcut : Winkey + x or 시작버튼 우클릭) 에서 Powershell을 호출할 수 있다.
해당 토글의 활성화를 통해 파워유저 메뉴에서 Powershell을 실행할 수 있다.
파워유저 메뉴를 통해 실행한 Powershell과 실행을 통해 실행한 Powershell이 다른 것을 확인할 수 있었다.
같은 Powershell인데 하나는 설정이 적용되어 있고 하나는 기본 설정으로 되어 있는 것을 확인하였다.
2. Body
2.1 파워유저 메뉴의 Path
앞서 등장한 {Winkey + i}를 통해 실행할 수 있는 파워유저 메뉴는 아래의 경로에서 관리된다.
C:\Users\[USERNAME]\AppData\Local\Microsoft\Windows\WinX
{시작 - 실행}을 통해 호출하는 명령은 다음과 같다.
%localappdata%\Microsoft\windows\winX
파워유저 메뉴의 각 콘텐츠를 관리하는 레지스트리는 다음과 같다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellCompatibility\InboxApp
해당 경로를 통해 확인한 결과 파워유저 메뉴는 "Group1~3"으로 관리되고 있었다[1].
Group1~3 폴더 내부에는 바로가기 파일들이 존재하며 파워유저를 통해 실행하는 각 기능들은 바로가기를 통해 호출되고 있음을 알 수 있다.
2.2 서로 다른 Powershell 실행의 비교
{시작 - 실행}을 통한 Powershell의 실행은 다음 경로의 "powershell.exe"를 실행한다.
C:\Windows\System32\WindowsPowerShell\v1.0
파워유저 메뉴를 통한 Powershell의 실행은 다음 경로의 "powershell.exe"의 바로가기를 통해 실행한다.
C:\Users\[UserName]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell
이는 시작에서 검색하여 실행한 경우와 동일한 경로이다.
"C:\Users\[UserName]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell" 경로의 Powershell의 속성을 확인해보면 다음 그림과 같다.
해당 start menu의 Powershell은 "C:\Windows\System32\WindowsPowerShell\v1.0" 경로의 Powershell이다.
그렇다면, 동일 파일임에도 불구하고 다른 이유는 무엇일까?
그 이유는 바로가기의 속성에서 찾을 수 있었다.
바로가기의 속성에서도 색, 글꼴등을 설정할 수 있다.
Windows 10 OS가 설치될 때 시작 프로그램 경로에 Powershell의 바로가기가 생성되고, 해당 바로가기는 설치 당시의 Powershell의 디폴트 세팅으로 생성되었기 때문에 기존 디폴트 세팅으로 되어 있음을 추측할 수 있다.
그렇다면, 변경된 Powershell의 속성이 저장된 powershell을 바로가기로 만들면 어떤 결과를 출력할까?
예상대로 기존에 설정된 파일의 바로가기를 생성하면 해당 파일의 속성이 따라오는것을 확인할 수 있다. (폰트는 아닌듯 하다.)
3. Additional Information
3.1 파워유저 메뉴의 Powershell이 Start Menu에서 실행되는것은 어떻게 확인할 수 있을까?
단순하게 Start Menu에 있는 powershell의 파일명을 살짝만 변경하면 된다. "powershell2"로 파일명을 변경한 후 파워유저 메뉴의 powershell을 실행해보았다.
파일명을 변경한 후에도 시작을 통한 검색에서는 변경된 파일명으로 정상적으로 검색되며 실행 또한 정상적이다.
또한 Start Menu에서 Powershell가 여러개 존재할 경우에 하나만 검색 결과로 표출된다. 숫자의 경우 낮은 숫자가 표출된다.
해당 폴더에는 powershell2와 powershell3이 존재했지만 powershell3은 검색결과에 표시되지 않았다.
3.2 파워유저 메뉴 활용
파워유저 메뉴를 편리하게 활용하기 위한 도구가 제공된다. "win+x menu editor" 도구가 있으며 관심이 있다면 찾아보면 좋을것 같다.
이외에도 파워유저 메뉴에 원하는 프로그램을 추가할 수 있는 다양한 방법이 있으니 관심이 있다면 참고문헌을 통해 찾아보는것을 추천한다.
4. Conclusion
{시작 - 실행}을 통해 실행한 Powershell과 파워유저 메뉴를 통해 실행한 Powershell이 설정이 다른것을 확인하고 같은 Powershell 사이에 어떤 차이가 있는지 확인하였다.
결론은 같은 Powershell이지만 바로가기의 속성에서의 사용자 변경사항 적용 유무의 차이가 있었다.
큰 통찰력을 주는 결론은 아니지만 파워유저 메뉴에 대해 알아볼 수 있는 좋은 기회였다고 생각한다.
5. References
[1] "https://www.interfacett.com/blogs/modify-winx-menu-windows-10"