만능윈도우에서 작업표시줄 바로가기 편집 방법




개요

오늘은 이전 포스팅하고 연동이 된겁니다. 이전에 제가 오토잇으로 간단히 시작메뉴 타일과 작업표시줄 바로가기를 백업하는 프로그램을 배포한적이 있습니다. 시작 메뉴에 타일을 백업 한 파일 이름이 LayoutModification.xml 이라는 파일인데요. 이 파일로 작업표시줄 아이콘도 설정 할 수 있습니다. 이 부분에 대해서는 MS 관련 문서에 아주 자세히 나와있습니다. 참고란에 링크는 올려드리겠습니다.

시작 메뉴 백업

이전에는 프로그램으로 바로 백업해서 명령어를 설명을 못했는데요. 파워쉘이 물건입니다. 파워쉘로 시작 메뉴레이아웃을 백업 할수 있습니다. 도스 명령창에서 아래 명령어를 관리자 권한으로 실행하면 됩니다.

powershell.exe -executionpolicy -command Export-StartLayout -Path C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml

파워쉘에서 하실때는 아래 처럼 그냥 하면 됩니다.

Export-StartLayout -Path C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml

설정파일의 위치는 아래와 같습니다. 이 파일은 만능이미지를 복원후 지우는게 좋습니다. 안그러면 계속 똑같은 시작메뉴 타일과 작업표시줄 링크가 고정되어져 나옵니다. 일부러 고정을하려고 한다면 그냥 나두시면 되고 추가 삭제를 사용자가 하게 해야 한다 하면 만능윈도우 복원한다음 그 다음 재부팅에서 지워지도록 스크립트를 작성하시는게 좋습니다.

C:\Users\Default\AppData\Local\Microsoft\Windows\Shell

작업표시줄 관련 설정 추가

설정 추가 전 예제

<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"> <LayoutOptions StartTileGroupCellWidth="6" /> <DefaultLayoutOverride> <StartLayoutCollection> <defaultlayout:StartLayout GroupCellWidth="6"> <start:Group Name="인터넷"> <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Chrome.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" /> </start:Group> <start:Group Name=""> <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\PowerPoint.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\한글 2020.lnk" /> <start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App" /> <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Excel.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Apowersoft\ApowerREC\ApowerREC.lnk" /> </start:Group> </defaultlayout:StartLayout> </StartLayoutCollection> </DefaultLayoutOverride> </LayoutModificationTemplate>

설정 추가 후 예제

추가 된 라인은 4번 라인과 25~35번 라인입니다. 태스크바 관련 설정이 추가 되었습니다.

<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification" xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"> <LayoutOptions StartTileGroupCellWidth="6" /> <DefaultLayoutOverride> <StartLayoutCollection> <defaultlayout:StartLayout GroupCellWidth="6"> <start:Group Name="인터넷"> <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Chrome.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" /> </start:Group> <start:Group Name=""> <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\PowerPoint.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\한글 2020.lnk" /> <start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App" /> <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Excel.lnk" /> <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Apowersoft\ApowerREC\ApowerREC.lnk" /> </start:Group> </defaultlayout:StartLayout> </StartLayoutCollection> </DefaultLayoutOverride> <CustomTaskbarLayoutCollection PinListPlacement="Replace"> <defaultlayout:TaskbarLayout> <taskbar:TaskbarPinList> <taskbar:DesktopApp DesktopApplicationLinkPath="%appdata%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" /> <taskbar:DesktopApp DesktopApplicationLinkPath="%appdata%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" /> <taskbar:UWA AppUserModelID="Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App" /> <taskbar:UWA AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" /> <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Chrome.lnk" /> </taskbar:TaskbarPinList> </defaultlayout:TaskbarLayout> </CustomTaskbarLayoutCollection> </LayoutModificationTemplate>

기본앱인 엣지 탐색기 메일 스토어 등등을 남기시고 싶으면 PinListPlacement=”Replace”을 삭제 하시고, 전부 초기화 하고 새로 작업표시줄을 구성하고 싶으면 새로 PinListPlacement=”Replace”을 그대로 두면 됩니다.

사용자 고유앱 추가 방법

사용자 고유앱은 링크와 ms 스토어앱이 포함됩니다. 링크는 allusersprofile 안에 있는 링크를 되도록이면 선택해 주세요. 그래야 모든 사용자에게 적용이 됩니다.

데스크탑 앱 추가

%allusersprofile% 과 %programdata%는 같은 말입니다. 아래 경로에 있는 파일들을 윈도우 설치시 사용자계정을 만들어로 링크가 변하질 않습니다. 이 안에 있는 링크 파일들의 경로로 넣어주면 됩니다. 경로를 넣을때는 바로가기를 ①마우스로 선택 후 탐색기 오른쪽 위에 ②아래 화살표를 눌러 나비리본을 내리고 메뉴 항목중 ③경로 복사를 하시면 됩니다.

C:\ProgramData\Microsoft\Windows\Start Menu

아래 코드 예제는 카카오톡, VMWare, Chrome를 작업표시줄에 고정한 것입니다.

<CustomTaskbarLayoutCollection PinListPlacement="Replace"> <defaultlayout:TaskbarLayout> <taskbar:TaskbarPinList> <taskbar:DesktopApp DesktopApplicationLinkPath="C:\ProgramData\Microsoft\Windows\Start Menu\카카오톡.lnk"" /> <taskbar:DesktopApp DesktopApplicationLinkPath="C:\ProgramData\Microsoft\Windows\Start Menu\Programs\VMware\VMware Workstation Pro.lnk" /> <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Chrome.lnk" /> </taskbar:TaskbarPinList> </defaultlayout:TaskbarLayout> </CustomTaskbarLayoutCollection> </LayoutModificationTemplate>

스토어앱 추가

프로비저닝된 앱(Provisioning Apps)이나 만능윈도우 구성시 사용자가 추가한 앱도 넣을수 있습니다. 이 앱들은 링크가 들어가는게 아닌 앱의 패밀리네임이 들어가면 됩니다.

파워쉘로 해당 스티커 앱의 정보를 보겠습니다. 앱관련 설정들은 모두 파우쉘을 통합니다. PC에 있는 앱 전부의 정보를 알고 싶다면 아래처럼 입력 하세요. 파워쉘에서 실행하려면 powershell.exe -executionpolicy -command를 빼고 입력하시면 됩니다.

powershell.exe -executionpolicy -command Get-AppxPackage -Allusers | findstr /s PackageFamilyName

텍스트 파일로 저장하고 싶다면 > applist.txt 이런식으로 뒤에 명령어를 적어 주시면 됩니다.

powershell.exe -executionpolicy -command Get-AppxPackage -Allusers | findstr /s PackageFamilyName > applist.txt

만약에 스티커 메모장만 검색한다면 아래처럼 하면 됩니다. 정규 표현식이며, 대소문자를 구분합니다.

powershell.exe -executionpolicy -command Get-AppxPackage -Allusers | findstr /s /r "PackageFamilyName.*Sticky"

스티커 메모장과 계산기를 둘다 패밀리 네임을 추출하려면 & 기호로 묶어 줍니다.

powershell.exe -executionpolicy -command Get-AppxPackage -Allusers | findstr /s /r "PackageFamilyName.*Sticky" & powershell.exe -executionpolicy -command Get-AppxPackage -Allusers | findstr /s /r "PackageFamilyName.*Calc"

위에서처럼 알아낸 패밀리 네임을 넣어줍니다. 패밀리 네임 맨끝에 !App을 넣어 줘야 합니다. 7번 8번 라인입니다.

<CustomTaskbarLayoutCollection PinListPlacement="Replace"> <defaultlayout:TaskbarLayout> <taskbar:TaskbarPinList> <taskbar:DesktopApp DesktopApplicationLinkPath="C:\ProgramData\Microsoft\Windows\Start Menu\카카오톡.lnk" /> <taskbar:DesktopApp DesktopApplicationLinkPath="C:\ProgramData\Microsoft\Windows\Start Menu\Programs\VMware\VMware Workstation Pro.lnk" /> <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Chrome.lnk" /> <taskbar:UWA AppUserModelID="Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App" /> <taskbar:UWA AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" /> </taskbar:TaskbarPinList> </defaultlayout:TaskbarLayout> </CustomTaskbarLayoutCollection> </LayoutModificationTemplate>

위에 예제를 플어보면 작업표시줄 링크 아이콘을 전부 초기화 하며, 카카오톡, vmware, 크롬, 스티커메모장, 계산기를 작업표시줄에 새로 추가하는 코드입니다.

이 작업을 할 수 있는 프로그램을 만들고 있습니다. 변수가 많아서 고려해야 할게 많네요. 조만간 만들어질듯 합니다. 이렇게 작성된 LayoutModification.xml 파일을 C:\Users\Default\AppData\Local\Microsoft\Windows\Shell 위치에 복사후 봉인을 하시면 됩니다. 봉인후에 PE나 봉인된 드라이브를 마운트한후에 넣으셔도 무방합니다. 다만 최초 로그인시 적용하시고 나서 재부팅시에 삭제 되게 하시는걸 추천합니다. 안그러면 시작 메뉴와 작업표시줄이 고정이 됩니다.

실 구성파일 예제

아래 코드를 메모장에 붙여 넣고 LayoutModification.xml 저장하시면 됩니다. 봉인전에 C:\Users\Default\AppData\Local\Microsoft\Windows\Shell 경로에 넣으시면 테스트 해보실수 있으며 아래 코드는 아무런 앱도 깔지 않은 상태의 윈도우 기본앱들만 가지고 구성한 것입니다. 가상머신에서 테스트 해보시고 나름대로 편집해보세요. 작업표시줄이 고정이 되기때문에 고정하실게 아니면 삭제 해주시면 됩니다.

<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification" xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"> <LayoutOptions StartTileGroupCellWidth="6" /> <DefaultLayoutOverride> <StartLayoutCollection> <defaultlayout:StartLayout GroupCellWidth="6"> <start:Group Name="생산성"> <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" /> <start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!Microsoft.WindowsLive.Mail" /> <start:Tile Size="2x2" Column="0" Row="2" AppUserModelID="Microsoft.BingWeather_8wekyb3d8bbwe!App" /> <start:Tile Size="2x2" Column="2" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.calendar" /> <start:Tile Size="2x2" Column="2" Row="2" AppUserModelID="Microsoft.WindowsAlarms_8wekyb3d8bbwe!App" /> </start:Group> <start:Group Name="탐색"> <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.WindowsStore_8wekyb3d8bbwe!App" /> </start:Group> <start:Group Name="멀티미디어"> <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.ZuneVideo_8wekyb3d8bbwe!Microsoft.ZuneVideo" /> <start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" /> <start:Tile Size="2x2" Column="2" Row="0" AppUserModelID="Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic" /> </start:Group> </defaultlayout:StartLayout> </StartLayoutCollection> </DefaultLayoutOverride> <CustomTaskbarLayoutCollection PinListPlacement="Replace"> <defaultlayout:TaskbarLayout> <taskbar:TaskbarPinList> <taskbar:DesktopApp DesktopApplicationLinkPath="%appdata%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk" /> <taskbar:DesktopApp DesktopApplicationLinkPath="%appdata%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" /> <taskbar:DesktopApp DesktopApplicationLinkPath="%appdata%\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk" /> <taskbar:DesktopApp DesktopApplicationLinkPath="%appdata%\Microsoft\Windows\Start Menu\Programs\System Tools\Run.lnk" /> <taskbar:DesktopApp DesktopApplicationLinkPath="%allusersprofile%\Microsoft\Windows\Start Menu\Programs\Accessories\Snipping Tool.lnk" /> <taskbar:UWA AppUserModelID="Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App" /> <taskbar:UWA AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" /> </taskbar:TaskbarPinList> </defaultlayout:TaskbarLayout> </CustomTaskbarLayoutCollection> </LayoutModificationTemplate>

참고 :

https://docs.microsoft.com/ko-kr/windows/configuration/configure-windows-10-taskbar



5 thoughts on “만능윈도우에서 작업표시줄 바로가기 편집 방법”

  1. 김포의 니차도 기아입니다
    올려주신 프로그램으로 깔끔하게 성공했습니다
    엔터프라이즈 버전이라 unattend.xml편집에서 좀 저벅거렸는데 짜집기해서 성공했ㄴ네요..^^ 다시 한 번 감사함을 전합니다..바쁘신 와중에도 이렇게 좋은 프로그램을 제공해 주셔서 감사드립니다..수고하세요..^^

    응답
  2. 혹 기회되시면 놀러오세요..식사 한 끼 대접해 드리겠습니다.
    몇 가지 여쭤볼것도 있는데 그건 직접 보셔야 아실듯 해서 …
    아님 제가 한 번 찿아뵙고 상황을 보여드리고 싶은데 가능하실까요..?
    감사모드에서 설치된 프로그램이 일반화 후 바로가기 삭제가 나오네요..
    근데 이게 일반 폴더가 아닌 appdata에 설치되는거라 아무리 해도 안되네요..^^
    혹 도움을 주실 수 있는지 궁금해서요…^^ 바쁘신 와중에 이렇게 어려운 질문 드려 죄송합니다..^^

    응답
    • FirstLogon으로 %alluserprofile% 안에 있는것을 삭제 해주시면 될듯 한데요.

      감사모드에 Administrator의 AppData 폴더에 설치가 되는거라면 감사모드에서 설치하지 마시고, unattend.xml 파일의 FirstLogon 이나 setupcomplete.cmd 또는 Specialize 구간에서 설치하게끔 하는게 좋습니다. ProgramData 나 공용으로 설치가 되는것이 아닌 해당 계정에의 Appdata에 설치가 되는 프로그램들은 그런식으로 하시면 됩니다.

      보통 /Silent /VerySilent /S 등 설치시에 스위치가 대부분 있습니다. 어떤 프로그램인지 자세히 말해 주시면 답변을 드리기 쉬울듯 합니다. 공개가 힘들면 저한테 메일로 요청하셔도 됩니다. sangsoo.kim76@gmail.com

      응답
      • 요즘 조금 바빠서 오늘 들어 와 봤습니다.
        이렇게 잊지 않으시고 답변 달아주시니 너무도 감사합니다.
        한 번 해 보도록 하겠습니다…
        매번 이렇게 친절히 답변 해 주셔서 감사드립니다.
        코로나가 한참 유행인데 건강 유의하세요..^^
        매번 감사드리는 1人입니다…^^

        응답

Leave a Comment