PowerShell / 메모

업그레이드

  • 버전 확인
PS C:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.19041.3031
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.3031
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
  • 최신 버전 확인
PS C:\> winget search Microsoft.PowerShell
이름               장치 ID                      버전    원본
---------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.3.6.0 winget
PowerShell Preview Microsoft.PowerShell.Preview 7.4.0.5 winget
  • 최신 버전 설치
winget install --id Microsoft.Powershell --source winget

도움말

  • 도움말 업데이트
Update-Help
  • Get-Help 명령어의 도움말
Get-Help -Name Get-Help

명령어 찾기

  • 모든 명령어 출력
Get-Command
  • 동사가 Get이면서 명사가 H로 시작하는 것 출력
Get-Command -Verb Get -Noun H*

보안 오류로 스크립트가 실행되지 않을 때

ExecutionPolicy의 값을 확인하고, Restricted라면 RemoteSigned로 변경해봅니다.

  • 값 확인
Get-ExecutionPolicy
  • 값 변경
Set-ExecutionPolicy RemoteSigned

주석

한 줄 주석

#을 추가한다. # 이후가 주석 처리된다.

여러 줄 주석

<#과 #>로 감싼다.

예제

현재 디렉토리 안의 폴더, 파일 크기 출력

Get-ChildItem | ForEach-Object {
    if ($_.PSIsContainer) {
        $size = (Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue |
        Measure-Object Length -Sum).Sum
        [PSCustomObject]@{
            Name = $_.Name
            Type = "Folder"
            SizeMB = "{0:N2}" -f ($size / 1MB)
        }
    }
    else {
        [PSCustomObject]@{
            Name = $_.Name
            Type = "File"
            SizeMB = "{0:N2}" -f ($_.Length / 1MB)
        }
    }
} | Format-Table -AutoSize
Get-ChildItem | ForEach-Object {

    if ($_.PSIsContainer) {
        $size = (Get-ChildItem $_.FullName -Recurse -File -EA SilentlyContinue |
        Measure-Object Length -Sum).Sum
    }
    else {
        $size = $_.Length
    }

    [PSCustomObject]@{
        Name = $_.Name
        SizeBytes = $size
    }

} | Sort-Object SizeBytes -Descending | ForEach-Object {

    $size = $_.SizeBytes

    $display =
        if ($size -ge 1GB) {
            "{0:N2} GB" -f ($size / 1GB)
        }
        elseif ($size -ge 1MB) {
            "{0:N2} MB" -f ($size / 1MB)
        }
        elseif ($size -ge 1KB) {
            "{0:N2} KB" -f ($size / 1KB)
        }
        else {
            "$size Bytes"
        }

    [PSCustomObject]@{
        Name = $_.Name
        Size = $display
    }

} | Format-Table -AutoSize

기타

 

같은 카테고리의 다른 글
윈도우 / 로그온 시도나 암호 변경 시도를 너무 많이 했기 때문에 보안을 위해 사용자 계정이 잠겼습니다

윈도우 / 로그온 시도나 암호 변경 시도를 너무 많이 했기 때문에 보안을 위해 사용자 계정이 잠겼습니다

집에서 사무실 컴퓨터에 원격 데스크톱으로 접속하여 작업할 때가 있다. 오랫동안 잘 사용했는데, 최근 들어 아래와 같은 메시지가 나오면서 연결이 되지 않을 때가 있다. 로그온 시도나 암호 변경 시도를 너무 많이 했기 때문에 보안을 위해 사용자 계정이 잠겼습니다. 잠시 기다렸다가 다시 시도하거나 시스템 관리자나 기술 지원 서비스에 문의하십시오. 로그온 실패가 많아서 계정을 잠가버린 ...

윈도우 10 / 지원 종료

Windows 10은 2025년 10월 14일에 지원이 종료됩니다. 현재 버전인 22H2는 Windows 10 최종 버전이 되며, 모든 버전은 해당 날짜까지 월별 보안 업데이트 릴리스를 통해 계속 지원됩니다. https://learn.microsoft.com/ko-kr/lifecycle/products/windows-10-home-and-pro 지원 종료 이후에는 다음과 같은 변화가 생깁니다. 보안 업데이트 중단 버그 수정 및 기능 개선 중단 Microsoft 기술 지원 종료 새로운 보안 위협에 취약해질 가능성 증가 특히 인터넷 연결 상태로 ...

Windows 10 ESU(Extended Security Updates)

Windows 10 ESU(Extended Security Updates)

Windows 10의 공식 지원은 2025년 10월 14일에 종료됩니다. 지원 종료 이후에는 새로운 기능 업데이트는 물론 일반적인 보안 패치도 제공되지 않습니다. 하지만 기업이나 개인이 Windows 11로 즉시 전환하기 어려운 경우를 위해 ESU 프로그램이 제공됩니다.

윈도우 11 / 인터넷 연결 속도 확인하는 방법

윈도우 11 / 인터넷 연결 속도 확인하는 방법

윈도우 11에서 인터넷 연결 속도를 확인하는 방법을 알아봅니다. 설정, 제어판, PowerShell을 이용한 링크 속도 확인 방법을 정리했습니다

윈도우 11 / 휴지통

윈도우 11 / 휴지통

윈도우 11의 휴지통 기능은 사용자들이 삭제한 파일을 임시로 보관하여, 필요할 경우 복구할 수 있게 해줍니다. 즉, 기본적으로 삭제는 휴지통이라는 폴더로 이동하는 것입니다. 기본 기능 삭제 파일 또는 폴더를 선택 후 Delete 키를 누르거나, 마우스 우클릭 후 휴지통 아이콘을 클릭하면, 해당 파일 또는 폴더는 휴지통으로 이동합니다. 휴지통에 파일 또는 폴더가 있으면 휴지통 아이콘이 휴지가 있는 ...

윈도우 11 / 창의 그림자 효과 없애는 방법

윈도우 11 / 창의 그림자 효과 없애는 방법

윈도우 11은 윈도우 10에 비하여 디자인이 많이 바뀌었다. 뛰어난 디자이너들이 나름 의미를 부여하면서 작업한 것이겠지만, 아직은 좋은지 잘 모르겠다. 특히 작업표시줄 그룹 해제가 안되는 것은 너무 불편. 바탕화면 기본 이미지가 바뀌어서인지 창의 그림자 효과가 눈에 아주 잘 들어온다. 윈도우 10에서도 있던 것인데, 그림자가 더 진해졌나? 시각적으로 보기 좋게 만든 것이기는 한데, ...

윈도우 / System Volume Information 폴더의 용도

윈도우 / System Volume Information 폴더의 용도

Windows의 System Volume Information 폴더는 복원 지점을 저장하는 폴더이다. 윈도우 11 / 복원 지점 만드는 방법, 복원하는 방법 Windows Server에도 같은 기능이 있는데, 섀도 복사본이라고 한다. 복원 지점(섀도 복사본)을 만들 수록 System Volume Information 폴더의 크기는 늘어난다. 반대로 복원 지점(섀도 복사본)을 지우면 System Volume Information 폴더의 크기는 줄어든다. 설정을 통해 System Volume Information의 최대 ...

윈도우 11 / Micorosft Teams / 삭제 또는 비활성화 하는 방법

윈도우 11 / Micorosft Teams / 삭제 또는 비활성화 하는 방법

윈도우 11을 설치하면 Micorosft Teams가 자동으로 설치된다. 마이크로소프트에서 제공하는 메신저 프로그램으로, 마이크로소프트 계정이 있으면 사용할 수 있다. 외국에서는 사용자가 많아지고 있다는데, 국내에서는 모르는 사람도 많고, 안다 해도 사용하는 사람이 별로 없는 듯 하다. 윈도우에 끼워 넣기 시작했으니, 앞으로는 많아질려나? 이 Microsoft Teams는 개인용으로, 기업에서 사용하는 Teams와는 좀 다르다. 기업용 팀즈를 설치하면 두 개의 ...

윈도우 11 / 바탕화면 배경 변경하는 방법

윈도우 11 / 바탕화면 배경 변경하는 방법

윈도우 11에서 배경화면 변경하는 방법은 다음과 같다. 바탕화면에서 마우스 우클릭하고 을 클릭하거나... 을 클릭한다.(윈도우 11 / 설정을 여는 세 가지 방법) 을 클릭하고... 사진, 단색, 슬라이드 쇼, Windows 추천에서 선택한다. 모니터와 다른 해상도의 사진이라면 어떻게 조정할지를 정한다.

윈도우 11 / Windows.old 폴더가 있는 이유와 삭제 가능 여부

윈도우 11 / Windows.old 폴더가 있는 이유와 삭제 가능 여부

윈도우를 사용하다 보면 C드라이브에 Windows.old라는 폴더가 생긴 것을 볼 수 있습니다. 특히 Windows 10에서 Windows 11로 업그레이드했거나, Windows 11의 대형 기능 업데이트를 설치한 뒤에 자주 나타납니다.