글

라벨이 Windows 팁인 게시물 표시

우분투와 윈도우 듀얼부팅 시, 윈도우 측 시계가 UTC로 표시된다면?

윈도우 11과 우분투 24.04 듀얼부팅 시 윈도우에서 발생하는 시간 오류 문제 최근 우분투 24.04 LTS 버전을 설치해 윈도우 11과 듀얼부팅으로 사용하고 있다. 일차적인 이유는 업무상 필요성이고, 추가로 NTFS 및 ReFS 파일 시스템의 느린 성능과 윈도우 11의 전반적인 느린 동작 등 여러 불만 사항을 해소하기 위함이다. 물론 우분투만 사용할 수 없으므로, HDR 콘텐츠 감상이나 게임 등 휴식을 위해 윈도우도 사용한다. 그런데 듀얼부팅 환경에서 한 가지 이상한 증상이 나타났다. 윈도우에서 단독 부팅하거나, 윈도우 → 우분투, 우분투 → 우분투로 부팅할 때는 시스템 시간이 정상적으로 표시되지만, 우분투로 부팅한 후 윈도우로 재부팅하면 하드웨어 시계가 UTC 기준으로 설정되어 있어 윈도우에서 시간이 잘못 표시된다. 우분투 사용 후 윈도우에서 시간이 잘못 표시되는 이유 이 문제의 원인은 우분투를 비롯한 대부분의 리눅스 배포판이 기본적으로 하드웨어 시계를 UTC 기준 으로 관리하는 반면, 윈도우는 하드웨어 시계를 **로컬 시간(지역 시간)**으로 관리하기 때문이다. 우분투 측 우분투는 부팅 시 인터넷 시간과 동기화하면서 하드웨어 시계를 UTC 기준으로 저장한다. 그리고 시스템에서는 KST(서울, UTC+9)를 적용해 사용자에게 올바른 지역 시각으로 표시한다. 윈도우 측 윈도우는 하드웨어 시계를 로컬 시간으로 인식하여 그대로 표시한다. 따라서 우분투에서 저장한 UTC 값이 그대로 적용되므로, 실제 시간보다 9시간 늦은 시각이 표시되는 것이다. 해결 방안 문제 해결은 간단하다. 우분투에서 하드웨어 시계를 로컬 시간으로 관리하도록 설정하면 된다. 터미널에서 아래 명령어를 실행하여 우분투가 하드웨어 시계를 로컬 시간으로 해석하도록 변경한다. timedatectl set-local-rtc 1 --adjust-system-clock 설정이 제대로 적용되었는지 확인하려면 다음 명령...

MSTSC를 통한 저장된 자격 증명으로 원격 연결 시 Defender Credential Guard가 허용하지 않는 문제

이미지
MSTSC를 통한 저장된 자격 증명으로 원격 연결 시 Defender Credential Guard가 허용하지 않는 문제 원격 연결, MSTSC 업무를 하다 보면 자주 다른 컴퓨터에 원격으로 연결해야 할 일이 생깁니다. 리눅스 계열은 SSH로, 윈도우 계열은 SSH를 쓸 때도 있지만 대부분 RDP를 통해 GUI로 원격 연결해 사용하게 됩니다. 그러나 최근 일 년간은 윈도우 서버에 연결할 일이 거의 없다시피 하여 MSTSC.EXE라는 실행 파일 이름조차 잊고 지내다가 다시 윈도우 서버로 연결할 일이 생겨서 연결하려 했는데 다음과 같은 문제가 생겼습니다. Windows Defender Credential Guard, 넌 못 지나간다 자격 증명이 허용되지 않아 두 번째 연결부터 위처럼 Windows Defender Credential Guard가 길을 가로막아버리는 것이 바로 그 문제였습니다. 뭐 그룹 정책 관리자에서 어쩌구… RDP 파일을 저장해서 저쩌구… 이런 건 전부 작동하지 않았습니다. 심지어 비밀번호도 드럽게 길어서 매번 연결할 때마다 패스워드를 복붙하는 과정도 엄청나게 귀찮았습니다. 해결 방법 해결 방법은 생각보다 간단했습니다. 구글에 검색하니 바로 이런 스택 익스체인지 글 이 나와서 따라하니 바로 되더라고요. 해결 방법만 적자면 다음과 같습니다. cmdkey /list:TERMSRV/* 명령을 통해 대상 원격 연결을 확인. (한 번도 연결한 적 없는 서버라면 생략 가능) cmdkey /delete:[확인된 대상] 명령을 통해 기존 대상 삭제. (한 번도 연결한 적 없는 서버라면 생략 가능) 예: cmdkey /delete:TERMSRV/1.2.3.4 cmdkey /generic:TERMSRV/[IP] /user:[로그온 유저] /pass:[로그온 패스워드] 명령을 통해 새로운 자격 증명 등록 예: cmdkey /generic:TERMSRV/1.2.3...

윈도우 위젯을 엣지 대신 크롬에서 열게 해보자

이미지
윈도우 위젯을 엣지 대신 크롬에서 열게 해보자 엣지로 열리는 위젯 링크들 윈도우 11에는 작업 표시줄 좌측 하단 또는 Win + W키로 열 수 있는 위젯 기능이 탑재되어 있다. 위젯을 열면 날씨, 뉴스 등 관심사에 대한 정보를 빠르게 확인할 수 있어 유용하게 사용 중이었다. 하지만 단 하나 불편한 게 있다면 위젯이 무조건 엣지로 열린다는 것이다. 나는 크롬 및 파이어폭스를 주력으로 사용하고 있는데 뉴스나 날씨를 확인하려 위젯에서 아이템을 클릭할 때마다 엣지가 또 켜지는 것이 불편해서 방법이 없나 찾아보았다. 위젯 엣지로 열린 화면 MSEdgeRedirect 아니나 다를까 rcmaehl/MSEdgeRedirect 이라는 프로젝트가 2021년 7월부터 만들어져 있었다. 없으면 만들 생각을 하고 있었는데 역시 요즘 세상에 웬만한 건 죄다 누군가 만들어서 올려놓는단 것을 다시 한 번 깨닫게 되는 시간이었다. 설치 설치에는 몇가지 방법이 있다. 하나는 해당 프로젝트의 릴리즈 페이지 에서 설치하는 것이고, 다른 하나는 winget 을 이용하는 것이다. 물론 chocolatey 로도 가능하지만 이번 포스트에서는 winget 을 사용하는 방법에 대해 적겠다. WinGet을 이용한 설치 방법 이 방법은 당연히 WinGet이 지원되는 윈도우 업데이트가 설치되었거나, 수동으로 WinGet을 설치해놓은 컴퓨터에서만 사용할 수 있다. winget install MSEdgeRedirect -s winget 위 명령어를 입력하면 알아서 설치가 끝나게 된다. 사용 일단 기본적으로 설치가 완료되면 위젯 쪽의 링크는 알아서 리다이렉트된다. 일반적인 경우라면 더 손 댈 것은 없겠지만 그 외에도 몇가지 옵션을 지원하므로 살펴보도록 하겠다. Active Mode Options : 어떤 엣지 런타임 버전에 대해 리다이렉트를 수행할지 정한다. 기본값은 Edge Stable 만...

WSL, Docker Desktop 관련 Distro의 크기 줄이기

WSL, Docker Desktop 관련 Distro의 크기 줄이기 1테라도 부족해 지금도 가난하지만 더 가난했던 어린 시절, 컴퓨터는 무조건 중고였던 때에는 40GB, 20GB, 심지어 4GB 하드 디스크를 사용했던 적도 있다. 특히 4GB짜리를 사용할 때엔 초등학교 4학년이었는데, 당시 재밌게 즐겼던 워록 이라는 FPS 게임을 설치하기 위해 크레이지 아케이드 , 서든어택 을 지우고 시스템 드라이브에서 필요 없다고 판단되는 폴더들을 최대한 지운 뒤 1 당시 시골 깡촌에서 ADSL 회선의 느려터진 초당 120KBps로 600MB 가까이 되는 워록 설치 파일을 받고, 또 그걸 설치하고 실행하고 하는 생 쇼를 했었다. 시간이 지나 현재 1테라 NVMe SSD 3개, 512GB SSD 한 개, 2테라 하드디스크 한 개를 합해 총 5.5TB를 굴리고 있는 입장에서 보면 말도 안 되는 짓거리이긴 하나, 4GB 하드를 사용한 기간은 길지 않았고 어차피 게임 한두개에 어도비 플래시 MX 또는 8, 포토샵, Visual Studio 2008을 설치하기만 했으면 됐기에 큰 문제는 아니었다. 그러나 이제는 문제가 된다. 5.5TB도 부족하기 때문이다. 심지어 어디 한 곳에 쏠려 있으면 분산이라도 시키겠는데, 용도별로 딱 딱 정리된 상태가 이렇다. 각 디스크에 많아야 200GB 여유가 있고, 평균 100GB정도 여유가 있다. 용량이 왜 이리 부족할까 근 10년간 쌓인 용량이기에 한 번은 도대체 뭐가 들어있어서 이렇게 용량이 부족할까 하여 TreeSize 툴로 분석을 해봤다. 당시 C드라이브는 일단 Visual Studio 2019 가 100기가바이트를 넘게 차지했고, Adobe, Cocos, Unity, Unreal, … 등과 NuGet package cache , ReSharper cache , WSL Ubuntu distro , Docker Distro , … 아무튼 많았다. 다른 드라이브는 주로 개발에 필요한 라이브러리들,...

윈도우 11 7월 11일 업데이트(KB5028185) 스크린샷 기능

이미지
윈도우 11 7월 11일 업데이트(KB5028185) 스크린샷 기능 KB5028185 업데이트 이후 몇 가지 새로운 기능이 추가됐다. 그 중 자주 쓰는 스크린샷 기능에 변화가 생겼다. 스크린샷 윈도우 8부터인지 10부터인지는 정확히 기억이 나지 않으나 Win + Shift + S 키를 누르면 캡쳐 도구가 열리는 기능이 추가되었었다. 이 캡쳐 도구는 기존에 여러 외부 프로그램을 이용해야만 했던 캡쳐 기능을 윈도우에 내장시킨 느낌이다. 캡쳐 도구 지금까지는 PowerToys 와 같은 기본 단축키 변경 프로그램을 사용하지 않으면 위 단축키를 눌러야만 캡쳐 도구를 사용할 수 있었는데, 이번 업데이트로 Prt Scr 키가 캡쳐 도구를 여는 기본값이 되었다. 복원 대다수의 유저는 이번 업데이트에 만족하며 사용할 것 같지만, 나는 아니다. 나는 애초에 예전부터 캡쳐 도구와 프린트 스크린 키를 별개로 사용해왔기 때문에 이번 업데이트가 불편하다. 다행히 이 기능은 설정 - 접근성 - 키보드 에서 끌 수 있다.

Windows 10/11 높은 DPC latency 문제의 원인이 뭘까

 High DPC Latency Problem   윈도우 10/11에서 높은 DPC Latency로 인한 불편함을 겪는 빈도가 작년부터 갑자기 급증했습니다. LatencyMon등으로 확인해보면 주로 NVidia 드라이버, 혹은 NTFS 드라이버 쪽에서, 혹은 둘 다에서 높은 DPC 레이턴시가 확인됩니다.   이로 인한 증상으로는, 당연히 전체적인 Windows의 성능 저하가 있으며 체감되는(짜증나는) 증상으로는 Windows Explorer 혹은 일부 Windows Forms 앱, 대부분의 WPF 앱을 드래그/리사이즈 할 때 마우스에 렉이 걸리며 끌리는 현상이 발생하고, 그보다 더 심하게 드래그/리사이즈 하는 윈도우가 미친듯이 늦게 반응하는 현상이 있습니다. 원인 파악   저는 작년 6월 혹은 7월부터 이러한 증상을 인지하기 시작했습니다. 사실 생각해보면 재작년 말 쯤부터 이런 증상이 있었던 것 같긴 한데 그건 정확하지 않고, 확실히 아 뭔가 있구나  하고 인지한 것은 위 시각부터입니다.   인지하게 된 계기는 Windows 11 프리뷰 버전을 설치하면서 발생한 마우스 렉 및 Windows Explorer, 일부 Windows Forms app, 대부분의 WPF app의 리사이즈/드래그시 발생하는 끌림 현상을 목격하면서 이러한 문제가 있다는 것을 인지하게 됐습니다. 이런 증상이 무엇 때문인지 알 수 있게 도와주는 프로그램을 찾다가 LatencyMon 을 알게 되었고, 해당 프로그램을 돌려보니 엔비디아 관련 드라이버 또는 NTFS 관련 드라이버, NTOS 관련 드라이버에서 평균 3ms, 최대 200ms의 DPC Latency가 발생했습니다.   처음에는 Windows 11 문제인 줄 알고 Windows 10으로 롤백했었고, 실제로 롤백한 뒤 얼마동안은 괜찮았기에 Windows 10을 쭉 사용하려 했으나 얼마 지나지 않아 Windows 10에서도 비슷한  증상이 발생하기 시작했습니다. 여기서 비...

파워쉘을 통해 핸드폰 파일 복사하기

오늘 일어나보니 제 노트10의 유심 트레이가 죽어있었습니다. 현금도 얼마 없는데 수리비 깨질 것을 생각하니 그냥 핸드폰을 바꾸고 몇 달에 걸쳐 할부금을 납부하는게 이득 아닐까라는 생각이 계속 들더군요. 그래서 핸드폰을 바꾸고자 마음먹고 기종을 찾아보니, 제가 바꾸고자 하는 기종은 Micro SD를 지원하지 않는다는 것을 알게 되었습니다. 따라서 저는 외장 SD카드와 내장 SD카드의 중요 내용을 [1] 컴퓨터에 백업하고자 했는데... 느려터진 탐색기 언제나 그렇듯 이 탐색기가 또 발목을 잡았습니다. 탐색기에서 파일 복사/이동/삭제를 대량으로 할 때에 우선 탐색기는 해당 컨텐츠들 [2] 을 쭉 읽어들입니다. 이건 제 뇌피셜이지만 아마 대량의 파일 복사/이동/삭제시 나타나는 프로그래스바를 표시하기 위해 일단 전체 파일이 몇 개인지 읽어들이는 것 같습니다. 그래야 현재까지 복사/이동/삭제된 파일 수와 전체 파일 수의 비율로 프로그래스바를 표시할 수 있을 테니까요. 아무튼, 이미 저는 대량의 파일 삭제 시 이렇게 느려터진 게 짜증나서 [3] 파워쉘을 통해 빠르게 삭제하는 스크립트를 레지스트리로 컨텍스트 메뉴에 등록해둔 상태였습니다. mtp는 다르다 하지만 핸드폰은 같은 방법을 사용할 수 없었습니다. 정확히 말하면, 기본적으로 파워쉘에서 제공해주는 명령어 셋으로는 불가능했습니다. 단순히 제가 찾지 못한 것일 수도 있지만, 아무튼 찾을 수조차 없었습니다. 하지만 구글, 그리고 스택오버플로우는 언제나 답을 알려주죠. 검색해보니 이런 스택오버플로우 글 을 찾을 수 있었습니다. Shell.Application COM Object MSDN 문서 를 보면 해당 COM Object는 쉘 어플리케이션을 반환합니다. 즉 탐색기 API라고 보셔도 무방할 듯 합니다. 이를 사용하면, 탐색기로 할 수 있는 일을 프로그램화시켜 할 수 있다는 것이죠. 그리고 해당 스택오버플로우 글에서 제시한 방법을 따르면, 다음과 같이 사용이 가능합니다. $shell ...

Ctrl+Alt+F9가 전자/반자 전환을, Ctrl+Alt+F10이 가상 키보드를 띄우는 문제

이미지
오늘 괴상한 일을 겪었습니다. ReSharper의 Breakpoints 기능을 사용하기 위해 Ctrl + Alt + F9 키를 눌렀는데 기능이 작동하지 않은 것이죠. 그래서 단축키가 잘못 설정됐나 하고 옵션을 보려다가, 귀찮아서 그냥 액션 창을 열어 Breakpoints를 쳐서 실행하려 했는데... 위와 같이 전자로 전환된 영어가 입력되고 있었습니다. 의도되지 않은 버그 처음엔 심지어 이게 해당 단축키를 눌러서 발생한 버그라는 것조차 인지하지 못했습니다. 예-전에, XP를 쓰던 시절에 분명 어떤 단축키를 누르면 전자/반자가 전환되었던 것 같은 기억은 있는데, 그건 분명 F9랑은 관계없는 Ctrl , Shift , Alt 의 특정 조합을 눌렀을 때였던 것으로 어렴풋이 기억하고 있기 때문이죠. 그래서 처음 증상이 발생했을 때엔 Win + Space 로 입력기를 영어로 바꿨다가 한글로 돌아오는 식으로 해결했습니다. 그리고 다시 VS로 돌아와, 자동 숨김 기능으로 숨겨진 Breakpoints 창을 열기 위해 본능적으로 단축키를 눌렀습니다. 그리고 깨달았죠. 문제는 바로 Ctrl + Alt + F9 였다는 것을. 비슷한 증상을 겪은 유저 처음엔 이 단축키를 해제할 수 있으리라 믿고 언어 옵션 등 온갖 설정에 들어갔었습니다만, 결국 찾지 못했습니다. 그래서 구글링을 하다 보니 동일한 증상을 겪고 있는 한 유저의 MS 커뮤니티 질문 글 이 있더라고요. [1] 어라라? 증상이 완전히 동일하네? 하며 설마 가상 키보드도 나오나 싶어서 Ctrl + Alt + F10 를 눌러보니... 네. 나옵니다. 심지어 지금 사용하는 Windows 11이 문제인가 싶어 가상 머신에 설치된 Windows 10에서도 해봤으나 마찬가지였습니다. 해당 답변을 보니 이는 의도되지 않은 버그라는 것을 확신할 수 있었습니다. 원인 그렇다면 원인은 뭘까요? 제일 처음 생각했던 것은 윈도우의 새로운 기능이 아닐까 였으나 바로 생각을 접었습니다. 새...

WSL2 방화벽 문제?

이미지
제가 이전 포스트 에서 작성한 방법대로 잘 써먹던 중, 어느 순간부터 다시 WSL2에서 인터넷이 안 되기 시작했습니다. 여전히 핑은 됐고 여타 포트들로 통신도 되지만 80포트, 443포트 등 필수 포트에 연결이 안 되는 증상이었죠. 더 최악은, 갑자기 IIS까지 작동을 안 하기 시작했다는 겁니다. 생각해보니 재부팅 한 뒤로부터 이런 것 같은데 문제는 제가 재부팅을 아무리 자주 해봐야 최소 3일에 한 번 정도밖에 안 한다는 것이죠. 원인 찾기 어쩌겠습니까. 최대한 기억을 더듬어서 재부팅 전에 제가 시스템에 뭘 했는지 찾아보는 수밖에요. IIS는 왜 갑자기 작동을 안 해? 일단 급한 불부터 끄기로 했습니다. IIS가 작동을 안 하는 문제에 대한 해결책을 우선 찾아야했습니다. 정확히 어떻게 작동을 안 하느냐 하면, IIS의 80포트, 443포트에 바인딩된 사이트가 윈도우 부팅 시부터 중지 상태로 있으며, 시작하려 해도 다른 프로세스에서 파일을 사용 중 이라며 시작되지 않았습니다. 예전 같았으면 파일은 옘병할 무슨 파일? 이라며 삽질을 오지게 했겠으나, 지금까지의 경험 덕분에 여기서 말하는 파일 이 포트 라는 것을 깨닳을 수 있었습니다. 그래서 일단 어떤 프로세스가 80포트를 점유하고 있는지 알아보기 위해 터미널을 켰습니다. grep 을 사용하기 위해 우분투 디스트로를 사용했습니다. ~$ netstat.exe -aon | grep :80 실행해보니 다음과 같은 결과가 뜨고, 어떤 PID가 해당 포트를 점유중인지 알 수 있었습니다. [1] 해당 PID를 점유하는 프로세스가 뭔지 작업 관리자에서 찾아보니 svchost.exe . 어떤 서비스인지 알기 위해 우클릭 후 서비스 보기를 눌러보니 iphlpsvc 가 잡히더군요. 해당 서비스가 뭔지 구글링해보니 포트포워딩에 관여하는 서비스라고 설명돼있었습니다. 그래서 생각했죠. netsh . 근 10년 전에 게리모드 서버를 운영하며 포트포워딩이 필요했던 때가 있어서 윈도우에서 포트포...

WSL2 ping은 먹는데 인터넷은 안 된다?

이미지
WSL2가 나온 직후부터 저를 계속해서 괴롭혀오던 문제가 있습니다. 바로 Hyper-V에서 새 가상 스위치를 추가하는 시점부터 WSL이 제대로 작동하지 않는다는 것이죠. 정말 가능한 모든 경우의 키워드를 들고 스택오버플로우, 깃헙 이슈 페이지, MSDN, 마소 서포트 센터 등 오만 곳을 다 돌아다녔으나 해결하지 못했습니다. 핑은 되는데 인터넷은 안 된다? 그러다가 어느 순간 핑이 되기 시작했습니다. 아마 Interface Metric을 조정했을 때였던 것으로 기억합니다. 핑이 비허용되지 않은 어떤 곳에도 핑을 날릴 수 있었습니다. [1] Name Resolution 그러나 여전히 도메인 URL에 대한 핑은 안 됐었는데, 이건 /etc/wsl.conf 에 아래와 같은 사항을 등록한 뒤, [ network ] generateResolvConf = false /etc/resolv.conf 를 우선 지우고 ~$ sudo rm /etc/resolv.conf /etc/resolv.conf 에 네임서버를 추가한 뒤 ~$ sudo vim /etc/resolv.conf # /etc/resolv.conf 내용 # # nameserver 8.8.8.8 # nameserver 1.1.1.1 WSL이 시작할 때마다 resolv.conf를 삭제하거나 덮어쓰는 것을 방지하기 위해 읽기 전용 속성을 /etc/resolv.conf 에 할당했습니다. ~$ sudo chattr +i /etc/resolv.conf 여전히 인터넷은 불가 그러나 여전히 인터넷은 불가능했죠. IP로 핑을 날리던 게 이제 ping google.com 과 같이 도메인으로 날릴 수 있게 되었다는 차이 뿐이었습니다. 미쳐버릴 노릇 저한테 이런 현상은 그야말로 미쳐버릴 노릇이었습니다. 사설 GitLab을 운영중이기 때문에 Docker를 지울 수 없었고, 개발 상의 이유로 Hyper-V의 가상 스위치를 제거할 수도 없었으며, 마찬가지의 이유로 WSL [2] 도 자...

Windows Terminal에서 아크릴 배경을 사용하는 방법

이미지
이제 pwsh이나 cmd보다 윈도우 터미널 [1] 을 더 자주 사용하게 되었습니다. 하지만 비주얼이 조금 아쉬웠습니다. 파워쉘은 반투명하게 처리할 수가 있었는데 터미널은 옵션에서 아무리 찾아도 그런 설정이 보이지 않았기 때문입니다. 옵션은 settings.json에서 변경 하지만 구글링 해보니 단지 옵션이 숨겨져 있었을 뿐이란 걸 깨닫게 되었죠. 누가 개발자용 툴 아니랄까봐 UI에는 대충 필요한 것만 박아두고 세부 설정은 죄다 settings.json에서 하게 되어있더군요. 설정 파일 .json 파일과 연결된 프로그램이 없으면 메모장으로 열리니 사전에 자주 사용하는 에디터에 연결을 해놓으시거나 %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json 파일을 직접 열어도 됩니다. profiles 수정 이제 간단히 두 줄만 추가하거나, 개별로 설정할 경우 여러 줄을 추가해주시면 됩니다. 여러 줄이라고 해봐야 앞서 얘기한 두 줄과 동일한 형식이니 크게 어려울 것은 없습니다. 전역 설정 profiles.default 에 다음과 같은 코드를 추가하면 전역 투명도가 설정됩니다. "acrylicOpacity" : 0 , // 0-1; 0: 완전 투명, 1: 불투명 "useAcrylic" : true 프로필별 설정 profiles.list 의 원하는 요소에 위와 같은 옵션을 적용하면 됩니다. 더 투명했으면 좋겠다 싶은 프로필에는 acrylicOpacity 값을 낮추고, 아니면 높이고. 불투명했으면 좋겠다 싶은 프로필에는 useAcrylic 을 false 로 설정하면 됩니다. 저는 그냥 전역으로 0을 박아놓고 사용하고 있습니다. 아크릴 효과 덕분에 0으로 박아도 별로 거부감이 없더라고요. 0으로 박은 모습 추가: 2021-12-09 최신 Windows Terminal Prev...

Windows의 방화벽 해제. 하지만 모든 프로필을 곁들인

이미지
기본적으로 Windows OS의 방화벽은 설치 직후부터 항상 켜져있습니다. 그리고 사용자는 필요에 의해 방화벽 허용 규칙을 추가하거나, 방화벽을 끄게 됩니다. 예전에는 제어판에서, Windows 10 이후에는 설정 앱과 제어판에서 방화벽을 끌 수 있는데, 이번 포스트에서는 모든 프로필 의 방화벽을 해제하는 방법에 대해 작성하도록 하겠습니다. 방화벽 프로필 윈도우는 세 개의 방화벽 프로필을 제공합니다. 바로 개인 프로필, 공용 프로필, 도메인 프로필입니다. 개인/공용 프로필 이 중 개인 프로필과 공용 프로필은 비교적 이해가 쉽습니다. 여러분이 포맷 등으로 신선한 상태의 윈도우를 설정할 때, 혹은 설치 후에 인터넷에 연결했을 때, 혹은 새로운 네트워크 어댑터를 추가했을 때마다 윈도우는 우리에게 해당 어댑터가 어떤 프로필로 작동하게 할지 묻습니다. 윈도우 10 이상에서는 알림 바가 열리며 공용 또는 개인 버튼이 보여지게 되며, 기본값은 공용으로 선택되어 있죠. 즉 개인 프로필과 공용 프로필은 관리자 [1] 가 마음대로 선택할 수 있는 겁니다. 도메인 프로필 도메인 프로필은 성격이 좀 다릅니다. 깊게 들어가지 않고 간단히 설명하자면, 해당 네트워크 어댑터가 도메인에 가입되어 있고, 그러한 도메인의 도메인 컨트롤러를 검색할 수 있다면 도메인 프로필이 규칙이 적용되게 됩니다. 그렇다면 도메인이 뭘까요? 이것 역시 겉핥기 식으로 설명하면 윈도우에서 제공하는 디렉터리 공유 기능을 위한 네트워크로 연결된 하나의 그룹입니다. 죄송합니다. 더 쉽게 설명해보겠습니다. 간단히 설명하자면 학교나 회사에서 같은 라우터에 연결된 컴퓨터끼리 폴더 [2] 를 공유해 작업할 때, 이 컴퓨터들은 같은 도메인에 가입되어 있어야 합니다. 윈도우의 도메인 주소( \\BUJANG-PC\data\document.doc 과 같은 형식)를 이 글을 보시는 여러분께서 한 번쯤은 보셨으리라 생각합니다. 여기서 BUJANG-PC 를 식별하기 위해 도움을 주는 것이 ...

[PowerShell] 특정 디렉토리 내 파일의 확장자 일괄 변경

  제목대로, 이번엔 파워쉘에서 특정 디렉토리 내의 확장자를 일괄 변경하는 방법에 대해 써보려 합니다.   파워쉘이 없던 시절엔 명령 프롬프트의 ren 명령어로 이러쿵 저러쿵 사용했던 것 같은데, 잘 기억이 안 나는 바람에 이렇게 된 거, 파워쉘로 해보자 하며 찾아본 결과입니다.   DIR 명령어는 Get-ChildItem 혹은 GCI 명령어로도 대체 가능합니다. DIR | Rename-Item -NewName { [System.IO.Path]::ChangeExtension($_.Name, ".확장자") }   당연히 DIR 옆의 | 기호는 파이프 기호입니다. 대충 동작하는 과정은, 1. Get-ChildItem으로 현재 디렉토리 내의 모든 파일/폴더를 가져옴 2. 1. 의 각 항목에 대해 Rename-Item 명령어를 실행 3. Rename-Item 명령어의 -NewName 인수에 따라, 새 이름을 적용 4. 바뀔 이름은 각 항목이서 확장자만 확장자 로 바꾼 문자열이 됨

PATH 환경변수 없이 단일 exe를 실행 창에서 바로 실행하는 방법

사라져버린 devenv.exe   Visual Studio 2017을 설치한 뒤, 평소처럼 시작 - 실행에 devenv 를 입력해 개발을 시작하려 했으나 'devenv.exe'을(를) 찾을 수 없습니다  라는 메세지가 뜨고 실행이 되지 않아 살짝 당황했습니다. 이전까진 Visual Studio를 설치하면 devenv.exe를 입력하면 Visual Studio의 현재 버전이 실행됐거든요. 첫 번째 시도 - 환경 변수 PATH 추가   그래서 귀찮지만 앞으로 계속 이런 식으로 사용할 것이니 환경 변수에 devenv.exe가 있는 경로를 추가했습니다. 제 경우, %PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Community\Common7\IDE 에 있어 해당 경로를 추가했죠.   하지만 문제가 생겼습니다. 실행되라는 devenv.exe를 놔둔 채 devenv.cmd 를 실행해버린 것이죠. 동일 폴더에 exe, cmd, bat  등 실행 가능한 확장자를 가진 같은 파일명의 파일이 두 개 이상 존재할 때 생기는 문제였습니다.   간단히 생각하면  바로가기만 모아놓는 폴더를 만든 뒤, 환경변수에 등록하고 거기에 devenv.exe만 복사 해놓으면 끝날 일이지만, 그렇게 하면 뭔가 성에 차지 않았습니다. 왜냐하면 devenv를 입력해서 실행됐을 때에 환경 변수에 별다른 추가 사항이 없었던 것으로 알고 있거든요.   환경 변수 PATH를 건드리지 않고 실행 창에서 바로 실행 가능한 명령어를 등록하는 방법? 알아보고 싶어졌습니다. 정답은 App Paths 레지스트리 키에 하위 키 추가   그리고 구글에 검색하자마자 답이 나오더군요. App Paths 레지스트리 하위 키에 원하는 키를 추가 하면 됩니다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVe...