PowerShell 7 새로운 기능 목록

PowerShell 의 다음 주 버전이 출시 되었으며 몇 가지 중요한 변경 사항이 있습니다. 일곱 번째 버전에는 병렬 실행, 원격 실행을 위한 모듈 가져오기, 새 연산자 등과 같은 기능이 포함되어 있습니다. 이 게시물에서는 PowerShell 7.0 의 모든 (PowerShell 7.0)새로운(New) 기능을 살펴 봅니다.

PowerShell 7 기능

PowerShell 디렉터리 변경 사항

PowerShell 7(install PowerShell 7) 을 설치하면 새 디렉터리에 설치되고 PowerShell 5.1 과 함께 실행됩니다 . PowerShell Core 6.x 에서 업그레이드하는 경우 PowerShell 6 디렉터리 를 덮어쓰고 불필요한 파일을 모두 제거합니다. 알아야 할 디렉토리 목록은 다음과 같습니다.

PowerShell 7은 다음에 설치됩니다.

%programfiles%\PowerShell\7

$env:PATH 에 % programfiles  %programfiles%\PowerShell\7 폴더가 추가됩니다 .

PowerShell 7 설치 프로그램 패키지는 이전 버전의 PowerShell Core 6.x(PowerShell Core 6.x) 를 업그레이드합니다 .

Windows의 PowerShell Core 6.x:(PowerShell Core 6.x on Windows:)

%programfiles%\PowerShell\6

로 대체됩니다. 

%programfiles%\PowerShell\7

리눅스:(Linux:)

/opt/microsoft/powershell/6

로 대체됩니다. 

/opt/microsoft/powershell/7

macOS: 

/usr/local/microsoft/powershell/6

로 대체됩니다

/usr/local/microsoft/powershell/7

PowerShell 7의 새로운 기능

이러한 각 기능을 간략하게 설명하고 이것이 PowerShell (PowerShell) 사용자에게(users) 어떻게 도움이 될 것인지 설명하려고 했습니다 . 단, 자세한 내용은 마이크로소프트(Microsoft) 공식 페이지 에서 확인하시기 바랍니다 .

  1. 파이프라인 병렬화
  2. 새로운 연산자
  3. ConciseView 및 Get-Error cmdlet
  4. 자동 새 버전 알림
  5. (Invoke DSC)PowerShell 7 에서 직접 (PowerShell 7)DSC 리소스 호출
  6. 호환성 레이어

실제 코드를 테스트하기 전에 항상 환경 변수(Environment Variable) 를 확인하십시오 .

1] 파이프라인 병렬화

이제 ForEach-Object -Parallel을 사용할 때 시퀀스 방법 대신 병렬로 개체를 실행하거나 처리할 수 있습니다. WIM 제거에 대한 게시물에서 이 방법은 순서대로 실행할 때 거의 25초가 아니라 10초 이내에 3개의 WIM 이미지를 마운트 해제할 수 있습니다. (WIM)다음은 이에 대한 샘플 코드입니다.

Get-WindowsImage -Mounted | foreach -Parallel {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}

2] 신규 오퍼레이터

세 가지 새로운 연산자가 있습니다 Ternary operator: a ? b : c, Pipeline chain operators: || and && and Null conditional operators: ?? and ??=.이들은 단순화된 if-else 문처럼 동작합니다. (behaves like a simplified if-else statement.)항상 If-else 루프를 사용하는 대신 코드를 쉽게 작성할 수 있습니다.

3] ConciseView 및 Get-Error cmdlet

PowerShell 7에 오류 명령 가져오기

ConciseView 는 (ConciseView)PowerShell 7 의 기본 보기로 활성화된 사용자 선택 가능한 보기입니다 . 오류가 스크립트에서 발생하지 않은 경우 한 줄 오류가 수신됩니다. 그러나 스크립트에서 가져온 것이거나 구문 분석 오류가 있는 경우 여러 줄 오류 메시지와 오류가 발생한 줄을 표시하는 포인터를 받게 됩니다.

그런 다음 원할 때 오류를 자세히 볼 수 있는 새 cmdlet Get-Error 가 있습니다. (Get-Error)내부 예외를 포함하여 발생한 마지막 오류의 전체 세부 정보를 표시할 수 있습니다.

$Error | Get-Error

Get-Error -Newest 3 # Displays the last three errors that occurred in the session

4 ](] Automatic) 새 버전 자동 알림

PowerShell 7 부터 시스템은 하루에 한 번 업데이트를 확인하고 사용 가능한 경우 새 버전에 대해 알립니다. 정보는 후속 세션이 시작될 때만 표시됩니다. PowerShell 업데이트(PowerShell Update) 에는 세 가지 플래그를 사용할 수 있습니다.

  • 기본(Default ) GA, 미리보기 및 RC 릴리스
  • 끄기(Off) Â 업데이트 알림 기능을 끕니다.
  • LTS 는 장기 서비스( LTS ) GA 릴리스 에 대한 업데이트만 알립니다.

PowerShell 7 에서 업데이트 알림을 끄려면 PowerShell 창 에서 이 명령을 실행하십시오 .

$Env:POWERSHELL_UPDATECHECK = 'Off'

5] PowerShell 7 에서 직접 (PowerShell 7)DSC(Invoke DSC) 리소스 호출

Invoke-DscResource cmdlet  은 지정된 PowerShell DSC ( Desired State Configuration(PowerShell Desired State Configuration) ) 리소스의 메서드를 실행합니다. 실험적인 기능입니다.

Using this cmdlet, configuration management products can manage Windows or Linux by using DSC resources. This cmdlet also enables debugging of resources when the DSC engine is running with debugging enabled.

6] 호환성 레이어

이를 통해 PowerShell 사용자는 암시적 (PowerShell)Windows PowerShell 세션 에서 모듈을 가져올 수 있습니다. 이를 사용하여 원격 컴퓨터에서 세션으로 실제 명령을 수행하고 결과를 로컬 세션으로 반환할 수 있습니다. 이제 모듈 가져오기를 지원하므로 원격 컴퓨터에서 이러한 모듈을 실행할 수 있습니다.

PowerShellLinux 및 macOS에서도 사용할 수 있는 오픈 소스 소프트웨어입니다. PowerShell 7 에서 많은 새로운 기능을 보게 되어 기쁩니다. 계속해서 성장하기를 바랍니다. 자세한 내용은 Microsoft에서(about it on Microsoft) 읽을 수 있습니다 .



About the author

저는 개인 정보 보호, 사용자 계정 및 가족 안전에 중점을 둔 컴퓨터 과학자입니다. 저는 지난 몇 년 동안 스마트폰 보안을 개선하기 위해 노력했으며 게임 회사와 협력한 경험이 있습니다. 또한 사용자 계정과 게임을 둘러싼 문제에 대해 여러 번 글을 썼습니다.



Related posts