PowerShell 7.6-preview.6에는 다음과 같은 기능, 업데이트 및 호환성을 깨는 변경 사항이 포함되어 있습니다. PowerShell 7.6은 .NET 10.0.0 GA 릴리스를 기반으로 합니다.
전체 변경 목록은 GitHub 리포지토리의 CHANGELOG 참조하세요.
업데이트된 모듈
PowerShell 7.6-preview.6에는 다음과 같은 업데이트된 모듈이 포함되어 있습니다.
- Microsoft.PowerShell.PSResourceGet v1.2.0-preview5
- PSReadLine v2.4.4-beta4
- Microsoft.PowerShell.ThreadJob v2.2.0
- ThreadJob v2.1.0
ThreadJob의 이름이 Microsoft.PowerShell.ThreadJob 모듈로 바뀌었습니다. 모듈의 기능에는 차이가 없습니다. 이전 이름을 사용하는 스크립트의 이전 버전과의 호환성을 보장하기 위해 ThreadJob v2.1.0 모듈은 Microsoft.PowerShell.ThreadJob v2.2.0 을 가리키는 프록시 모듈입니다.
파괴적 변경
-
WildcardPattern.Escape을 사용하여 홀로 있는 백틱을 올바르게 이스케이프하는 수정 (#25211) (감사합니다. @ArmaanMcleod!) - 매개 변수를
-ChildPathforstring[]cmdlet으로 변환Join-Path(#24677)(감사합니다.@ArmaanMcleod!) - 이벤트 원본 이름에서 후행 공간 제거(#24192)(감사합니다. @MartinGC94!)
탭 완성 기능 개선
- 별칭을 실제로 ResolvedCommand로 올바르게 확장하기 (#26571) (감사합니다 @kilasuit!))
- 매개 변수 완성 시 도구 설명에 매개 변수
HelpMessage사용(#25108)(감사합니다. @jborean93!) - 완료 결과에서 중복 모듈 제거(#25538) (감사합니다. @MartinGC94!)
-
ArrayLiteralAst및ParenExpressionAst에 할당된 변수의 완성 추가 (#25303) (감사합니다 @MartinGC94!)) - env/function 변수에 대한 탭 완성 수정(#25346)(감사합니다. @jborean93!)
- AssignmentStatements 및 증감 연산자를 출력의 일부로 고려하지 않도록 명명 및 문 블록 형식 추론을 업데이트합니다(#21137). 감사합니다.@MartinGC94!)
- (
-PropertyType)에 대한New-ItemProperty인수 완료자 추가(감사합니다).@ArmaanMcleod!) - (
-Noun)에 대한 매개 변수에 대한Get-Command완성 단일/큰따옴표 지원 추가(감사합니다)@ArmaanMcleod!) - (
-PSEdition)에 대한 매개 변수에 대한Get-Module완성 단일/큰따옴표 지원 추가(감사합니다)@ArmaanMcleod!) - AnalysisCache의 InvalidCommandNameCharacters 를
SearchValues<char>보다 효율적인 문자 검색(#24880)으로 변환(감사) @ArmaanMcleod!) - 완성 완료자에서 s_charactersRequiringQuotes를
SearchValues<char>으로 변환하여 더 효율적인 문자 검색을 지원합니다(#24879). 감사합니다@ArmaanMcleod!) - 보다 효율적인 문자 검색을 위해 잘못된 경로/파일 이름에서
IndexOfAny()호출을SearchValues<char>로 업데이트하십시오 ([#24896][24896]) (감사합니다 @ArmaanMcleod!)) -
char[]에 있는CompletionRequiresQuotes배열을 캐시된SearchValues<char>배열로 교체하기 (#24907) (감사합니다, @ArmaanMcleod!)) - 단일 도우미 메서드(
Verb)를 사용하여StrictModeVersion따옴표 처리Scope및PropertyType인수 완료자 추가(감사합니다) @ArmaanMcleod!) - 공급자 및 공백을 사용하여 공유 완료 수정(#19440) (감사합니다. @MartinGC94!)
- 변수 형식 유추 개선(#19830) (감사합니다. @MartinGC94!)
- 해시 테이블 키 완성을 위한 도구 설명 추가(#17864)(감사합니다. @MartinGC94!)
- 클래식 함수에서 매개 변수의 형식 유추 수정(#25172)(감사합니다. @MartinGC94!)
- 과제 유형 유추 개선(#21143) (감사합니다. @MartinGC94!)
- 변수를 유추할 때 동일한 내에서
CommandAst할당 제외(#25224)(감사합니다.@MartinGC94!) - 스크립트 요구 사항이 실패할 때 매개 변수 완성 수정(#17687) (감사합니다. @MartinGC94!)
- 특성 인수 완료 개선(#25129) (감사합니다. @MartinGC94!)
- 스크립트 블록에서 의사 결합을 사용하는 완료를 수정함(#25122) (감사합니다, @MartinGC94!)
- 중복 명령 이름을 완료하지 마세요(#21113)(감사합니다. @MartinGC94!)
- 명령 리디렉션에 의해 할당된 변수에 대한 완성 추가(#25104)(감사합니다. @MartinGC94!)
-
TypeName.GetReflectionType()가TypeName내의 제네릭 형식 정의를 나타내는GenericTypeName인스턴스일 때 작동하도록 수정 #24985 - 형식 유추(#21134)로 대체될 수 있도록 변수/속성 할당 완료를 업데이트합니다(감사합니다.) @MartinGC94!)
- 리디렉션된 명령에 대한 형식 유추 처리(#21131)(감사합니다. @MartinGC94!)
- 완료를 위해 올바른 로캘이 있는 파일을 찾는
Get-Help방법을 사용합니다about_*.help.txt(#24194)(감사합니다.@MartinGC94!) - Do 루프 내에 할당된 변수 완료 수정(#25076) (감사합니다. @MartinGC94!)
- 공급자 경로가 자식 경로 대신 자신을 반환할 때 경로 완료를 수정합니다(#24755). 감사합니다, @MartinGC94!).
- 범위를 지정하지 않고 범위가 지정된 변수 완료 사용(#20340)(감사) @MartinGC94!)
- 비 파일 시스템 공급자에서 와일드카드로 경로를 완료할 때 불완전한 결과와 관련된 문제 해결(#24757)(감사합니다. @MartinGC94!)
Cmdlet 개선 사항
- (
-Delimiter)에Get-Clipboard매개 변수 추가(감사)@MartinGC94!) - 사용되지 않는 BinaryFormatter 사용을 사용자 지정 구현(#25497)으로 대체하여 Out-GridView 수정(감사) @mawosoft!)
- 웹 cmdlet에서 자세한 정보 표시 및 디버그 로깅 수준 메시징 개선(#25510) (감사합니다. @JustinGrote!)
- 웹 cmdlet 요청 및 응답의 디버그 로깅 개선(#25479)(감사합니다. @JustinGrote!)
- 네이티브 명령에 대한 포괄적인 완성기를 등록할 수 있도록 매개 변수
Register-ArgumentCompleter -NativeFallback를 추가하세요(#25230). - (
-Target)에서New-Item리터럴로 처리(감사합니다).@GameMicrowave!) - Windows에서 패키지 관리자 실행 파일의 PATH 환경 변수 업데이트(#25847)
- 서비스에 대한 중요하지 않은 속성을 검색할 때 일반적인 오류를 무시하도록 업데이트
Get-Service(#24245)(감사합니다. @jborean93!) - 인수 완료자(
Join-String)에 대한 작은따옴표/큰따옴표 지원 추가(감사합니다.@ArmaanMcleod!) - (
IsScreenReaderActive())에서ConsoleHost확인 제거 -
$using표현 지원을Invoke-Command(#24025)에서 개선(감사합니다 ) - 기본 피드백 공급자 시간 제한을 300ms에서 1000ms로 변경(#25910)
- 형변환에서 천 단위 구분자
[bigint]지원 추가 (#25396) (감사합니다. @AbishekPonmudi!)) - 오버로드 추적에 대한 추적 추가
MethodInvocation(#21320)(감사합니다. @jborean93!) - 배열 리터럴 내의 주석을 무시하도록 수정
ConvertFrom-Json(#14553)(#26050)(감사합니다. @MatejKafka!) -
-Debug가ShouldProcess프롬프트를 트리거하지 않도록 수정합니다(#26081) -
Write-Host준수하도록OutputRendering = PlainText수정(#21188) - 매직 익스텐트(#25726)를 사용하여 디버그 추적 오류 수정(감사) @jborean93!)
- 경로에 큰따옴표 문자(#25631)가 포함된 경우 완료 시 따옴표 수정(감사) @MartinGC94!)
- 고급 함수에 대한 일반적인 매개 변수
-ProgressAction수정(#24591)(감사합니다. @cmkb3!) -
NullReferenceException여러 스레드에서 콘솔에 진행률 레코드를 쓸 때 수정(#25440)(감사합니다.@kborowinski!) - (
FileSystemProvider.CreateDirectory)에서 절대 경로 사용(감사)@Tadas!) - PowerShell 클래스 범위(#25245)에서 상속된 보호된 내부 인스턴스 멤버에 액세스할 수 있도록 설정(감사) @mawosoft!)
- 기본 설정을 확인하는 내부 메서드 추가(#25514)(감사합니다. @iSazonov!)
- (
-ExcludeModule)에Get-Command매개 변수 추가(감사)@MartinGC94!) - 대체 데이터 스트림을 나열할 때 올바른
Get-Item속성을 반환합니다(#18019)(감사합니다.@kilasuit!) - 캐스트 예외에 대한 비종료 오류가 보고되도록
Get-ItemProperty를 수정합니다 (#21115). 감사합니다 @ArmaanMcleod!). - q가 XmlNode 개체(#24669)를 처리하는 방법의 버그 수정(감사) @brendandburns!)
- 잘못된 디렉터리 이름(
New-Item -Force전달된 경우 오류 발생(감사)@kborowinski!) -
Start-Transcript을 통해$Transcript, 즉PSObject로 래핑된 문자열을 사용하여 대본 경로(#24963)를 지정할 수 있도록 허용합니다. (감사합니다 @kborowinski!)) - 폴링 효율성 향상
Start-Process -Wait(#24711) (감사합니다. @jborean93!) - 짧은 이름으로 모듈 완성 추가(#20330) (감사합니다. @MartinGC94!)
엔진 개선 사항
- Null 참조 예외를 발생시키는 API
CompletionCompleters.CompleteFilename()의 회귀 수정(#26487) - 자식 ssh 프로세스를 만든 후 파이프 클라이언트 핸들 닫기(#26564)
- PowerShell 7에서 PowerShellCore 공급자를 관리하도록 PSDiagnostics 모듈 업데이트(#25590)
- 환경 변수
POWERSHELL_DIAGNOSTICS_OPTOUT를 사용하여 명명된 파이프 수신기의 옵트아웃 허용(#26086) - 토큰 유효성 검사 중에만 소켓 시간 제한이 설정되었는지 확인합니다(#26066)
- 콘솔 호스트의
stderr출력이NO_COLOR을 준수하도록 수정 (#24391) - 최신 클라이언트와 서버 간의 세션 키 교환을 중단하도록 PSRP 프로토콜 업데이트(#25774)
- 기본 Runspace를
ssh사용할 수 없는 경우 PATH 체크 인SSHConnectionInfo수정(#25780) (감사합니다. @jborean93!) - 네이티브 명령 종료 코드에 대한 16진수 형식 추가(#21067)(감사합니다. @sba923!)
- 변수 형식 유추에서 무한 루프 충돌 수정(#25696)(감사합니다. @MartinGC94!)
- PowerShell 내장 메서드
PSForEach및PSWhere에 대한 별칭으로Where및Foreach추가 (#25511) (감사 @powercode!)) - 원격 분석 컬렉션 목록에 AIShell 모듈 추가(#24747)
- 열거형 이름을 배열로 가져오기 위해 도우미
EnumSingleTypeConverter추가(#17785)(감사합니다. @fflaten!) - 메서드를 사용하도록 X509Certificate2용 DnsNameList 업데이트(
X509SubjectAlternativeNameExtension.EnumerateDnsNames())(감사합니다.@ArmaanMcleod!) - 빈 예외 메시지를 빈 문자열로 변환한 ErrorRecord (#24949) (감사합니다 @MatejKafka!))
- 파이프라인이 중지될 때 신호를 받을
PipelineStopToken을Cmdlet에 추가합니다 (#24620) (감사합니다 @jborean93!)) -
WldpCanExecuteFile이후 AppLocker로 다시 설정(#24912) - 메서드 인수에 필요한 형식 변환이 수행된 후 .NET 메서드 호출 로깅으로 이동(#25022)
- 변수 형식 유추에서 무한 루프 수정(#25206) (감사합니다. @MartinGC94!)
- 이전 유사 항목 제안을 제거하고 로컬 스크립트 파일 이름 제안 수정(#25177)
- Unix 플랫폼에서 공용 API를 눈에 보이도록 하지만 실제로 작동하지 않게 처리하여
SystemPolicy포함PowerShellStandard.Library에 포함할 수 있도록 합니다(#25051). - 프로세스를
-NoNewWindow시작할 때 표준 핸들을 명시적으로 설정합니다(#25061). - 변수 확장을 위한 도구 설명 수정 및 desc 포함(#25112) (감사합니다. @jborean93!)
- 문 사용에 대한 상대 경로를 완료할 때 스크립트 파일 경로 사용(#20017) (감사합니다. @MartinGC94!)
- OS 아키텍처 변환 계층을 통한 DSC 구문 분석 허용(#24852) (감사합니다. @bdeb1337!)
실험적 기능
PowerShell 7.6-preview.6에는 실험적 기능에 대한 다음과 같은 변경 내용이 포함되어 있습니다.
다음 기능은 일반 기능으로 변환되었습니다.
이 릴리스에는 다음과 같은 실험적 기능이 포함되어 있습니다.
-
PSSerializeJSONLongEnumAsNumber -
ConvertTo-Json이제 큰 열거형을 숫자로 처리합니다. - PSProfileDSCResource - PowerShell 프로필에 대한 DSC v3 리소스 추가
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
PowerShell