PowerShell 7.2의 새로운 기능
PowerShell 7.2는 .NET 6.0을 기반으로 하는 다음 LTS(장기 서비스) 릴리스입니다.
PowerShell 7.2에는 다음과 같은 기능, 업데이트 및 호환성이 손상되는 변경 내용이 포함되어 있습니다.
- 지원되는 대부분의 Linux 배포판에 대한 새로운 유니버설 설치 관리자 패키지
- Windows에서 Microsoft 업데이트 지원
- 2개의 새로운 실험적 기능
- 네이티브 명령 인수 전달 지원 향상
- ANSI FileInfo 색 지원
- 탭 기능 개선
- 예측 IntelliSense를 사용하는 PSReadLine 2.1
- 7개의 실험적 기능이 주류로 승격되고 1개 제거됨
- 향후 개선이 가능하도록 PowerShell 7에서 DSC 분리
- 유용성을 개선하기 위한 몇 가지 주요 변경 사항
전체 변경 목록은 GitHub 리포지토리의 변경 로그 참조하세요.
설치 업데이트
원하는 운영 체제에 대한 설치 지침을 확인합니다.
또한 PowerShell 7.2는 ARM64 버전의 Windows 및 macOS, ARM32 및 ARM64 버전의 Debian 및 Ubuntu를 지원합니다.
지원되는 운영 체제 및 지원 수명 주기에 대한 up-to날짜 정보는 PowerShell 지원 수명 주기참조하세요.
Linux 배포판용 새 유니버설 설치 패키지
이전에는 지원되는 각 버전의 CentOS, RHEL, Debian 및 Ubuntu에 대해 별도의 설치 관리자 패키지를 만들었습니다. 유니버설 설치 관리자 패키지는 8개의 서로 다른 패키지를 하나로 결합하여 Linux에 더 간단하게 설치할 수 있습니다. 유니버설 패키지는 대상 배포에 필요한 종속성을 설치하고 PowerShell이 작동하도록 플랫폼별 변경 내용을 만듭니다.
Windows용 Microsoft 업데이트 지원
PowerShell 7.2는 Microsoft 업데이트에 대한 지원을 추가합니다. 이 기능을 사용하도록 설정하면 비즈니스용 Windows 업데이트, WSUS, SCCM 또는 설정의 대화형 WU 대화 상자와 관계없이 기존 WU(Windows 업데이트) 관리 흐름에서 최신 PowerShell 7 업데이트를 받게 됩니다.
PowerShell 7.2 MSI 패키지에는 다음 명령줄 옵션이 포함되어 있습니다.
-
USE_MU
- 이 속성에는 다음 두 가지 가능한 값이 있습니다.-
1
(기본값) - Microsoft 업데이트 또는 WSUS를 통해 업데이트를 설정합니다. -
0
- Microsoft 업데이트 또는 WSUS를 통해 업데이트를 옵트인하지 마세요.
-
ENABLE_MU
-
1
(기본값) - Microsoft 업데이트 자동 업데이트 또는 Windows 업데이트 사용 옵트인 -
0
- Microsoft 업데이트 자동 업데이트 또는 Windows 업데이트 사용을 옵트인하지 마세요.
-
실험적 기능
다음 실험적 기능은 이제 이 릴리스의 주요 기능입니다.
-
Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck
- Import-PowerShellDataFile 참고하기 Microsoft.PowerShell.Utility.PSManageBreakpointsInRunspace
-
PSAnsiRendering
- about_ANSI_Terminals 참조 -
PSAnsiProgress
- about_ANSI_Terminals 참고하세요 PSCultureInvariantReplaceOperator
PSNotApplyErrorActionToStderr
PSUnixFileStat
이 릴리스에서는 다음과 같은 실험적 기능이 추가되었습니다.
PSNativeCommandArgumentPassing - 이 실험적 기능을 사용하도록 설정된 경우 PowerShell은 네이티브 실행 파일을 호출할 때 문자열을 재구성하는 현재 메커니즘 대신 StartProcessInfo 개체의 ArgumentList 속성을 사용합니다. 이 기능은 런타임에 동작을 선택할 수 있는 새 자동 변수
$PSNativeCommandArgumentPassing
추가합니다.PSAnsiRenderingFileInfo
- 파일 정보의 ANSI 색 사용자 지정을 허용합니다. PSLoadAssemblyFromNativeCode - 네이티브 코드에서 어셈블리 로드를 허용하는 API를 노출합니다.
실험적 기능에 대한 자세한 내용은 실험적 기능 사용을 참조하세요.
향상된 탭 완성
PowerShell 7.2에는 탭 완성에 대한 몇 가지 개선 사항이 포함되어 있습니다. 이러한 변경 내용에는 버그 수정 및 유용성 향상이 포함됩니다.
- 현지화되지 않은 about* 토픽의 탭 완성 수정 (#15265) (감사합니다 @MartinGC94)
- 자동완성에서 위치 매개 변수로 처리되는 스플래팅 수정 (#14623) (감사합니다 @MartinGC94))
- 주석 기반 도움말 키워드에 대한 완성을 추가 (#15337) (감사합니다 @MartinGC94))
- Requires 문 완료 추가 (#14596) (감사합니다 @MartinGC94))
- Format-* cmdlet의 View 매개 변수에 대한 탭 완성 추가 (#14513) (감사합니다 @iSazonov))
PSReadLine 2.1 예측 IntelliSense
PSReadLine 2.1에는 명령줄 완성에 대한 예측을 제공하기 위한 프레임워크를 설정하는 CommandPrediction
API가 도입되었습니다. API를 사용하면 사용자가 사용자의 기록에서 일치하는 예측을 기반으로 전체 명령을 검색, 편집 및 실행할 수 있습니다.
예측 IntelliSense는 기본적으로 사용하지 않도록 설정됩니다. 예측을 사용하도록 설정하려면 다음 명령을 실행합니다.
Set-PSReadLineOption -PredictionSource History
향후 개선이 가능하도록 PowerShell 7에서 DSC 분리
PSDesiredStateConfiguration 모듈이 PowerShell 7.2 패키지에서 제거되었으며 이제 PowerShell 갤러리에 게시되었습니다. 이렇게 하면 PSDesiredStateConfiguration 모듈을 PowerShell과 독립적으로 개발할 수 있으며 사용자는 해당 환경에 대해 PowerShell 및 PSDesiredStateConfiguration 버전을 혼합하고 일치시킬 수 있습니다. PowerShell 갤러리에서 PSDesiredStateConfiguration 2.0.5를 설치하려면 다음을 수행합니다.
Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery -MaximumVersion 2.99
중요하다
MaximumVersion 매개 변수를 포함하거나 상당한 차이가 포함된 PSDesireStateConfiguration 버전 3 이상을 설치할 수 있습니다.
엔진 업데이트
- awakecoding에 의한 네이티브 PowerShell 호스트에서 메모리의 어셈블리를 로드하기 위한
LoadAssemblyFromNativeMemory
함수 추가 - 풀 리퀘스트 #14652
호환성이 손상되는 변경 및 개선 사항
- PSDesiredStateConfiguration이 PowerShell 7.2 패키지에서 제거되었습니다.
- PowerShell Linux deb 및 RPM 패키지를 범용으로 만들기(#15109)
- 실험적 기능
PSNativeCommandArgumentPassing
: 네이티브 실행 파일 호출에 ArgumentList 사용(#14692) - 스크립트 cmdlet의 모든 출력에 대해
-PipelineVariable
설정되었는지 확인(#12766) -
ConvertTo-Json
-Depth 값을 초과하는 경우 경고 내보내기(#13692) - -Directory 스위치 CL-General의 별칭 D를 제거 #15171
- 변경 가능한 값 형식 검색 개선(#12495)
- 잠금 상태에서 NoLanguage 모드에서
New-Object
제한(#14140) - 실행 정책 바이패스 구성 전에 AppLocker 거부 구성 적용(#15035)
-
FileSystemInfo.Target
을(를) CodeProperty에서FileSystemInfo.LinkTarget
를(을) 가리키는 AliasProperty로 변경 (#16165)
PowerShell