PowerShell 7.6의 새로운 기능

PowerShell 7.6.2에는 다음과 같은 기능, 업데이트 및 호환성이 손상되는 변경 내용이 포함됩니다. PowerShell 7.6.2는 .NET 10.0.6 런타임을 기반으로 합니다.

변경 내용의 전체 목록은 GitHub 리포지토리의 CHANGELOG 참조하세요.

설치 프로그램 업데이트

이제 macOS PKG 패키지는 Microsoft에서 서명되고 공증되었습니다. 자세한 내용은 macOS에 PowerShell 7 설치를 참조하세요.

업데이트된 모듈

PowerShell 7.6.2에는 다음과 같은 업데이트된 모듈이 포함되어 있습니다.

  • Microsoft. PowerShell.PSResourceGet v1.2.0
  • PSReadLine v2.4.5
  • Microsoft. PowerShell.ThreadJob v2.2.0

파괴적 변경

  • Microsoft. PowerShell.ThreadJobThreadJob 모듈을 대체합니다. cmdlet은 Start-ThreadJob 변경되지 않았으므로 모듈 정규화된 이름을 사용하는 스크립트가 없으면 영향을 주지 않습니다. 모듈의 정규화된 이름을 사용하는 경우, 이름을 Microsoft.PowerShell.ThreadJob\Start-ThreadJob로 업데이트하십시오.
  • WildcardPattern.Escape을 사용하여 홀로 있는 백틱을 올바르게 이스케이프하는 수정 (#25211) (감사합니다. @ArmaanMcleod!)
  • 매개 변수를 -ChildPath for string[] cmdlet으로 변환Join-Path(#24677)(감사합니다.@ArmaanMcleod!)
  • 이벤트 원본 이름에서 후행 공간 제거(#24192)(감사합니다. @MartinGC94!)

탭 완성 기능 개선

  • 별칭을 실제로 ResolvedCommand로 올바르게 확장하기 (#26571) (감사합니다 @kilasuit!))
  • 매개 변수 완성 시 도구 설명에 매개 변수 HelpMessage 사용(#25108)(감사합니다. @jborean93!)
  • 완료 결과에서 중복 모듈 제거(#25538) (감사합니다. @MartinGC94!)
  • ArrayLiteralAstParenExpressionAst에 할당된 변수의 완성 추가 (#25303) (감사합니다 @MartinGC94!))
  • env/function 변수에 대한 탭 완성 수정(#25346)(감사합니다. @jborean93!)
  • AssignmentStatements 및 증감 연산자를 출력의 일부로 고려하지 않도록 명명 및 문 블록 형식 추론을 업데이트합니다(#21137). 감사합니다.@MartinGC94!)
  • (-PropertyType)에 대한 New-ItemProperty 인수 완료자 추가(감사합니다).@ArmaanMcleod!)
  • (-Noun)에 대한 매개 변수에 대한 Get-Command 완성 단일/큰따옴표 지원 추가(감사합니다)@ArmaanMcleod!)
  • (-PSEdition)에 대한 매개 변수에 대한 Get-Module 완성 단일/큰따옴표 지원 추가(감사합니다)@ArmaanMcleod!)
  • AnalysisCache의 InvalidCommandNameCharactersSearchValues<char> 보다 효율적인 문자 검색(#24880)으로 변환(감사) @ArmaanMcleod!)
  • 완성 완료자에서 s_charactersRequiringQuotesSearchValues<char>으로 변환하여 더 효율적인 문자 검색을 지원합니다(#24879). 감사합니다@ArmaanMcleod!)
  • 보다 효율적인 문자 검색을 위해 잘못된 경로/파일 이름에서 IndexOfAny() 호출을 SearchValues<char>로 업데이트하십시오 ([#24896][24896]) (감사합니다 @ArmaanMcleod!))
  • char[]에 있는 CompletionRequiresQuotes 배열을 캐시된 SearchValues<char> 배열로 교체하기 (#24907) (감사합니다, @ArmaanMcleod!))
  • 단일 도우미 메서드(Verb)를 사용하여 StrictModeVersion 따옴표 처리 ScopePropertyType 인수 완료자 추가(감사합니다) @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 개선 사항

  • MaxVisitCountMaxHashtableKeyCount가 true임을 나타내는 경우 VisitorSafeValueContext에 대해 SkipLimitCheckImport-PowerShellDataFile를 업데이트하십시오.
  • (#19896)에 Import-LocalizedData암시적 지역화 대체 추가(감사)@chrisdent-de!)
  • (-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!)
  • -DebugShouldProcess 프롬프트를 트리거하지 않도록 수정합니다(#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!)

엔진 개선 사항

  • 로컬 사용자 구성 파일 경로에 대한 검사 수정(#27432)
  • Windows 진단 및 피드백 설정을 준수하도록 PowerShell 원격 분석 업데이트(#27438)
  • AppContainers에서 사용 설정(#27423)
  • 모든 패키지를 사용할 수 있도록 1주일 동안 업데이트 알림 지연(#27220)
  • 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 내장 메서드 PSForEachPSWhere에 대한 별칭으로 WhereForeach 추가 (#25511) (감사 @powercode!))
  • 원격 분석 컬렉션 목록에 AIShell 모듈 추가(#24747)
  • 열거형 이름을 배열로 가져오기 위해 도우미 EnumSingleTypeConverter 추가(#17785)(감사합니다. @fflaten!)
  • 메서드를 사용하도록 X509Certificate2DnsNameList 업데이트(X509SubjectAlternativeNameExtension.EnumerateDnsNames())(감사합니다.@ArmaanMcleod!)
  • 빈 예외 메시지를 빈 문자열로 변환한 ErrorRecord (#24949) (감사합니다 @MatejKafka!))
  • 파이프라인이 중지될 때 신호를 받을 PipelineStopTokenCmdlet에 추가합니다 (#24620) (감사합니다 @jborean93!))
  • WldpCanExecuteFile 이후 AppLocker로 다시 설정(#24912)
  • 메서드 인수(#25022)에 대해 필요한 형식 변환이 수행된 후 .NET 메서드 호출 로깅을 이동
  • 변수 형식 유추에서 무한 루프 수정(#25206) (감사합니다. @MartinGC94!)
  • 이전 유사 항목 제안을 제거하고 로컬 스크립트 파일 이름 제안 수정(#25177)
  • Unix 플랫폼에서 공용 API를 눈에 보이도록 하지만 실제로 작동하지 않게 처리하여 SystemPolicy 포함 PowerShellStandard.Library에 포함할 수 있도록 합니다(#25051).
  • 프로세스를 -NoNewWindow 시작할 때 표준 핸들을 명시적으로 설정합니다(#25061).
  • 변수 확장을 위한 도구 설명 수정 및 desc 포함(#25112) (감사합니다. @jborean93!)
  • 문 사용에 대한 상대 경로를 완료할 때 스크립트 파일 경로 사용(#20017) (감사합니다. @MartinGC94!)
  • OS 아키텍처 변환 계층을 통한 DSC 구문 분석 허용(#24852) (감사합니다. @bdeb1337!)

실험적 기능

PowerShell 7.6에는 실험적 기능에 대한 다음과 같은 변경 내용이 포함되어 있습니다.

다음 기능은 일반 기능으로 변환되었습니다.

이 릴리스에는 다음과 같은 실험적 기능이 포함되어 있습니다.