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 / 자동 업데이트 끄는 방법

윈도우 10 / 자동 업데이트 끄는 방법

윈도우 10을 설치한 후 별도의 설정을 하지 않았다면 업데이트를 자동으로 합니다. 업데이트를 한 후에 사용자가 컴퓨터를 사용하지 않으면 스스로 재부팅을 하기도 하죠. 잠시 자리를 비웠는데 컴퓨터가 재부팅을 하고 한참동안 업데이트를 설치하는 일이 발생할 수 있습니다. 급하게 작업할 게 있다면 아주 당황스런 상황이 되는 거죠. 중요한 업데이트를 자동으로 하는 것이 좋기는 하지만, ...

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

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

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

윈도우 10 / 작업 표시줄에서 피플 아이콘 제거하는 방법

윈도우 10 / 작업 표시줄에서 피플 아이콘 제거하는 방법

피플 앱 피플 앱은 주소록 같은 앱입니다. 구글과 스카이프에 있는 연락처를 가져와서 한 번에 관리할 수 있습니다. 사람을 선택한후 바로 메일을 보내거나 스카이프로 통화하는 것이 가능합니다. 피플 앱 작업 표시줄에서 제거 피플은 편리한 기능을 가진 앱이지만, 적극적으로 사용하는 사람을 주위에서 본 적은 없습니다. 메일은 구글의 지메일보다 네이버 메일을 더 많이 사용하고, 메시지나 통화는 스카이프보다 ...

윈도우 10 / 메모장 / 자동 줄 바꿈 하는 방법, 글꼴 변경하는 방법

윈도우 10 / 메모장 / 자동 줄 바꿈 하는 방법, 글꼴 변경하는 방법

자동 줄 바꿈 하는 방법 메모장은 기본적으로 긴 텍스트라 하더라도 줄 바꿈을 하지 않는다. 따라서 긴 텍스트의 경우 아래처럼 좌우 스크롤이 생긴다. 자동 줄 바꿈을 하고 싶다면 을 클릭한다. 이제 아래처럼 메모장 크기에 맞게 줄 바꿈이 된다. 글꼴 변경하는 방법 메모장의 기본 글꼴은 맑은 고딕이다. 다른 글꼴을 사용하고 싶다면 [서식 - ...

윈도우 10 / PowerShell / Get-AppxPackage, Remove-AppxPackage

확장자가 .msix, .assx인 앱 패키지의 정보를 가져오는 명령어는 Get-AppxPackage, 제거하는 명령어는 Remove-AppxPackage이다. Get-AppxPackage 앱 패키지 정보들을 가져온다. Get-AppxPackage 이름이 Microsoft.ScreenSketch인 앱 패키지 정보를 가져온다. Get-AppxPackage -Name Microsoft.ScreenSketch Name : Microsoft.ScreenSketch Publisher : CN=Microsoft Corporation, O=Microsoft Corporation, ...

윈도우 11 / 설치용 USB 만드는 방법

윈도우 11 / 설치용 USB 만드는 방법

윈도우 11 설치용 USB를 만드는 방법은 여러 가지가 있습니다. 그 중 마이크로소프트에서 제공하는 방법을 알려드리겠습니다. 준비할 것은 8GB 이상의 크기를 가진 USB입니다.

윈도우 10 / 공유 폴더 만드는 방법

윈도우 10 / 공유 폴더 만드는 방법

공유 폴더 만드는 방법 공유할 폴더를 선택하고 마우스 우클릭합니다. 팝업 메뉴에서 을 클릭합니다. 를 클릭합니다. 현재 로그인한 사용자가 소유자로, 공유 폴더에 접근 가능합니다. 다른 사용자를 추가하고 싶다면 선택 목록을 클릭합니다. 사용자를 선택하고, 추가한 다음... 역삼각형 아이콘을 클릭하여... 권한을 적절히 선택합니다. 를 클릭합니다. 적절히 선택합니다. 를 클릭해도 됩니다. 공유 설정이 완료되었습니다. 공유 폴더에 접근하는 방법 같은 네트워크 안에 있는 다른 PC에서 파일 ...

윈도우 11 / 디스크 100% 해결하는 방법

윈도우 11 / 디스크 100% 해결하는 방법

윈도우 11에서 디스크 사용률이 100%에 도달하는 문제는 시스템 성능을 저하시킬 수 있습니다. 이 문제를 해결하기 위해 다음 단계를 시도해 볼 수 있습니다. Windows Search 서비스 비활성화 Windows Search 서비스가 디스크 사용률을 높일 수 있습니다. Windows 키 + R을 눌러 실행 창을 엽니다. services.msc를 입력하고 Enter를 누릅니다. Windows Search를 찾은 후 더블 클릭합니다. 시작 유형을 사용 안 ...

윈도우 10 / 사용자 계정 컨트롤 끄는 방법, 켜는 방법

윈도우 10 / 사용자 계정 컨트롤 끄는 방법, 켜는 방법

사용자 계정 컨트롤 소프트웨어를 설치하거나 실행할 때 정말로 실행하겠냐고 메시지가 나옵니다. 유해한 소프트웨어의 실행을 방지하기 위한 것으로, 사용자가 다시 한번 생각하도록 알림을 보내는 것입니다. 이 알림 설정은 사용자 계정 컨트롤에서 합니다. 더 자주 알림을 보내게 할 수도 있고, 알림을 없앨 수도 있습니다. 사용자 계정 컨트롤 설정하기 사용자 계정 컨트롤 설정은 제어판에서 합니다. 검색에서 ...

윈도우 11 / 원격 데스크톱 / 포트 변경하는 방법

윈도우 11 / 원격 데스크톱 / 포트 변경하는 방법

윈도우 11 원격 데스크톱의 수신 포트를 변경할 때 필요한 레지스트리 설정, TCP 방화벽 규칙, 재부팅 후 접속 확인과 복구 방법을 설명합니다. 포트 변경만으로 보안이 확보되는 것은 아니므로 접속 범위와 인증 설정도 함께 확인하세요.