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을 사용하다 보면 계정을 만들 때 표준 사용자(Standard User)와 관리자 계정(Administrator) 중 하나를 선택할 수 있습니다. 겉보기에는 큰 차이가 없어 보이지만, 실제로는 시스템을 다루는 권한에서 큰 차이가 있습니다.

윈도우 10 / PowerShell / 특정 폴더에서 실행하는 방법

윈도우 10 / PowerShell / 특정 폴더에서 실행하는 방법

윈도우 10에서 명령어로 작업하려면 PowerShell을 사용합니다. 그런데 시작 메뉴에서 파워쉘을 실행하면 현재 사용자의 폴더에서 시작하게 됩니다. 다른 폴더로 이동하려면 cd 명령어를 사용해야 하죠. 이름이 복잡하거나 구석에 숨어있는 폴더로 이동하려면 아주 귀찮습니다. 만약 특정 폴더에서 바로 시작하고 싶다면... 파일 탐색기를 엽니다. 원하는 폴더로 이동합니다. 메뉴에서 PowerShell을 실행합니다. 이렇게 하면 현재 위치한 폴더에서 파워쉘이 시작됩니다.

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

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

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

윈도우 11 / 시작 / 최근 연 파일 삭제하는 방법

윈도우 11 / 시작 / 최근 연 파일 삭제하는 방법

윈도우 11의 시작 버튼을 클릭하면, 아래 쪽에 최근 사용한 파일 목록 등 여러 가지가 나옵니다. 최근 작업한 파일에 빠르게 접근할 수 있도록 하는 기능인데, 남에게 내가 무엇을 했는지 들킬 위험이 있습니다. 만약 기밀이 필요한 작업, 지극히 개인적인 작업을 자주 한다면 최근 파일이 나오지 않는 게 좋습니다. 이는 설정에서 변경할 수 있습니다. 을 ...

윈도우 / 명령어 / SC - 서비스를 관리하는 명령어

윈도우 운영체제에서는 다양한 시스템 서비스가 백그라운드에서 실행되며, 이러한 서비스는 시스템의 성능과 안정성을 유지하는 데 중요한 역할을 합니다. SC(Service Controller) 명령어는 이러한 서비스를 관리하는 강력한 도구로, 서비스를 시작, 중지, 설정 변경, 삭제 등 다양한 작업을 수행할 수 있습니다. SC를 사용할 때 일부 명령은 관리자 권한을 필요로 합니다. 따라서 관리자 권한으로 명령 프롬프트(CMD)를 ...

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

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

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

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

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

BitLocker는 Microsoft Windows 운영 체제에 포함된 드라이브 암호화 기능으로, 전체 디스크 볼륨을 암호화하여 데이터의 무단 액세스를 방지하는 도구입니다. 노트북이나 이동식 저장 장치와 같은 장치를 도난당하거나 분실했을 때, 데이터가 무단으로 접근되는 것을 방지합니다. 윈도우 11에서 BitLocker를 켜는 방법, BitLocker를 해제하는 방법에 대하여 알아봅니다. BitLocker 켜는 방법 암호화하려는 드라이브를 선택하고, 마우스 우클릭합니다. 를 클릭합니다. 잠금 해제할 ...

윈도우 10 / CPU 100% 해결하는 방법

윈도우 10 / CPU 100% 해결하는 방법

윈도우 10에서 CPU 사용률이 100%에 도달하는 문제는 시스템 성능을 저하시킬 수 있습니다. 이 문제를 해결하기 위해 다음 단계를 시도해 볼 수 있습니다. 작업 관리자에서 문제 프로세스 확인 가장 먼저 해야 할 일은 작업 관리자를 사용하여 CPU 사용량이 높은 프로세스를 찾는 것입니다. Ctrl + Shift + Esc를 눌러 작업 관리자를 엽니다. 프로세스 탭에서 CPU 열을 ...

윈도우 11 / 터치 패드 끄는 방법

윈도우 11 / 터치 패드 끄는 방법

대부분의 노트북에는 터치 패드를 끄는 펑션 키가 있다. 마우스가 연결되어 있으면 터치 패드를 사용할 일이 별로 없고, 노트북 키보드를 칠 때 터치 패드를 건드리는 경우가 많기 때문일 것이다. 그런데 간혹 터치 패드 끄는 펑션 키가 없기도 하다. 그런 경우 윈도우 설정에서 터치 패드를 끌 수 있다. 윈도우 설정을 연다.(단축키는 WIN + I) 왼쪽에서 ...

윈도우 10 / 메일 / 네이버 메일 추가하는 방법

윈도우 10 / 메일 / 네이버 메일 추가하는 방법

네이버는 PC에서 사용하는 전용 메일 프로그램이 없습니다. 하지만 IMAP을 지원하므로 아웃룩 등 메일 클라이언트 프로그램으로 메일을 주고 받을 수 있습니다. 윈도우 10에 있는 메일 앱에 네이버 계정을 추가하는 방법을 알아보겠습니다. 네이버 메일 설정 네이버 메일의 으로 설정합니다. 메일 앱에 네이버 계정 추가 윈도우 10에서 메일 앱을 엽니다. 찾기 ...