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

기타

 

같은 카테고리의 다른 글
윈도우 11 / 노트북 덮개 닫아도 절전 모드로 들어가지 않게 하는 방법

윈도우 11 / 노트북 덮개 닫아도 절전 모드로 들어가지 않게 하는 방법

윈도우 11에서 노트북 덮개 닫아도 절전 모드로 들어가지 않게 하는 방법 두 가지를 알려드립니다. 윈도우 11 버전에 따라 가능한 방법이 다른데, 방법 1에서 안내하는 메뉴가 없으면 방법 2를 사용하면 됩니다.

윈도우 11 / 작업 관리자 실행하는 여러 가지 방법

윈도우 11 / 작업 관리자 실행하는 여러 가지 방법

윈도우 11에서 작업 관리자를 여는 방법은 여러 가지가 있으며, 각각의 방법은 사용자의 필요와 상황에 따라 다르게 적용될 수 있습니다. 작업 관리자는 시스템 성능을 모니터링하고, 실행 중인 프로세스를 관리하며, 필요할 때 응답하지 않는 프로그램을 강제로 종료할 수 있는 유용한 도구입니다.

윈도우 11 / 화상 키보드(가상 키보드) 사용하는 방법

윈도우 11 / 화상 키보드(가상 키보드) 사용하는 방법

화상 키보드는 터치스크린 장치나 키보드 사용이 어려운 환경에서 유용하게 사용할 수 있는 가상 키보드입니다. 화상 키보드는 실제 물리적인 키보드 대신 화면에 나타나는 키보드로, 마우스나 터치로 입력할 수 있습니다. 윈도우 11에서 화상 키보드를 사용하는 방법은 다음과 같습니다. 시작 버튼에 마우스를 올리고 우클릭합니다. 을 클릭합니다. 왼쪽에서 을 클릭합니다. 를 클릭합니다. 오른쪽에 있는 토글 버튼을 클릭하면... 화상 키보드가 ...

윈도우 10 / 시작프로그램 / 프로그램 등록하는 방법

윈도우 10 / 시작프로그램 / 프로그램 등록하는 방법

자주 사용하는 프로그램은 컴퓨터를 켬과 동시에 실행되도록 하는 것이 편합니다. 이렇듯 윈도우 부팅 시 자동으로 실행되는 프로그램을 시작프로그램이라고 하는데, 많은 소프트웨어가 설치할 때 시작프로그램에 등록됩니다. 금융 사이트 접속할 때 필요한 온갖 보안 프로그램이 대표적인 예입니다. 만약 자주 사용하는 프로그램인데 시작프로그램에 등록되어 있지 않다면 수동으로 등록시킬 수 있습니다. 레지스트리를 편집하는 방법과 시작프로그램 ...

윈도우 11 / 로컬 사용자 계정 / 추가하는 방법, 삭제하는 방법

윈도우 11 / 로컬 사용자 계정 / 추가하는 방법, 삭제하는 방법

Windows 11의 로컬 사용자 계정이란, 해당 컴퓨터에서만 사용 가능한 사용자 계정을 의미합니다. 이 계정은 Microsoft 계정과 연결되지 않으며, 로컬 사용자로 로그인하면 해당 컴퓨터에만 적용되는 설정 및 데이터를 사용할 수 있습니다. 윈도우 11에서 로컬 사용자 계정을 추가하는 방법, 삭제하는 방법은 다음과 같습니다. 표준 사용자와 관리자 권한 차이 로컬 사용자는 표준 사용자와 관리자로 구분됩니다. 로컬 ...

윈도우 11 / 작업 표시줄 / 그룹화 해제하는 방법

윈도우 11 / 작업 표시줄 / 그룹화 해제하는 방법

윈도우 11은 윈도우 10과는 다르게 작업 표시줄 그룹화를 해제하는 옵션이 없었다. 그래서 ExplorerPatcher라는 별도의 프로그램을 이용해서 구현을 하곤 했는데... 2023년 11월 업데이트 미리 보기에 그 기능이 추가되었다. 미리 보기여서 자동으로 업데이트가 되지는 않고, 직접 설치를 해야 한다. Windows 업데이트에서 바로 보일 수도 있고, 아래처럼 선택적 업데이트에 있을 수도 있다. 이 업데이트를 설치하고 ...

윈도우 11 / IP 확인하는 방법

윈도우 11 / IP 확인하는 방법

IP는 두 가지로 구분할 수 있습니다. 내 컴퓨터에 할당된 IP 외부와 통신하는 IP 보통 인터넷 공유기나 방화벽을 통하여 통신하므로, 내 컴퓨터에 할당된 IP와 외부와 통신하는 IP는 다릅니다. 예를 들어 다음과 같이 구성되어 있다면... 공유기의 IP가 외부와 통신하는 IP, 공유기가 컴퓨터에 할당한 IP가 내 컴퓨터에 할당된 IP입니다. 윈도우 11에서 두 가지 IP를 확인하는 방법을 알아봅니다. 내 컴퓨터에 ...

윈도우 10 / IExpress / 자동 압축 풀기 실행 파일 만드는 방법

윈도우 10 / IExpress / 자동 압축 풀기 실행 파일 만드는 방법

IExpress는 윈도우 10에 포함된 자동 압축 풀기 또는 자동 설치 패키지를 만드는 프로그램입니다. 다음은 IExpress로 자동으로 압축이 풀리는 실행 파일을 만드는 방법입니다. 실행 창을 엽니다. 단축키는 WIN+R입니다. iexpress를 입력하고 엔터키를 누르거나 을 클릭합니다. 을 클릭합니다. 압축만 풀 것이므로 Extract files only를 선택하고 을 클릭합니다. 적절히 이름을 정하고 을 클릭합니다. 확인을 받거나 라이선스를 보여주는 기능도 있는데, 자동 ...

윈도우 10 / Microsoft 사진 / 초기화 또는 복구하는 방법

윈도우 10 / Microsoft 사진 / 초기화 또는 복구하는 방법

윈도우 10에 포함된 사진 앱은, 이름은 사진이지만 동영상 편집까지 가능한 유용한 앱입니다. 그런데, 이상하게 가끔 문제가 생깁니다. 실행이 되지 않거나, 오류가 생기거나... 그런 경우 프로그램을 삭제 후 다시 설치하면 보통 해결이 되는데, 사진 앱은 제거가 되지 않습니다. 대신 초기화 또는 복구는 가능합니다. Windows 설정을 엽니다. 단축키는 WIN+I입니다. 을 클릭합니다. 는 활성화되지 ...

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

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

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