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에서 왼쪽 밑에 있는 시작 버튼을 클릭하면 시작 메뉴와 화면이 주욱 올라옵니다. 설치한 앱과 프로그램 목록이 있고, 자주 사용하는 프로그램은 시작 화면에 등록해둘 수 있죠. 시작 메뉴의 왼쪽에는 전원, 설정 등의 아이콘이 있는데 공간에 비해 아이콘이 몇 개 없습니다. 좀 허전하죠? 그 곳에 자주 접근하는 폴더를 등록해놓고 활용할 수 있습니다. [Win + ...

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

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

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

윈도우 10 / 알람 및 시계 / 알람, 시계, 타이머, 스톱워치 앱

윈도우 10 / 알람 및 시계 / 알람, 시계, 타이머, 스톱워치 앱

15분 동안 뭘 끓여야 합니다. 15분이 넘으면 탈 수 있으므로 시간을 재야 합니다. 스마트폰에 있는 시계 앱으로 타이머를 맞추다가, 윈도우에서 비슷한 기능의 앱이 있을 거 같아 찾아봤습니다. 컴퓨터로 작업하고 있을 때는 컴퓨터에서 모든 걸 해결하는 게 편하니까요. 역시나 있었습니다. 이름은 알람 및 시계. 윈도우 설치 시 자동으로 설치되는 앱인가 봅니다. 따로 ...

윈도우 10 / 원드라이브(OneDrive) / 저장 폴더 변경하는 방법

윈도우 10 / 원드라이브(OneDrive) / 저장 폴더 변경하는 방법

원드라이브는 마이크로소프트가 제공하는 클라우드 저장소입니다. 마이크로소프트 계정이 있으면 5G를 줍니다. 구글이 15G를 제공하는 것에 비하면 작은 용량이지만, 그래도 여러모로 활용할 수 있습니다. PC에 원드라이브 앱을 설치해서 클라우드와 PC를 동기화할 수 있는데, 기본 경로는 \Users\<username>\OneDrive입니다. 만약 이 경로가 마음에 들지 않는다면 다른 경로로 바꿀 수 있습니다. 원드라이브 아이콘을 클릭하고, 를 클릭한 후, ...

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

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

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

윈도우 10 / 컴퓨터 이름 변경하는 세 가지 방법

윈도우 10 / 컴퓨터 이름 변경하는 세 가지 방법

윈도우 10에서 컴퓨터 이름을 변경하는 방법 세 가지를 소개합니다. 어떤 방식으로 해도 컴퓨터를 재시작해야 반영됩니다. 방법 1 - 설정에서 변경 Windows 설정을 엽니다. 단축키는 입니다. 을 클릭합니다. 왼쪽에서 정보를 클릭합니다. 오른쪽에서 를 클릭합니다. 원하는 이름을 입력한 후 을 클릭하여 변경을 완료합니다. 방법 2 - 시스템 속성에서 변경 실행 창을 엽니다. 단축키는 입니다. sysdm.cpl을 실행합니다. 을 클릭합니다. 원하는 컴퓨터 이름을 ...

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

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

폴더의 특성에 따라 다른 모양의 아이콘을 설정할 수 있어요. 윈도우 10이라면, 기본적으로 문서는 종이, 다운로드는 아래쪽으로 향하는 화살표, 사진은 이미지가 폴더에 표시되요. 아이콘만 보고 어떤 내용이 담겨 있는지 구분할 수 있는 유용한 기능입니다.

윈도우 10 / 명령 프롬프트(CMD) / 항상 관리자 권한으로 실행하는 방법

윈도우 10 / 명령 프롬프트(CMD) / 항상 관리자 권한으로 실행하는 방법

명령 프롬프트(CMD)를 관리자 권한으로 실행하는 경우가 많다면, 아예 항상 관리자 권한으로 실행되도록 설정할 수 있다. 아래는 윈도우 10 기준인데, 윈도우 11, 윈도우 서버도 방법은 같다. cmd로 검색하고 를 클릭한다. 을 클릭한다. 을 클릭한다. 을 클릭하여 설정을 저장한다.

윈도우 11 / 방화벽 해제하는 방법

윈도우 11 / 방화벽 해제하는 방법

윈도우 11에서 방화벽을 해제하는 방법 두 가지를 소개한다. 윈도우 10에서의 방법과 거의 같다. 방화벽을 해제하면 모든 트래픽을 주고 받는다. 보안에 좋지 않으므로, 특별한 경우가 아니면 해제하지 않는 것이 좋다. 만약 허용하려는 포트가 있다면 개별적으로 열어준다. 방법 1 - 설정 설정을 연다.(윈도우 11 설정을 여는 세 가지 방법) 을 클릭한다. 을 클릭한다. [방화벽 ...

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

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

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