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 / 방화벽 해제하는 방법

방화벽은 네트워크 간에 주고 받는 트래픽을 허용 또는 차단한다. Windows 10에도 기본적으로 방확벽이 있다. 그리고 활성화되어 있다. 특별한 이유가 없는 한 방화벽은 켜는 것이 좋다. 허용 또는 차단할 포트가 있다면 개별적으로 설정하는 것이 좋다. 만약 어떤 이유로 인해 방화벽 자체를 꺼야 한다면, 즉 모든 트래픽을 허용해야 한다면, 다음 두 가지 방법으로 할 ...

윈도우 11 / 팀즈 / 작업 표시줄에서 숨기는 방법, 제거하는 방법

윈도우 11 / 팀즈 / 작업 표시줄에서 숨기는 방법, 제거하는 방법

윈도우 11은 팀즈가 기본적으로 설치된다. 마이크로소프트 계정이 있으면 사용할 수 있는 것으로, 무료 버전이다.(구입해야 하는 기업용 팀즈와는 다른 소프트웨어이다.) MS가 열심히 퍼트리는 것으로, 작업 표시줄에 고정되어 있다. 마우스를 올리고 우클릭해도 가 없다. 작업 표시줄에서 없애기 위해서는 으로 가야 한다. 을 비활성화하면 작업 표시줄에서 사라진다. 만약 아예 삭제하고 싶다면 시작 메뉴에서 ...

윈도우 11 / 지정한 로그온 세션이 없습니다. 이미 종료되었을 수도 있습니다.

윈도우 11 / 지정한 로그온 세션이 없습니다. 이미 종료되었을 수도 있습니다.

네트워크 드라이브 연결을 하려고 할 때 다음과 같은 메시지를 띄우면서 연결에 실패할 때가 있다. 지정한 로그온 세션이 없습니다. 이미 종료되었을 수도 있습니다. 이런 경우 사용자 이름을 다음처럼 하면 해결될 수 있다. 192.168.0.100\user 192.168.0.100은 연결하려는 장치의 IP, user는 로그온 계정이다.

윈도우 10 / 폴더 아이콘 변경하는 방법

윈도우 10 / 폴더 아이콘 변경하는 방법

윈도우 10이라면, 기본적으로 문서는 종이, 다운로드는 아래쪽으로 향하는 화살표, 사진은 이미지가 폴더에 표시됩니다. 폴더 아이콘은 주어진 모양대로 사용해야 하는 것은 아닙니다. 내가 원하는 모양으로 바꿀 수 있습니다.

윈도우 11 / 디스플레이 / 화면 배율, 해상도, 새로 고침 빈도(모니터 주사율) 설정하는 방법

윈도우 11 / 디스플레이 / 화면 배율, 해상도, 새로 고침 빈도(모니터 주사율) 설정하는 방법

화면 배율은 화면에 표시되는 텍스트, 아이콘 및 기타 UI 요소의 크기를 조정하는 설정입니다. 배율을 조정하면 해상도는 동일하게 유지되지만, 디스플레이에 표시되는 내용의 크기가 변경됩니다. 화면 해상도는 화면에 표시되는 픽셀의 수를 나타냅니다. 가로 픽셀 수 × 세로 픽셀 수 형식으로 표현되며, 해상도가 높을수록 더 많은 픽셀이 사용되어 화면이 더 세밀하고 선명하게 보입니다. 새로 고침 ...

윈도우 10 / 메일 / 지메일(Gmail) 추가하는 방법

윈도우 10 / 메일 / 지메일(Gmail) 추가하는 방법

윈도우 10의 메일 앱에 지메일을 추가하는 방법입니다. 예전에 여러 가지 설정이 필요했었는데, 지금은 간단히 추가할 수 있습니다. 메일 앱을 실행합니다. 메일 앱을 처음 사용하는 거라면 다음과 같이 계정을 추가하라는 창이 나옵니다. 를 클릭합니다. 계정을 처음 추가하는 게 아니라면, 설정에서 추가할 수 있습니다. 구글 계정을 입력합니다. abc@gmail.com으로 입력해도 되고 abc만 입력해도 됩니다. 을 클릭합니다. 비밀번호를 입력하고 을 클릭합니다. 권한이 ...

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

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

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

윈도우 10 / 프로그램 시작 화면에 고정하는 방법, 작업 표시줄에 고정하는 방법

윈도우 10 / 프로그램 시작 화면에 고정하는 방법, 작업 표시줄에 고정하는 방법

윈도우 10에 소프트웨어를 설치하면 대부분 시작 메뉴에 등록됩니다. 그런데 시작 메뉴는 가나다순으로 프로그램 목록이 나와서 사용이 불편합니다. 자주 사용하는 프로그램이 밑에 있을 수도 있으니까요. 자주 사용하는 프로그램에 접근하기 쉽게 하는 방법은 두 가지가 있습니다. 하나는 시작 화면에 고정하는 것이고, 또 하나는 작업 표시줄에 고정하는 것입니다. 시작 화면에 고정하는 방법 프로그램에 마우스를 올리고 우클릭합니다. 팝업 ...

윈도우 11 / Microsoft Defender / 바이러스 검사하는 방법, 실시간 보호 설정하는 방법

윈도우 11 / Microsoft Defender / 바이러스 검사하는 방법, 실시간 보호 설정하는 방법

윈도우 11을 설치하면 Microsoft Defender가 자동으로 설치되고 활성화됩니다. V3 같은 백신 전문 프로그램보다 성능이 좋으냐 나쁘냐 논란이 있지만, 별도의 비용 지불 없이 백신을 사용할 수 있다는 것은 장점입니다. Microsoft Defender로 바이러스 검사를 어떻게 하는지, 실시간 보호 기능은 어떻게 설정하는지 알아봅니다. 특정 폴더나 파일 검사하기 바이러스 검사를 하고 싶은 파일이나 폴더를 선택합니다. 마우스 우클릭 후 ...

윈도우 10 / BitLocker로 드라이브 암호화하는 방법

윈도우 10 / BitLocker로 드라이브 암호화하는 방법

컴퓨터를 사용하다보면 중요한 정보가 있는, 나만 봐야 하는 파일들이 생깁니다. 남들이 못보게 하는 방법은 여러 가지가 있는데, 그 중 하나가 BitLocker입니다. 드라이브 전체를 암호화하고, 비밀번호를 알아야만 접근할 수 있게 해주는 기능입니다. 특히 노트북을 사용한다면 중요 파일들을 한 드라이브에 모아서 BitLocker로 잠그는 것이 좋습니다. 노트북을 분실해도 암호를 모르면 파일에 접근할 수 없으니까요. BitLocker로 ...