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 / Microsoft Defender / 실시간 보호 끄는 방법

윈도우 10 / Microsoft Defender / 실시간 보호 끄는 방법

윈도우 10을 설치하면 마이크로소프트의 보안 프로그램 디펜더(Defender)가 자동으로 설치됩니다. 별도로 백신을 구입하고 설치할 필요가 없어서 편하기는 합니다. 마이크로소프트가 대충 만들 것도 아니구요. 보통의 백신 프로그램이 그러하듯이, 마이크로소프트 디펜더도 실시간 보호 기능이 있습니다. 프로그램을 설치하거나 파일을 다운로드 하는 등 어떤 변화가 있을 때 바로바로 검사를 하는 기능입니다. 그런데 단점도 있습니다. 실행해야할 프로그램을 악성코드로 ...

윈도우 11 / Clipchamp / 사진으로 동영상 만들기

윈도우 11 / Clipchamp / 사진으로 동영상 만들기

윈도우 11부터 Clipchamp라는 동영상 편집 프로그램이 탑재되었다. 이를 이용하여 사진으로 동영상을 만드는 방법을 알아본다. 윈도우 11에 포함된 사진 앱으로도 사진을 동영상으로 만들 수 있다. 사진 간 전환 효과는 줄 수 없으나, 사진이 이동하거나 확대/축소되는 효과를 줄 수 있다. 윈도우 11 / 사진 / 사진을 동영상으로 만드는 방법 Clipchamp 실행하기 Clipchamp를 클릭한다. 만약 없다면 Microsoft ...

윈도우 11 / Windows 기능 켜기 끄기

윈도우 11 / Windows 기능 켜기 끄기

윈도우에는 처음 설치할 때는 설치되지 않는 여러 가지 기능들이 있습니다. Hyper-V, IIS 등 일반적으로는 사용하지 않으나, 개발자 등 파워 유저에게는 필요한 기능들입니다. 윈도우 11에서 그런 기능들을 추가하는 방법은 다음과 같습니다.

윈도우 11 / 언어 변경하는 방법

윈도우 11 / 언어 변경하는 방법

예전에는 윈도우 한글판, 윈도우 영문판 따로 판매했던 거 같다. 그래서 한글판을 쓰다가 영문판을 쓰고 싶다면 새로 구입해야 했던 거 같은데... 아니면 구입은 할 필요 없고 영문 버전으로 설치를 새로 했어야 했던가? 기억이 가물가물하다. 그런데 지금은 언어 변경이 상당히 쉽니다. 설정에서 언어 파일 설치하고 기본 언어를 선택하면 끝... 윈도우 11이라면 아래의 순서로 ...

윈도우 / DNS 캐시 조회하는 방법, 삭제하는 방법

윈도우 / DNS 캐시 조회하는 방법, 삭제하는 방법

윈도우는 DNS 정보를 캐시한다. 캐시는 기본적으로 속도 향상을 위한 것인데, 단점은 정보가 변경되었을 때 바로바로 적용되지 않는다는 것이다. 따라서 서버 이전 작업 등을 했을 때 제대로 찾아가지 못한다면 캐시를 삭제하는 작업이 필요하다. 캐시된 DNS를 조회하는 방법과 삭제하는 방법은 다음과 같다. DNS 캐시 조회하는 방법 명령 프롬프트를 연다. 아래와 같이 명령한다. ipconfig /displaydns DNS 캐시 삭제하는 방법 명령 ...

윈도우 10 / 윈도우 11로 업그레이드하는 방법

윈도우 10 / 윈도우 11로 업그레이드하는 방법

윈도우 10 사용자가 윈도우 11을 사용하고 싶다면, 윈도우 11을 새로 설치하는 방법과 윈도우 10에서 업그레이드 하는 방법 중에서 하나를 선택할 수 있습니다. 새로 윈도우 11을 설치하고 필요한 앱을 하나씩 추가하는 게 성능 측면에서 가장 좋기는 하지만, 사용하는 앱이 많고 설정할 것이 많다면 업그레이드하는 것이 편합니다. 다음은 윈도우 10에서 윈도우 11로 ...

윈도우 10 / PC용 페이스북 메신저 설치하는 방법

윈도우 10 / PC용 페이스북 메신저 설치하는 방법

메신저로 많은 일을 할 때는 PC용을 사용하는 게 편합니다. 스마트폰의 작은 화면과 키보드로 메시지를 주고 받는 건 아무래도 불편하니까요. 그래서 카카오톡은 PC용이 따로 있습니다. 모바일과 거의 같은 모양으로 PC에서 대화를 할 수 있습니다. 기능도 거의 같습니다. 그렇다면 페이스북 메신저도 PC용이 있을까요? 있습니다. 그런데 인스톨하는 프로그램이 아니고 마이크로소프트 스토어에 있습니다. 즉 윈도우 7 ...

윈도우 11 / 저장 공간 센스

윈도우 11 / 저장 공간 센스

저장 공간 센스 저장 공간 센스는 Windows 11에 내장된 자동 관리 도구로, 시스템 내 불필요한 파일을 자동으로 정리하여 디스크 공간을 확보해 주는 기능입니다. 이 기능은 사용자가 설정한 규칙에 따라 주기적으로 실행되며, 아래와 같은 작업을 수행합니다. 임시 파일 정리 임시 시스템 및 앱 파일을 자동으로 정리하여 Windows가 원활하게 실행되도록 합니다. 자동 사용자 콘텐츠 정리 휴지통, 다운로드 ...

윈도우 11 / 다크 모드 설정하는 방법

윈도우 11 / 다크 모드 설정하는 방법

모니터, 핸드폰, TV 등 많은 시간을 디스플레이를 보는 데 사용한다. 밝은 디스플레이는 선명하게 보이기는 하지만 눈의 피로를 유발한다. 그래서 다크 모드를 사용하는데... 근시를 유발하는 등 단점도 있다고 하지만, 눈이 덜 피로한 것은 맞는 거 같다. 윈도우 11을 다크 모드로 변경하는 것은 두 가지 방법이 있다. 테마를 변경하거나 색을 변경하는 것. 테마 변경 설정을 ...

윈도우 / ADMIN$, C$ 제거하는 방법, 복원하는 방법

윈도우 / ADMIN$, C$ 제거하는 방법, 복원하는 방법

윈도우에는 기본적으로 공유되는 폴더가 있다. ADMIN$, C$, IPC$인데, 보안 등 여러 가지 이유로 공유를 중지해야 할 때가 있다. 공유를 중지하는 방법에 대하여 알아본다. 공유 폴더 확인 하기 방법 1 에서 확인할 수 있다. 방법 2 CMD 창을 실행 후 다음과 같이 명령하면 공유 폴더 목록이 나온다. net ...