Windows PowerShell 5.0의 새로운 기능What's New in Windows PowerShell 5.0

Windows PowerShell 5.0에는 용도를 확장하고, 사용 편의성을 높이며, Windows 기반 환경을 더욱 쉽고 종합적으로 제어하고 관리하는 데 사용할 수 있는 중요한 새 기능이 포함되어 있습니다.Windows PowerShell 5.0 includes significant new features that extend its use, improve its usability, and allow you to control and manage Windows-based environments more easily and comprehensively.

Windows PowerShell 5.0은 이전 버전과 호환됩니다.Windows PowerShell 5.0 is backward-compatible. Windows PowerShell 4.0, Windows PowerShell 3.0 및 Windows PowerShell 2.0용으로 설계된 cmdlet, 공급자, 모듈, 스냅인, 함수 및 프로필은 일반적으로 Windows PowerShell 5.0에서 변경 없이 사용할 수 있습니다.Cmdlets, providers, modules, snap-ins, scripts, functions, and profiles that were designed for Windows PowerShell 4.0, Windows PowerShell 3.0, and Windows PowerShell 2.0 generally work in Windows PowerShell 5.0 without changes.

Windows PowerShell 설치Installing Windows PowerShell

Windows Server 2016 Technical Preview 및 Windows 10에서는 Windows PowerShell 5.0이 기본적으로 설치됩니다.Windows PowerShell 5.0 is installed by default on Windows Server 2016 Technical Preview and Windows 10 .

Windows Server 2012 R2, Windows 8.1 Enterprise 또는 Windows 8.1 Pro에서 Windows PowerShell 5.0을 설치하려면 Windows Management Framework 5.0 Preview를 다운로드하여 설치합니다.To install Windows PowerShell 5.0 on Windows Server 2012 R2, Windows 8.1 Enterprise, or Windows 8.1 Pro, download and install Windows Management Framework 5.0. Windows Management Framework 5.0을 설치하기 전에 다운로드 정보를 확인하고 모든 시스템 요구 사항을 충족해야 합니다.Be sure to read the download details, and meet all system requirements, before you install Windows Management Framework 5.0.

이 항목의 내용In this topic

2014년 11월 업데이트 롤업의 Windows PowerShell 4.0 업데이트(KB 3000850)Windows PowerShell 4.0 updates in November 2014 update rollup (KB 3000850)

Windows RT 8.1, Windows 8.1 및 Windows Server 2012 R2용 2014년 11월 업데이트 롤업(KB 3000850)에서는 Windows PowerShell 4.0의 다양한 Windows PowerShell DSC(필요한 상태 구성) 업데이트 및 향상 기능을 사용할 수 있습니다.Many updates and improvements to Windows PowerShell Desired State Configuration (DSC) in Windows PowerShell 4.0 are available in the November 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 (KB 3000850). Windows PowerShell에서 Get-Hotfix -Id KB3000850을 실행하여 KB 3000850이 시스템에 설치되어 있는지 확인할 수 있습니다.You can determine if KB 3000850 is installed on your system by running Get-Hotfix -Id KB3000850 in Windows PowerShell.

  • PSDesiredStateConfiguration 모듈의 기존 cmdlet에 대한 업데이트Updates to existing cmdlets in the PSDesiredStateConfiguration module

  • PSDesiredStateConfiguration 모듈의 새 cmdletNew cmdlets in the PSDesiredStateConfiguration module

  • 향상된 언어Language enhancements

    • 이제 DependsOn이 복합 리소스를 지원합니다.DependsOn now supports composite resources.

    • 이제 DependsOn이 리소스 인스턴스 이름에서 숫자를 지원합니다.DependsOn now supports numbers in resource instance names.

    • 비어 있는 것으로 평가된 노드 식에서 더 이상 오류가 발생하지 않습니다.Node expressions that evaluate to empty no longer throw errors.

    • 노드 식이 비어 있는 것으로 평가될 경우 발생하는 오류가 해결되었습니다.An error that occurs if a node expression evaluates to empty has been fixed.

    • 이제 구성을 호출하는 구성이 Windows PowerShell 콘솔에서 작동합니다.Configurations calling configurations now work in the Windows PowerShell console.

  • 향상된 끌어오기 모드Pull mode enhancements

    • 이제 끌어오기 모드에서 모든 ZIP 파일을 지원합니다.Pull mode now supports all ZIP files.

    • 이제 AllowModuleOverwrite가 올바르게 작동합니다.AllowModuleOverwrite now works correctly.

  • 향상된 복원력Resiliency improvements

    • DebugMode를 사용하면 리소스 모듈을 다시 로드할 수 있습니다.New DebugMode lets you reload resource modules.

    • 구성 오류가 발생할 경우 pending.mof 파일이 삭제되지 않습니다.If a configuration failure occurs, the pending.mof file is not deleted.

    • 이제 메타 구성 설정이 손상되었을 때 LCM(로컬 구성 관리자)의 복원력이 향상되었습니다.The Local Configuration Manager (LCM) is now more resilient when metaconfiguration settings have become corrupted.

  • 향상된 진단Diagnostic improvements

    • LCM이 타이머를 사용자가 지정한 설정이 아닌 다른 설정으로 지정하면 경고가 표시됩니다.A warning is displayed when the LCM sets the timer to different settings than you have specified.

    • 이제 오류 로그 파일에 Windows PowerShell 리소스에 대한 호출 스택이 포함됩니다.Error log files now contain the call stack for Windows PowerShell resources.

  • 향상된 유연성Flexibility improvements

    • LocalConfigurationManager 리소스에 ActionAfterReboot라는 새 속성이 있습니다.The LocalConfigurationManager resource has a new property, ActionAfterReboot.

      • ContinueConfiguration(기본값): 대상 노드가 다시 시작된 후 자동으로 구성을 다시 시작합니다.ContinueConfiguration (default value): Automatically resumes a configuration after a target node restarts.

      • StopConfiguration: 노드가 다시 시작된 후 자동으로 구성을 다시 시작하지 않습니다.StopConfiguration: Do not automatically resume a configuration after a node restarts.

    • 이제 일관성 실행이 PULL 작업보다 더 자주 발생하거나 그 반대의 경우가 발생할 수 있습니다.A consistency run can now occur more often than a PULL operation, or vice-versa.

    • 버전 관리 지원: 이제 DSC가 최신 클라이언트에서 생성된 문서를 인식합니다(WMF 5.0에 포함).Versioning support: DSC can now recognize a document that was generated on a newer client (included with WMF 5.0).

  • 향상된 오류 방지Error prevention improvements

    • 이제 구성을 적용하기 전에 모듈 버전이 적용됩니다.Module version is now enforced before a configuration is applied.

    • 이제 Get-, Set- 또는 Test-TargetResource 호출에 대해 DebugPreference가 올바르게 설정됩니다.DebugPreference is now set correctly for Get-, Set-, or Test-TargetResource calls.

  • 향상된 자격 증명 처리Credential handling improvements

    • 이제 CertificatePSDscAllowPlainTextPassword를 둘 다 지정할 경우 인증서가 사용됩니다.A certificate is now used, if both Certificate and PSDscAllowPlainTextPassword are specified.

    • Get-TargetResource에 대해서도 자격 증명의 암호가 해독됩니다.Credentials are decrypted, even for Get-TargetResource.

    • 메타 구성 자격 증명이 암호화 및 암호 해독됩니다.Metaconfiguration credentials are encrypted and decrypted.

    • 이제 PSCredentials가 포함된 개체에 있을 때 암호가 해독됩니다.PSCredentials are now decrypted when they are in an embedded object.

  • 향상된 기본 제공 리소스Built-in resource improvements

    • 패키지 리소스The Package resource

      • 더 이상 잘못된 패키지를 설치하지 않습니다(로컬 또는 웹 소스).No longer installs the wrong package (either from local or web sources).

      • 이제 HTTPS를 지원합니다.Now supports HTTPS.

    • 이제 패키지 리소스에 HTTPS 지원이 있습니다.There is now support for HTTPS in the Package resource.

    • 이제 보관 리소스에서 자격 증명을 지원합니다.Archive resource now supports credentials.

Windows PowerShell 5.0의 새로운 기능New features in Windows PowerShell 5.0

Windows PowerShell의 새로운 기능New features in Windows PowerShell

  • Windows PowerShell 5.0 이상에서는 다른 개체 지향 프로그래밍 언어와 유사한 형식 구문 및 의미 체계를 사용하여 클래스를 통해 개발할 수 있습니다.Starting in Windows PowerShell 5.0, you can develop by using classes, by using formal syntax and semantics that are similar to other object-oriented programming languages. Class, Enum 및 기타 키워드가 새로운 기능을 지원하기 위해 Windows PowerShell 언어에 추가되었습니다.Class, Enum, and other keywords have been added to the Windows PowerShell language to support the new feature. 클래스 작업에 대한 자세한 내용은 about_Classes를 참조하세요.For more information about working with classes, see about_Classes.

  • Windows PowerShell 5.0에서는 스크립트와 해당 호출자(또는 호스팅 환경) 간에 구조화된 데이터를 전송하는 데 사용할 수 있는 새 구조화된 정보 스트림이 도입되었습니다.Windows PowerShell 5.0 introduces a new, structured information stream that you can use to transmit structured data between a script and its callers (or hosting environment). 이제 Write-Host를 사용하여 출력을 정보 스트림으로 내보낼 수 있습니다.You can now use Write-Host to emit output to the information stream. 정보 스트림은 PowerShell.Streams, 작업, 예약된 작업 및 워크플로에 대해서도 작동합니다.Information streams also work for PowerShell.Streams, jobs, scheduled jobs, and workflows. 정보 스트림을 지원하는 기능은 다음과 같습니다.The following features support the information stream.

    • Windows PowerShell에서 명령에 대한 정보 스트림 데이터를 처리하는 방법을 지정할 수 있는 새 Write-Information cmdlet.A new Write-Information cmdlet that lets you specify how Windows PowerShell handles information stream data for a command. Write-Host는 Write-Information의 래퍼입니다.Write-Host is a wrapper for Write-Information. 또한 Write-Information은 지원되는 워크플로 활동입니다.Write-Information is also a supported workflow activity.

    • 두 개의 새 일반 매개 변수인 InformationVariable 및 InformationAction을 통해 명령의 정보 스트림을 표시하는 방법을 결정할 수 있습니다.Two new common parameters, InformationVariable and InformationAction, let you determine how information streams from a command are displayed. InformationAction에 유효한 값은 SilentlyContinue, Stop, Continue, Inquire, Ignore 또는 Suspend이고, 기본값은 SilentlyContinue입니다.Valid values for InformationAction are SilentlyContinue, Stop, Continue, Inquire, Ignore, or Suspend, with SilentlyContinue being the default. InformationVariable은 명령의 Write-Host 데이터를 저장하려는 변수의 이름으로 문자열을 지정합니다.InformationVariable specifies a string as the name of a variable to which you want the Write-Host data from a command saved.

    • 새 기본 설정 변수인 InformationPreference는 Windows PowerShell 세션의 정보 스트림 데이터에 대한 기본 설정을 지정합니다.A new preference variable, InformationPreference, specifies your default preference for information stream data in a Windows PowerShell session. 기본값은 SilentlyContinue입니다.The default value is SilentlyContinue.

    • 두 개의 새 워크플로 일반 매개 변수인 PSInformation 및 InformationAction이 추가되었습니다.Two new workflow common parameters, PSInformation and InformationAction, have been added.

    • Format-Table 명령을 사용하는 경우 이제 스트림을 통해 전달되는 처음 300ms의 데이터를 평가하여 테이블 열의 형식이 자동으로 지정됩니다.When you use the Format-Table command, table columns are now automatically formatted by evaluating the first 300ms of data that passes through the stream.

  • Microsoft Research와 공동 작업으로 새 ConvertFrom-String cmdlet이 추가되었습니다.In collaboration with Microsoft Research, a new cmdlet, ConvertFrom-String, has been added. ConvertFrom-String을 사용하면 텍스트 문자열 콘텐츠에서 구조화된 개체를 추출하고 구문 분석할 수 있습니다.ConvertFrom-String lets you extract and parse structured objects from the content of text strings. 자세한 내용은 ConvertFrom-String을 참조하세요.For more information, see ConvertFrom-String.

  • 새 Convert-String cmdlet은 -Example 매개 변수에 제공하는 예제에 따라 테스트 형식을 자동으로 지정합니다.A new Convert-String cmdlet automatically formats text based on an example that you provide in an -Example parameter.

  • 새 Microsoft.PowerShell.Archive 모듈에 포함된 cmdlet을 사용하면 파일 및 폴더를 보관(ZIP이라고도 함) 파일에 압축하고, 기존 ZIP 파일에서 파일을 추출하고, ZIP 파일을 내부에 압축된 파일의 최신 버전으로 업데이트할 수 있습니다.A new module, Microsoft.PowerShell.Archive, includes cmdlets that let you compress files and folders into archive (also known as ZIP) files, extract files from existing ZIP files, and update ZIP files with newer versions of files compressed within them.

  • 새 PackageManagement 모듈을 사용하면 인터넷에서 소프트웨어 패키지를 검색하고 설치할 수 있습니다.A new module, PackageManagement, lets you discover and install software packages on the Internet. PackageManagement(이전의 OneGet) 모듈은 Windows 패키지 관리를 단일 Windows PowerShell 인터페이스와 통합하는 기존 패키지 관리자(패키지 공급자라고도 함)의 관리자 또는 멀티플렉서입니다.The PackageManagement (formerly known as OneGet) module is a manager or multiplexer of existing package managers (also called package providers) to unify Windows package management with a single Windows PowerShell interface.

  • 새 PowerShellGet 모듈을 사용하면 PowerShell 갤러리 또는 내부 모듈 리포지토리에서 Register-PSRepository cmdlet을 실행하여 설정할 수 있는 모듈과 DSC 리소스를 찾고 설치, 게시 및 업데이트할 수 있습니다.A new module, PowerShellGet, lets you find, install, publish, and update modules and DSC resources on the PowerShell Gallery, or on an internal module repository that you can set up by running the Register-PSRepository cmdlet.

  • -Force 매개 변수를 추가하지 않을 경우 기본적으로 Get-Member 결과에 멤버(속성 또는 메서드)가 표시되지 않도록 지정하기 위해 새 언어 키워드인 Hidden이 추가되었습니다.A new language keyword, Hidden, has been added to specify that a member (a property or a method) is not shown by default in Get-Member results (unless you add the -Force parameter). 멤버가 표시되어야 하는 컨텍스트가 아닐 경우 숨김으로 표시된 속성이나 메서드는 IntelliSense 결과에도 표시되지 않습니다. 예를 들어 자동 변수 $This는 클래스 메서드에 있을 경우 숨겨진 멤버를 표시해야 합니다.Properties or methods that have been marked hidden also do not show up in IntelliSense results, unless you are in a context where the member should be visible; for example, the automatic variable $This should show hidden members when in the class method.

  • New-Item, Remove-Item 및 Get-ChildItem이 바로 가기 링크 만들기 및 관리를 지원하도록 향상되었습니다.New-Item, Remove-Item, and Get-ChildItem have been enhanced to support creating and managing symbolic links. New-Item의 ItemType 매개 변수가 새 값인 SymbolicLink를 허용합니다.The -ItemType parameter for New-Item accepts a new value, SymbolicLink. 이제 New-Item cmdlet을 실행하여 한 줄에 바로 가기 링크를 만들 수 있습니다.Now you can create symbolic links in a single line by running the New-Item cmdlet.

  • Get-ChildItem에 있는 새 –Depth 매개 변수를 –Recurse 매개 변수와 함께 사용하면 재귀를 제한할 수 있습니다.Get-ChildItem also has a new -Depth parameter, which you use with the -Recurse parameter to limit the recursion. 예를 들어 Get-ChildItem –Recurse –Depth 2는 현재 폴더, 현재 폴더 내의 모든 자식 폴더 및 자식 폴더 내의 모든 폴더에서 결과를 반환합니다.For example, Get-ChildItem -Recurse -Depth 2 returns results from the current folder, all of the child folders within the current folder, and all of the folders within the child folders.

  • 이제 Copy-Item을 사용하여 Windows PowerShell 세션 간에 파일이나 폴더를 복사할 수 있으므로 원격 컴퓨터(Nano Server를 실행하며 다른 인터페이스가 없는 컴퓨터 포함)에 연결된 세션에 파일을 복사할 수 있습니다.Copy-Item now lets you copy files or folders from one Windows PowerShell session to another, meaning that you can copy files to sessions that are connected to remote computers, (including computers that are running Nano Server, and thus have no other interface). 파일을 복사하려면 PSSession ID를 새 -FromSession 및 -ToSession 매개 변수의 값으로 지정하고 –Path 및 –Destination을 추가하여 각각 원래 경로와 대상을 지정합니다.To copy files, specify PSSession IDs as the value of the new -FromSession and -ToSession parameters, and add -Path and -Destination to specify origin path and destination, respectively. 예를 들면 Copy-Item -Path c:\myFile.txt -ToSession $s -Destination d:\destinationFolder와 같습니다.For example, Copy-Item -Path c:\myFile.txt -ToSession $s -Destination d:\destinationFolder.

  • Windows PowerShell 기록이 콘솔 호스트(powershell.exe)뿐 아니라 모든 호스팅 응용 프로그램(예: Windows PowerShell ISE)에 적용되도록 향상되었습니다.Windows PowerShell transcription has been improved to apply to all hosting applications (such as Windows PowerShell ISE) in addition to the console host (powershell.exe). 시스템 차원의 기록 사용을 포함한 기록 옵션은 관리 템플릿\Windows 구성 요소\Windows PowerShell에 있는 PowerShell 기록 켜기 그룹 정책 설정을 사용하도록 설정하여 구성할 수 있습니다.Transcription options (including enabling a system-wide transcript) can be configured by enabling the Turn on PowerShell Transcription Group Policy setting, found in Administrative Templates/Windows Components/Windows PowerShell.

  • 새로운 세부 스크립트 추적 기능을 사용하면 시스템에서 Windows PowerShell 스크립트 사용을 자세히 추적하고 분석할 수 있습니다.A new detailed script tracing feature lets you enable detailed tracking and analysis of Windows PowerShell scripting use on a system. 세부 스크립트 추적을 사용하도록 설정하면 Windows PowerShell에서 모든 스크립트 블록을 ETW(Windows용 이벤트 추적) 이벤트 로그 Microsoft-Windows-PowerShell/Operational에 로깅합니다.After you enable detailed script tracing, Windows PowerShell logs all script blocks to the Event Tracing for Windows (ETW) event log, Microsoft-Windows-PowerShell/Operational.

  • Windows PowerShell 5.0 이상에서는 새 암호화 메시지 구문 cmdlet이 RFC5652 문서에 기록된 대로 메시지를 암호로 보호하기 위해 IETF 표준 형식을 사용하는 콘텐츠의 암호화 및 암호 해독을 지원합니다.Starting in Windows PowerShell 5.0, new Cryptographic Message Syntax cmdlets support encryption and decryption of content by using the IETF standard format for cryptographically protecting messages as documented by RFC5652. Get-CmsMessage, Protect-CmsMessage 및 Unprotect-CmsMessage cmdlet이 Microsoft.PowerShell.Security 모듈에 추가되었습니다.The Get-CmsMessage, Protect-CmsMessage, and Unprotect-CmsMessage cmdlets have been added to the Microsoft.PowerShell.Security module.

  • Microsoft.PowerShell.Utility 모듈의 새 cmdlet인 Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug 및 Disable-RunspaceDebug를 사용하면 Runspace에 디버그 옵션을 설정하고 Runspace에서 디버깅을 시작 및 중지할 수 있습니다.New cmdlets in the Microsoft.PowerShell.Utility module, Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug, and Disable-RunspaceDebug, let you set debug options on a runspace, and start and stop debugging on a runspace. 임의의 Runspace, 즉 Windows PowerShell 콘솔 또는 Windows PowerShell ISE 세션의 기본 Runspace가 아닌 Runspace의 디버그를 위해 Windows PowerShell에서는 스크립트에 중단점을 설정하고 디버거를 연결하여 Runspace 스크립트를 디버그할 수 있을 때까지 추가된 중단점이 스크립트 실행을 중지하도록 할 수 있습니다.For debugging arbitrary runspaces'”that is, runspaces that are not the default runspace for a Windows PowerShell console or Windows PowerShell ISE session'”Windows PowerShell lets you set breakpoints in a script, and have added breakpoints stop the script from running until you can attach a debugger to debug the runspace script. 임의의 Runspace에 대한 중첩된 디버깅 지원이 Runspace에 대한 Windows PowerShell 스크립트 디버거에 추가되었습니다.Nested debugging support for arbitrary runspaces has been added to the Windows PowerShell script debugger for runspaces.

  • 새 Format-Hex cmdlet이 Microsoft.PowerShell.Utility 모듈에 추가되었습니다.A new Format-Hex cmdlet has been added to the Microsoft.PowerShell.Utility module. Format-Hex을 사용하면 텍스트 또는 이진 데이터를 16진수 형식으로 볼 수 있습니다.Format-Hex lets you view text or binary data in hexadecimal format.

  • Get-Clipboard 및 Set-Clipboard cmdlet이 Microsoft.PowerShell.Utility 모듈에 추가되었습니다. 두 cmdlet을 사용하면 Windows PowerShell 세션과의 콘텐츠 전송을 쉽게 수행할 수 있습니다.Get-Clipboard and Set-Clipboard cmdlets have been added to the Microsoft.PowerShell.Utility module; they ease the transfer of content to and from a Windows PowerShell session. 클립보드 cmdlet은 이미지, 오디오 파일, 파일 목록 및 텍스트를 지원합니다.The Clipboard cmdlets support images, audio files, file lists, and text.

  • 새 Clear-RecycleBin cmdlet이 Microsoft.PowerShell.Management 모듈에 추가되었습니다. 이 cmdlet은 외장형 드라이브를 포함하는 고정 드라이브의 휴지통을 비웁니다.A new cmdlet, Clear-RecycleBin, has been added to the Microsoft.PowerShell.Management module; this cmdlet empties the Recycle Bin for a fixed drive, which includes external drives. 기본적으로 cmdlet의 ConfirmImpact 속성이 ConfirmImpact.High로 설정되어 있으므로 Clear-RecycleBin 명령을 확인하라는 메시지가 표시됩니다.By default, you are prompted to confirm a Clear-RecycleBin command, because the ConfirmImpact property of the cmdlet is set to ConfirmImpact.High.

  • 새 New-TemporaryFile cmdlet을 사용하면 스크립팅의 일부로 임시 파일을 만들 수 있습니다.A new cmdlet, New-TemporaryFile, lets you create a temporary file as part of scripting. 기본적으로 새 임시 파일은 C:\Users\<user name>\AppData\Local\Temp에 생성됩니다.By default, the new temporary file is created in C:\Users\<user name>\AppData\Local\Temp.

  • 이제 Out-File, Add-Content 및 Set-Content cmdlet에 출력 뒤에 오는 새 줄을 생략하는 새 –NoNewline 매개 변수가 있습니다.The Out-File, Add-Content, and Set-Content cmdlets now have a new -NoNewline parameter, which omits a new line after the output.

  • New-Guid cmdlet은 .NET Framework Guid 클래스를 이용하여 스크립트나 DSC 리소스를 작성할 때 유용한 GUID를 생성합니다.The New-Guid cmdlet leverages the .NET Framework Guid class to generate a GUID, useful when you are writing scripts or DSC resources.

  • 파일 버전 정보는 특히 파일이 패치된 후 잘못될 수 있으므로 FileInfo 개체에 대한 새 FileVersionRaw 및 ProductVersionRaw 스크립트 속성을 사용할 수 있습니다.Because file version information can be misleading, particularly after a file is patched, new FileVersionRaw and ProductVersionRaw script properties are available for FileInfo objects. 예를 들어 다음 명령을 실행하여 PowerShell.exe의 이러한 속성 값을 표시할 수 있습니다. 여기서 $pid에는 실행 중인 세션의 Windows PowerShell에 대한 프로세스 ID가 포함됩니다. Get-Process -Id $pid -FileVersionInfo | Format-List *version* -ForceFor example, you can run the following command to display the values of these properties for powershell.exe, where $pid contains the process ID for a running session of Windows PowerShell: Get-Process -Id $pid -FileVersionInfo | Format-List *version* -Force

  • 새 Enter-PSHostProcess 및 Exit-PSHostProcess cmdlet을 사용하면 Windows PowerShell 콘솔에서 실행 중인 현재 프로세스와 별개인 프로세스에서 Windows PowerShell 스크립트를 디버그할 수 있습니다.New cmdlets Enter-PSHostProcess and Exit-PSHostProcess let you debug Windows PowerShell scripts in processes separate from the current process that is running in the Windows PowerShell console. Enter-PSHostProcess를 실행하여 특정 프로세스 ID를 입력하거나 연결한 다음 Get-Runspace를 실행하여 프로세스 내의 활성 Runspace를 반환합니다.Run Enter-PSHostProcess to enter, or attach to, a specific process ID, and then run Get-Runspace to return the active runspaces within the process. 프로세스 내에서 스크립트 디버그를 마쳤으면 Exit-PSHostProcess를 실행하여 프로세스에서 분리합니다.Run Exit-PSHostProcess to detach from the process when you are finished debugging the script within the process.

  • 새 Wait-Debugger cmdlet이 Microsoft.PowerShell.Utility 모듈에 추가되었습니다.A new Wait-Debugger cmdlet has been added to the Microsoft.PowerShell.Utility module. Wait-Debugger를 실행하면 스크립트에서 다음 문을 실행하기 전에 디버거에서 스크립트를 중지할 수 있습니다.You can run Wait-Debugger to stop a script in the debugger before running the next statement in the script.

  • 이제 Windows PowerShell 워크플로 디버거에서 명령 또는 탭 완성 기능을 지원하며 중첩된 워크플로 함수를 디버그할 수 있습니다.The Windows PowerShell Workflow debugger now supports command or tab completion, and you can debug nested workflow functions. 이제 Ctrl+Break를 눌러 실행 중인 스크립트, 로컬 및 원격 세션, 워크플로 스크립트에서 디버거를 시작할 수 있습니다.You can now press Ctrl+Break to enter the debugger in a running script, in both local and remote sessions, and in a workflow script.

  • Windows PowerShell 워크플로, 백그라운드 및 원격 세션에서 실행되는 작업에 대해 실행 중인 작업 스크립트를 디버그할 수 있도록 Debug-Job cmdlet이 Microsoft.PowerShell.Core 모듈에 추가되었습니다.A Debug-Job cmdlet has been added to the Microsoft.PowerShell.Core module to debug running job scripts for Windows PowerShell Workflow, background, and jobs running in remote sessions.

  • Windows PowerShell 작업에 대해 새 AtBreakpoint 상태가 추가되었습니다.A new state, AtBreakpoint, has been added for Windows PowerShell jobs. AtBreakpoint 상태는 작업이 중단점 설정을 포함하는 스크립트를 실행하고 스크립트가 중단점에 도달했을 때 적용됩니다.The AtBreakpoint state applies when a job is running a script that includes set breakpoints, and the script has hit a breakpoint. 디버그 중단점에서 작업이 중지되면 Debug-Job cmdlet을 실행하여 작업을 디버그해야 합니다.When a job is stopped at a debug breakpoint, you must debug the job by running the Debug-Job cmdlet.

  • Windows PowerShell 5.0에서는 $PSModulePath의 동일한 폴더에서 단일 Windows PowerShell 모듈의 여러 버전에 대한 지원을 구현합니다.Windows PowerShell 5.0 implements support for multiple versions of a single Windows PowerShell module in the same folder in $PSModulePath. 모듈의 원하는 버전을 가져올 수 있도록 RequiredVersion 속성이 ModuleSpecification 클래스에 추가되었습니다. 이 속성은 ModuleVersion 속성과 함께 사용할 수 없습니다.A RequiredVersion property has been added to the ModuleSpecification class to help you get the desired version of a module; this property is mutually exclusive with the ModuleVersion property. 이제 RequiredVersion이 Get-Module, Import-Module 및 Remove-Module cmdlet에 대한 FullyQualifiedName 매개 변수 값의 일부로 지원됩니다.RequiredVersion is now supported as part of the value of the FullyQualifiedName parameter of the Get-Module, Import-Module, and Remove-Module cmdlets.

  • 이제 Test-ModuleManifest cmdlet을 실행하여 모듈 버전 유효성 검사를 수행할 수 있습니다.You can now perform module version validation by running the Test-ModuleManifest cmdlet.

  • 이제 Get-Command cmdlet의 결과에 Version 열이 표시됩니다. 새 Version 속성이 CommandInfo 클래스에 추가되었습니다.Results of the Get-Command cmdlet now display a Version column; a new Version property has been added to the CommandInfo class. Get-Command는 동일한 모듈의 여러 버전에 포함된 명령을 보여 줍니다.Get-Command shows commands from multiple versions of the same module. 또한 Version 속성은 CmdletInfo의 파생 클래스인 CmdletInfo 및 ApplicationInfo의 일부입니다.The Version property is also part of derived classes of CmdletInfo: CmdletInfo and ApplicationInfo.

  • Get-Command에는 ShowCommand 정보를 PSObjects로 반환하는 새 매개 변수 -ShowCommandInfo가 있습니다.Get-Command has a new parameter, -ShowCommandInfo, that returns ShowCommand information as PSObjects. 이 매개 변수는 Windows PowerShell ISE에서 Windows PowerShell 원격 기능을 사용하여 Show-Command를 실행할 때 특히 유용한 기능입니다.This is especially useful functionality for when Show-Command is run in Windows PowerShell ISE by using Windows PowerShell remoting. –ShowCommandInfo 매개 변수는 Microsoft.PowerShell.Utility 모듈의 기존 Get-SerializedCommand 함수를 대체하지만 하위 수준 스크립팅을 지원하기 위해 Get-SerializedCommand 스크립트를 계속 사용할 수 있습니다.The -ShowCommandInfo parameter replaces the existing Get-SerializedCommand function in the Microsoft.PowerShell.Utility module, but the Get-SerializedCommand script is still available to support downlevel scripting.

  • 새 Get-ItemPropertyValue cmdlet을 사용하면 점 표기법을 사용하지 않고 속성 값을 가져올 수 있습니다.A new Get-ItemPropertyValue cmdlet lets you get the value of a property without using dot notation. 예를 들어 이전 Windows PowerShell 릴리스에서는 다음 명령을 실행하여 PowerShellEngine 레지스트리 키의 Application Base 속성 값을 가져올 수 있습니다. (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase).ApplicationBase.For example, in older releases of Windows PowerShell, you can run the following command to get the value of the Application Base property of the PowerShellEngine registry key: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase).ApplicationBase. Windows PowerShell 5.0 이상에서는 Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase를 실행할 수 있습니다.Starting in Windows PowerShell 5.0, you can run Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase.

  • 이제 Windows PowerShell 콘솔이 Windows PowerShell ISE와 같이 구문 색 지정을 사용합니다.The Windows PowerShell console now uses syntax coloring, just as in Windows PowerShell ISE.

  • 새 NetworkSwitch 모듈에 포함된 cmdlet을 사용하면 스위치, VLAN(가상 LAN) 및 기본 계층 2 네트워크 스위치 포트 구성을 Windows Server 2012 R2 로고 인증 네트워크 스위치에 적용할 수 있습니다.A new NetworkSwitch module contains cmdlets that enable you to apply switch, virtual LAN (VLAN), and basic Layer 2 network switch port configuration to Windows Server 2012 R2 logo-certified network switches.

  • 단일 모듈의 여러 버전을 저장할 수 있도록 FullyQualifiedName 매개 변수가 Import-Module 및 Remove-Module cmdlet에 추가되었습니다.The FullyQualifiedName parameter has been added to Import-Module and Remove-Module cmdlets, to support storing multiple versions of a single module.

  • Save-Help, Update-Help, Import-PSSession, Export-PSSession 및 Get-Command에 ModuleSpecification 형식의 새로운 매개 변수인 FullyQualifiedModule이 있습니다.Save-Help, Update-Help, Import-PSSession, Export-PSSession, and Get-Command have a new parameter, FullyQualifiedModule, of type ModuleSpecification. 정규화된 이름으로 모듈을 지정하려면 이 매개 변수를 추가합니다.Add this parameter to specify a module by its fully qualified name.

  • $PSVersionTable.PSVersion 값이 5.0으로 업데이트되었습니다.The value of $PSVersionTable.PSVersion has been updated to 5.0.

Windows PowerShell 필요한 상태 구성의 새로운 기능New features in Windows PowerShell Desired State Configuration

  • Windows PowerShell의 향상된 언어 기능을 사용하면 클래스를 통해 Windows PowerShell DSC(필요한 상태 구성) 리소스를 정의할 수 있습니다.Windows PowerShell language enhancements let you define Windows PowerShell Desired State Configuration (DSC) resources by using classes. 이제 Import-DscResource가 진정한 동적 키워드입니다. Windows PowerShell이 지정된 모듈의 루트 모듈을 구문 분석하여 DscResource 특성이 포함된 클래스를 검색합니다.Import-DscResource is now a true dynamic keyword; Windows PowerShell parses the specified module'™s root module, searching for classes that contain the DscResource attribute. 이제 클래스를 사용하여 모듈 폴더의 MOF 파일 또는 DSCResource 하위 폴더가 필요하지 않은 DSC 리소스를 정의할 수 있습니다.You can now use classes to define DSC resources, in which neither a MOF file nor a DSCResource subfolder in the module folder is required. Windows PowerShell 모듈 파일에 여러 가지 DSC 리소스 클래스가 포함될 수 있습니다.A Windows PowerShell module file can contain multiple DSC resource classes.

  • 새 ThrottleLimit 매개 변수가 PSDesiredStateConfiguration 모듈의 다음 cmdlet에 추가되었습니다.A new parameter, ThrottleLimit, has been added to the following cmdlets in the PSDesiredStateConfiguration module. 동시에 명령을 실행할 대상 컴퓨터 또는 장치 수를 지정하려면 ThrottleLimit 매개 변수를 추가합니다.Add the ThrottleLimit parameter to specify the number of target computers or devices on which you want the command to work at the same time.

    • Get-DscConfigurationGet-DscConfiguration

    • Get-DscConfigurationStatusGet-DscConfigurationStatus

    • Get DscLocalConfigurationManagerGet-DscLocalConfigurationManager

    • Restore-DscConfigurationRestore-DscConfiguration

    • Test-DscConfigurationTest-DscConfiguration

    • Compare-DscConfigurationCompare-DscConfiguration

    • Publish-DscConfigurationPublish-DscConfiguration

    • Set-DscLocalConfigurationManagerSet-DscLocalConfigurationManager

    • Start-DscConfigurationStart-DscConfiguration

    • Update-DscConfigurationUpdate-DscConfiguration

  • 중앙 집중식 DSC 오류 보고를 사용하면 자세한 오류 정보가 이벤트 로그에 기록될 뿐 아니라 나중에 분석하기 위해 중앙 위치로 보낼 수 있습니다.With centralized DSC error reporting, rich error information is not only logged in the event log, but it can be sent to a central location for later analysis. 이 중앙 위치를 사용하여 해당 환경의 모든 서버에 대해 발생한 DSC 구성 오류를 저장할 수 있습니다.You can use this central location to store DSC configuration errors that have occurred for any server in their environment. 메타 구성에서 보고서 서버를 정의하면 모든 오류가 보고서 서버로 전송된 후 데이터베이스에 저장됩니다.After the report server is defined in the meta-configuration, all errors are sent to the report server, and then stored in a database. 끌어오기 서버에서 구성을 가져올 대상 노드를 구성했는지 여부에 관계없이 이 기능을 설정할 수 있습니다.You can set up this functionality regardless of whether or not a target node is configured to pull configurations from a pull server.

  • 향상된 Windows PowerShell ISE를 사용하여 DSC 리소스를 쉽게 작성할 수 있습니다.Improvements to Windows PowerShell ISE ease DSC resource authoring. 이제 다음을 수행할 수 있습니다.You can now do the following.

    • 구성 블록이나 노드 블록 내 빈 줄에 Ctrl+Space를 입력하여 해당 블록 내의 모든 DSC 리소스 나열List all DSC resources within a configuration or node block by entering Ctrl+Space on a blank line within the block.

    • 열거형 형식인 리소스 속성 자동 완성Automatic completion on resource properties of the enumeration type.

    • 구성에 있는 다른 리소스 인스턴스에 따라 DSC 리소스의 DependsOn 속성 자동 완성Automatic completion on the DependsOn property of DSC resources, based on other resource instances in the configuration.

    • 리소스 속성 값의 탭 완성 기능 향상Improved tab completion of resource property values.

  • 이제 사용자가 노드 블록에 PSDscRunAsCredential 특성을 추가하여 지정된 자격 증명 집합으로 리소스를 실행할 수 있습니다.A user can now run a resource under a specified set of credentials by adding the PSDscRunAsCredential attribute to a Node block. 예를 들면 PSDscRunAsCredential = Get-Credential Contoso\DscUser와 같습니다.For example, PSDscRunAsCredential = Get-Credential Contoso\DscUser. 이 기능은 Windows Installer 및 실행 가능한 설치 관리자를 실행하거나, 사용자별 레지스트리 하이브에 액세스하거나, 현재 사용자 컨텍스트 외부에서 다른 작업을 수행하는 구성을 만드는 데 유용합니다.This functionality is useful for creating configurations that run Windows Installer and executable installers, access the per-user registry hive, or perform other tasks outside the current user context.

  • Configuration 키워드에 대해 32비트(x86 기반) 지원이 추가되었습니다.32-bit (x86-based) support has been added for the Configuration keyword.

  • 이제 생성된 구성 함수에 [CmdletBinding()]을 추가하여 정의된 DSC 구성에 대한 사용자 지정 도움말 지원이 Windows PowerShell에 포함됩니다.Windows PowerShell now includes support for custom help for DSC configurations, defined by adding [CmdletBinding()] to the generated configuration function.

  • DscLocalConfigurationManager 특성은 DSC 로컬 구성 관리자를 구성하는 데 사용되는 구성 블록을 메타 구성으로 지정합니다.A new DscLocalConfigurationManager attribute designates a configuration block as a meta-configuration, which is used to configure the DSC Local Configuration Manager. 이 특성은 DSC 로컬 구성 관리자를 구성하는 항목만 포함하도록 구성을 제한합니다.This attribute restricts a configuration to containing only items which configure the DSC Local Configuration Manager. 처리하는 동안 이 구성은 *.meta.mof 파일을 생성하며, 이 파일은 Set-DscLocalConfigurationManager cmdlet을 실행하여 적절한 대상 노드로 전송됩니다.During processing, this configuration generates a *.meta.mof file that is then sent to the appropriate target nodes by running the Set-DscLocalConfigurationManager cmdlet.

  • 이제 Windows PowerShell 5.0에서 부분 구성이 허용됩니다.Partial configurations are now allowed in Windows PowerShell 5.0. 구성 문서를 조각으로 노드에 전달할 수 있습니다.You can deliver configuration documents to a node in fragments. 노드에서 여러 조각의 구성 문서를 받으려면 노드의 로컬 구성 관리자를 먼저 설정하여 필요한 조각을 지정해야 합니다.For a node to receive multiple fragments of a configuration document, the node'™s Local Configuration Manager must be first set to specify the expected fragments

  • 컴퓨터 간 동기화는 Windows PowerShell 5.0의 DSC에 추가된 새로운 기능입니다.Cross-computer synchronization is new in DSC in Windows PowerShell 5.0. 이제 기본 제공 WaitFor* 리소스(WaitForAll, WaitForAnyWaitForSome)를 사용하여 외부 오케스트레이션 없이 구성 실행 중 컴퓨터 간에 종속성을 지정할 수 있습니다.By using the built-in WaitFor* resources (WaitForAll, WaitForAny, and WaitForSome), you can now specify dependencies across computers during configuration runs, without external orchestrations. 이러한 리소스는 WS-Man 프로토콜을 통한 CIM 연결을 사용하여 노드 간 동기화를 제공합니다.These resources provide node-to-node synchronization by using CIM connections over the WS-Man protocol. 구성은 다른 컴퓨터의 특정 리소스 상태가 변경될 때까지 대기할 수 있습니다.A configuration can wait for another computer'™s specific resource state to change.

  • 새로운 위임 보안 기능인 JEA(Just Enough Administration)는 DSC 및 Windows PowerShell 제약 Runspace를 이용하여 의도적이든 아니든 간에 직원에 의한 데이터 손실이나 손상으로부터 기업을 보호합니다.Just Enough Administration (JEA), a new delegation security feature, leverages DSC and Windows PowerShell constrained runspaces to help secure enterprises from data loss or compromise by employees, whether intentional or unintentional. xJEA DSC 리소스를 다운로드할 수 있는 위치를 포함하여 JEA에 대한 자세한 내용은 Just Enough Administration, Step by Step(Just Enough Administration 단계별 지침)을 참조하세요.For more information about JEA, including where you can download the xJEA DSC resource, see Just Enough Administration, Step by Step.

  • 다음과 같은 새 cmdlet이 PSDesiredStateConfiguration 모듈에 추가되었습니다.The following new cmdlets have been added to the PSDesiredStateConfiguration module.

    • 새 Get-DscConfigurationStatus cmdlet은 대상 노드에서 구성 상태에 대한 고급 정보를 가져옵니다.A new Get-DscConfigurationStatus cmdlet gets high-level information about configuration status from a target node. 마지막 구성이나 모든 구성의 상태를 가져올 수 있습니다.You can obtain the status of the last, or of all configurations.

    • 새 Compare-DscConfiguration cmdlet은 지정된 구성과 하나 이상 대상 노드의 실제 상태를 비교합니다.A new Compare-DscConfiguration cmdlet compares a specified configuration with the actual state of one or more target nodes.

    • 새 Publish-DscConfiguration cmdlet은 구성 MOF 파일을 대상 노드에 복사하지만 구성을 적용하지는 않습니다.A new Publish-DscConfiguration cmdlet copies a configuration MOF file to a target node, but does not apply the configuration. 이 구성은 다음 일관성 검사 중이나 Update-DscConfiguration cmdlet을 실행할 때 적용됩니다.The configuration is applied during the next consistency pass, or when you run the Update-DscConfiguration cmdlet.

    • 새 Test-DscConfiguration cmdlet을 사용하면 결과로 생성된 구성이 필요한 구성과 일치하는지 확인할 수 있습니다. 구성이 필요한 구성과 일치하면 True가 반환되고, 실제 구성이 필요한 구성과 일치하지 않으면 False가 반환됩니다.A new Test-DscConfiguration cmdlet lets you verify that a resulting configuration matches the desired configuration, returning either True if the configuration matches the desired configuration, or False if the actual configuration does not match the desired configuration.

    • 새 Update-DscConfiguration cmdlet은 구성을 강제로 처리합니다.A new Update-DscConfiguration cmdlet forces a configuration to be processed. 로컬 구성 관리자가 끌어오기 모드인 경우 cmdlet은 구성을 적용하기 전에 끌어오기 서버에서 가져옵니다.If the Local Configuration Manager is in pull mode, the cmdlet gets the configuration from the pull server before applying it.

Windows PowerShell ISE의 새로운 기능New features in Windows PowerShell ISE

  • 이제 Enter-PSSession을 실행하여 편집할 파일이 저장되어 있는 컴퓨터에서 원격 세션을 시작한 다음 PSEdit 를 실행하여 Windows PowerShell ISE의 로컬 복사본에서 원격 Windows PowerShell 스크립트와 파일을 편집할 수 있습니다.You can now edit remote Windows PowerShell scripts and files in a local copy of Windows PowerShell ISE, by running Enter-PSSession to start a remote session on the computer that'™s storing the files you want to edit, and then running PSEdit . 이 기능을 사용하면 Windows PowerShell ISE를 실행할 수 없는 Windows Server의 Server Core 설치 옵션에 저장되어 있는 Windows PowerShell 파일을 쉽게 편집할 수 있습니다.This feature eases editing Windows PowerShell files that are stored on the Server Core installation option of Windows Server, where Windows PowerShell ISE cannot run.

  • 이제 Windows PowerShell ISE에서 Start-Transcript cmdlet이 지원됩니다.The Start-Transcript cmdlet is now supported in Windows PowerShell ISE.

  • 이제 Windows PowerShell ISE에서 원격 스크립트를 디버그할 수 있습니다.You can now debug remote scripts in Windows PowerShell ISE.

  • 새 메뉴 명령인 모두 중단(Ctrl+B)은 로컬 스크립트와 원격으로 실행 중인 스크립트 둘 다에 대해 디버거를 시작합니다.A new menu command, Break All (Ctrl+B), breaks into the debugger for both local and remotely-running scripts.

Windows PowerShell 웹 서비스의 새로운 기능(관리 OData IIS 확장)New features in Windows PowerShell Web Services (Management OData IIS Extension)

  • Windows PowerShell 5.0부터 새 Microsoft.PowerShell.OdataUtils 모듈에 있는 Export-ODataEndpointProxy cmdlet을 실행하여 지정된 OData 엔드포인트가 노출하는 기능에 따라 Windows PowerShell cmdlet 집합을 생성할 수 있습니다.Starting in Windows PowerShell 5.0, you can generate a set of Windows PowerShell cmdlets based on the functionality exposed by a given OData endpoint, by running the Export-ODataEndpointProxy cmdlet, found in the new Microsoft.PowerShell.OdataUtils module.

Windows PowerShell 5.0의 중요한 버그 수정Notable bug fixes in Windows PowerShell 5.0

  • Windows PowerShell 5.0에는 COM 개체로 작업할 때 성능 향상에 도움이 되는 새로운 COM 구현이 포함되어 있습니다.Windows PowerShell 5.0 includes a new COM implementation, which offers significant performance improvements when you are working with COM objects. 효과를 보여 주는 동영상 데모를 보려면 Com_Perf_Improvements를 참조하세요.For a video demonstration of the effect, see Com_Perf_Improvements.

  • Windows PowerShell 세션의 첫 번째 탭 완성 성능이 훨씬 향상되어 탭 완성 시간이 거의 500ms만큼 단축되었습니다.Significant performance improvements have been made to the first tab completion in a Windows PowerShell session, shortening tab completion time by nearly 500 ms.

Windows PowerShell 4.0의 새로운 기능New features in Windows PowerShell 4.0

Windows PowerShell 4.0은 이전 버전과 호환됩니다.Windows PowerShell 4.0 is backward-compatible. Windows PowerShell 3.0 및 Windows PowerShell 2.0용으로 설계된 cmdlet, 공급자, 모듈, 스냅인, 스크립트, 함수 및 프로필은 Windows PowerShell 4.0에서 변경 없이 사용할 수 있습니다.Cmdlets, providers, modules, snap-ins, scripts, functions, and profiles that were designed for Windows PowerShell 3.0 and Windows PowerShell 2.0 work in Windows PowerShell 4.0 without changes.

Windows 8.1 및 Windows Server 2012 R2에서는 Windows PowerShell 4.0이 기본적으로 설치됩니다.Windows PowerShell 4.0 is installed by default on Windows 8.1 and Windows Server 2012 R2. Windows 7 SP1 또는 Windows Server 2008 R2에 Windows PowerShell 4.0을 설치하려면 Windows Management Framework 4.0을 다운로드하여 설치합니다.To install Windows PowerShell 4.0 on Windows 7 with SP1, or Windows Server 2008 R2, download and install Windows Management Framework 4.0. Windows Management Framework 4.0을 설치하기 전에 다운로드 정보를 확인하고 모든 시스템 요구 사항을 충족해야 합니다.Be sure to read the download details, and meet all system requirements, before you install Windows Management Framework 4.0.

Windows PowerShell 4.0에는 다음과 같은 새로운 기능이 있습니다.Windows PowerShell 4.0 includes the following new features.

Windows PowerShell의 새로운 기능New features in Windows PowerShell

  • Windows PowerShell DSC(필요한 상태 구성)는 Windows PowerShell 4.0에서 소프트웨어 서비스와 해당 서비스가 실행되는 환경에 대한 구성 데이터를 배포 및 관리하는 데 사용되는 새로운 관리 시스템입니다.Windows PowerShell Desired State Configuration (DSC) is a new management system in Windows PowerShell 4.0 that enables the deployment and management of configuration data for software services and the environment in which these services run. DSC에 대한 자세한 내용은 Windows PowerShell 필요한 상태 구성 시작을 참조하세요.For more information about DSC, see Get Started with Windows PowerShell Desired State Configuration.

  • 이제 Save-Help를 사용하여 원격 컴퓨터에 설치되는 모듈에 대한 도움말을 저장할 수 있습니다.Save-Help now lets you save help for modules that are installed on remote computers. Save-Help를 사용하여 인터넷에 연결된 클라이언트에서 도움말 모듈을 다운로드한 다음(도움말이 필요한 일부 모듈은 반드시 설치해야 함) 저장된 도움말을 인터넷에 액세스할 수 없는 원격 컴퓨터 또는 원격 공유 폴더에 복사할 수 있습니다.You can use Save-Help to download module Help from an Internet-connected client (on which not all of the modules for which you want help are necessarily installed), and then copy the saved Help to a remote shared folder or a remote computer that does not have Internet access.

  • 원격 컴퓨터에서 실행 중인 스크립트와 Windows PowerShell 워크플로를 디버그할 수 있도록 Windows PowerShell 디버거가 향상되었습니다.The Windows PowerShell debugger has been enhanced to allow debugging of Windows PowerShell workflows, as well as scripts that are running on remote computers. 이제 Windows PowerShell 명령줄 또는 Windows PowerShell ISE에서 Windows PowerShell 워크플로를 스크립트 수준으로 디버그할 수 있습니다.Windows PowerShell workflows can now be debugged at the script level from either the Windows PowerShell command line or Windows PowerShell ISE. 이제 원격 세션을 통해 Windows PowerShell 스크립트(스크립트 워크플로 포함)를 디버그할 수 있습니다.Windows PowerShell scripts, including script workflows, can now be debugged over remote sessions. 원격 디버깅 세션은 연결이 끊어졌다가 나중에 다시 연결하면 Windows PowerShell 원격 세션을 통해 유지됩니다.Remote debugging sessions are preserved over Windows PowerShell remote sessions that are disconnected and then later reconnected.

  • Register-ScheduledJobSet-ScheduledJobRunNow 매개 변수를 사용하면 Trigger 매개 변수를 사용하여 작업에 대한 즉시 시작 날짜와 시간을 설정할 필요가 없습니다.A RunNow parameter for Register-ScheduledJob and Set-ScheduledJob eliminates the need to set an immediate start date and time for jobs by using the Trigger parameter.

  • 이제 Invoke-RestMethodInvoke-WebRequest에서 Headers 매개 변수를 사용하여 모든 헤더를 설정할 수 있습니다.Invoke-RestMethod and Invoke-WebRequest now let you set all headers by using the Headers parameter. 이 매개 변수는 이전에도 있었지만 예외 또는 오류를 발생하는 웹 cmdlet의 여러 매개 변수 중 하나였습니다.Although this parameter has always existed, it was one of several parameters for the web cmdlets that resulted in exceptions or errors.

  • Get-ModuleModuleSpecification[] 형식의 새로운 매개 변수인 FullyQualifiedName이 있습니다.Get-Module has a new parameter, FullyQualifiedName, of the type ModuleSpecification[]. 이제 Get-Module의 FullyQualifiedName 매개 변수에서 모듈의 이름, 버전 및 GUID(선택 사항)를 사용하여 모듈을 지정할 수 있습니다.The FullyQualifiedName parameter of Get-Module now lets you specify a module by using the module's name, version, and optionally, its GUID.

  • Windows Server 2012 R2에 대한 기본 실행 정책 설정은 RemoteSigned입니다.The default execution policy setting on Windows Server 2012 R2 is RemoteSigned. Windows 8.1에서는 기본 설정이 변경되지 않았습니다.On Windows 8.1, there is no change in default setting.

  • Windows PowerShell 4.0 이상에서는 동적 메서드 이름을 사용한 메서드 호출이 지원됩니다.Starting in Windows PowerShell 4.0, method invocation by using dynamic method names is supported. 변수를 사용하여 메서드 이름을 저장한 다음 변수를 호출하여 메서드를 동적으로 호출할 수 있습니다.You can use a variable to store a method name, and then dynamically invoke the method by calling the variable.

  • PSElapsedTimeoutSec 워크플로 일반 매개 변수로 지정한 시간 제한 기간이 경과해도 비동기 워크플로는 더 이상 삭제되지 않습니다.Asynchronous workflow jobs are no longer deleted when the time-out period that is specified by the PSElapsedTimeoutSec workflow common parameter has elapsed.

  • 새 매개 변수 RepeatIndefinitelyNew-JobTriggerSet-JobTrigger cmdlet에 추가되었습니다.A new parameter, RepeatIndefinitely, has been added to the New-JobTrigger and Set-JobTrigger cmdlets. 이 매개 변수를 사용하면 예약된 작업을 무기한 동안 되풀이해서 실행하기 위해 RepetitionDuration 매개 변수에 TimeSpan.MaxValue 값을 지정할 필요가 없습니다.This eliminates the necessity of specifying a TimeSpan.MaxValue value for the RepetitionDuration parameter to run a scheduled job repeatedly for an indefinite period.

  • Passthru 매개 변수가 Enable-JobTriggerDisable-JobTrigger cmdlet에 추가되었습니다.A Passthru parameter has been added to the Enable-JobTrigger and Disable-JobTrigger cmdlets. Passthru 매개 변수는 명령에서 만들었거나 수정한 개체를 표시합니다.The Passthru parameter displays any objects that are created or modified by your command.

  • Add-ComputerRemove-Computer cmdlet에서 작업 그룹을 지정하는 매개 변수 이름이 이제 일치합니다.The parameter names for specifying a workgroup in the Add-Computer and Remove-Computer cmdlets are now consistent. 이제 두 cmdlet 모두 WorkgroupName 매개 변수를 사용합니다.Both cmdlets now use the parameter WorkgroupName.

  • 새 일반 매개 변수 PipelineVariable이 추가되었습니다.A new common parameter, PipelineVariable, has been added. PipelineVariable을 사용하여 파이프된 명령의 결과 또는 파이프된 명령의 일부를 나머지 파이프라인을 통해 전달할 수 있는 변수로 저장할 수 있습니다.PipelineVariable lets you save the results of a piped command (or part of a piped command) as a variable that can be passed through the remainder of the pipeline.

  • 이제 메서드 구문을 사용한 컬렉션 필터링이 지원됩니다.Collection filtering by using a method syntax is now supported. 즉, Where() 또는 Where-Object의 경우처럼 메서드 호출로 서식 지정된 간소화된 구문을 사용하여 개체 모음을 필터링할 수 있습니다.This means that you can now filter a collection of objects by using simplified syntax, similar to that for Where() or Where-Object, formatted as a method call. 예를 들면 다음과 같습니다. (Get-Process).where({$.Name -match 'powershell'})The following is an example: (Get-Process).where({$.Name -match 'powershell'})

  • Get-Process cmdlet에는 IncludeUserName이라는 새 스위치 매개 변수가 있습니다.The Get-Process cmdlet has a new switch parameter, IncludeUserName.

  • 지정된 파일에 대한 여러 형식 중 하나로 파일 해시를 반환하는 새 Get-FileHash cmdlet이 추가되었습니다.A new cmdlet, Get-FileHash, that returns a file hash in one of several formats for a specified file, has been added.

  • Windows PowerShell 4.0에서는 모듈의 매니페스트에서 DefaultCommandPrefix 키를 사용하거나 사용자가 Prefix 매개 변수를 사용하여 모듈을 가져올 경우 모듈의 ExportedCommands 속성은 모듈의 명령을 접두사와 함께 표시합니다.In Windows PowerShell 4.0, if a module uses the DefaultCommandPrefix key in its manifest, or if the user imports a module with the Prefix parameter, the ExportedCommands property of the module shows the commands in the module with the prefix. 모듈의 정규화된 구문 ModuleName\CommandName을 사용하여 명령을 실행할 경우 명령 이름에 접두사를 포함해야 합니다.When you run the commands by using the module-qualified syntax, ModuleName\CommandName, the command names must include the prefix.

  • $PSVersionTable.PSVersion 값이 4.0으로 업데이트되었습니다.The value of $PSVersionTable.PSVersion has been updated to 4.0.

  • Where() 연산자 동작이 변경되었습니다.Where() operator behavior has changed. Collection.Where('property -match name')은 더 이상 "Property -CompareOperator Value" 형식의 문자열 식을 허용하지 않습니다.Collection.Where('property -match name') accepting a string expression in the format "Property -CompareOperator Value" is no longer supported. 그러나 Where() 연산자는 scriptblock 형식의 문자열 식을 허용합니다. 이 연산자는 여전히 지원됩니다.However, the Where() operator accepts string expressions in the format of a scriptblock; this is still supported.

Windows PowerShell ISE(통합 스크립팅 환경)의 새로운 기능New features in Windows PowerShell Integrated Scripting Environment (ISE)

  • Windows PowerShell ISE에서는 Windows PowerShell 워크플로 디버깅과 원격 스크립트 디버깅을 모두 지원합니다.Windows PowerShell ISE supports both Windows PowerShell Workflow debugging and remote script debugging.

  • Windows PowerShell 필요한 상태 구성 공급자 및 구성에 대한 IntelliSense 지원이 추가되었습니다.IntelliSense support has been added for Windows PowerShell Desired State Configuration providers and configurations.

Windows PowerShell 워크플로의 새로운 기능New features in Windows PowerShell Workflow

  • System Center Orchestrator에 사용된 것과 같은 반복 파이프라인 즉, 스트리밍을 사용하여 섞어서 실행하지 않고 왼쪽에서 오른쪽으로 실행하는 파이프라인의 컨텍스트에서 새 PipelineVariable 일반 매개 변수에 대한 지원이 추가되었습니다.Support has been added for a new PipelineVariable common parameter in the context of iterative pipelines, such as those used by System Center Orchestrator; that is, pipelines that run commands simply left-to-right, as opposed to interspersed running by using streaming.

  • 현재 runspace에 없는 명령을 사용하는 경우처럼 탭 완성 시나리오를 벗어나서 작동하도록 매개 변수 바인딩이 크게 향상되었습니다.Parameter binding has been significantly enhanced to work outside of tab completion scenarios, such as with commands that do not exist in the current runspace.

  • 사용자 지정 컨테이너 활동 지원이 Windows PowerShell 워크플로에 추가되었습니다.Support for custom container activities has been added to Windows PowerShell Workflow. 활동 매개 변수가 Activity, Activity[] 형식이거나 제네릭 활동 모음이고 사용자가 스크립트 블록을 인수로 제공한 경우 Windows PowerShell 워크플로는 일반 Windows PowerShell 스크립트-워크플로 컴파일을 사용할 때와 마찬가지로 스크립트 블록을 XAML로 변환합니다.If an activity parameter is of the types Activity, Activity[]'”or is a generic collection of activities'”and the user has supplied a script block as an argument, then Windows PowerShell Workflow converts the script block to XAML, as with normal Windows PowerShell script-to-workflow compilation.

  • 충돌이 발생한 후에 Windows PowerShell 워크플로는 관리되는 노드에 자동으로 다시 연결됩니다.After a crash, Windows PowerShell Workflow automatically reconnects to managed nodes.

  • 이제 ThrottleLimit 속성을 사용하여 Foreach -Parallel 활동 문을 제한할 수 있습니다.You can now throttle Foreach -Parallel activity statements by using the ThrottleLimit property.

  • ErrorAction 일반 매개 변수는 워크플로에 국한되는 새 유효한 값 Suspend가 있습니다.The ErrorAction common parameter has a new valid value, Suspend, that is exclusively for workflows.

  • 이제 활성 세션, 진행 중인 작업 및 보류 중인 작업이 없는 경우 워크플로 엔드포인트가 자동으로 닫힙니다.A workflow endpoint now automatically closes if there are no active sessions, no in-progress jobs, and no pending jobs. 자동 종료 조건이 충족될 경우 이 기능은 워크플로 서버 역할을 하는 컴퓨터의 리소스를 절약합니다.This feature conserves resources on the computer that is acting as the workflow server, when the automatic closure conditions have been met.

Windows PowerShell 웹 서비스의 새로운 기능New features in Windows PowerShell Web Services

  • cmdlet을 실행하는 중에 Windows PowerShell 웹 서비스(PSWS, 관리 OData IIS 확장이라고도 함)에서 오류가 발생할 경우 자세한 오류 메시지가 호출자에게 반환됩니다.When an error occurs in Windows PowerShell Web Services (PSWS, also called Management OData IIS Extension), while a cmdlet is running, more detailed error messages are returned to the caller. 또한 오류 코드는 Micosoft Azure REST API 오류 코드 지침을 따릅니다.In addition, error codes follow Windows Azure REST API error code guidelines.

  • 이제 엔드포인트에서 API 버전을 정의하고 특정 API 버전을 강제로 사용할 수 있습니다.An endpoint can now define the API version, as well as enforce the usage of a specific API version. 클라이언트와 서버의 버전이 일치하지 않을 경우 항상 클라이언트와 서버 모두에 오류가 표시됩니다.Whenever version mismatches occur between client and server, errors are displayed to both the client and the server.

  • 스키마에서 누락된 필드에 대한 값을 자동으로 생성하여 디스패치 스키마 관리를 간소화했습니다.Management of the dispatch schema has been simplified by automatically generating values for any missing fields in the schema. 디스패치 스키마가 없는 경우에도 유용한 시작점으로 생성됩니다.Generation occurs, as a helpful starting point, even if the dispatch schema does not exist.

  • Windows PowerShell의 PSTypeConverter와 비슷하게 동작하여 기본 생성자가 아닌 다른 생성자를 사용하는 형식을 지원하도록 PSWS의 형식 처리가 향상되었습니다.Type handling in PSWS has been improved to support types that use a different constructor than the default constructor, by behaving similarly to the PSTypeConverter in Windows PowerShell. 따라서 PSWS에서 복잡한 형식을 사용할 수 있습니다.This lets you use complex types with PSWS.

  • 이제 쿼리를 실행하는 동안 PSWS에서 연결된 인스턴스를 확장할 수 있습니다.PSWS now allows expanding an associated instance while running a query. 대용량 이진 콘텐츠(예: 이미지, 오디오, 비디오)의 경우 높은 전송 비용이 발생하므로 인코딩하지 않고 이진 데이터를 전송하는 것이 좋습니다.For larger binary contents (such as images, audio, or video), the transfer cost is significant, and it is better to transfer binary data without encoding. PSWS에서는 인코딩하지 않고 전송하기 위해 명명된 리소스 스트림을 사용합니다.PSWS uses named resource streams for transferring without encoding. 명명된 리소스 스트림은 Edm.Stream 형식 엔터티의 속성입니다.The named resource stream is a property of an entity of the Edm.Stream type. 각 명명된 리소스 스트림에서는 GET 또는 UPDATE 작업에 대해 별도의 URI를 사용합니다.Each named resource stream has a separate URI for GET or UPDATE operations.

  • 이제 OData 작업을 사용하여 리소스에서 CRUD(Create, Read, Update, Delete) 이외의 메서드를 호출할 수 있습니다.OData actions now provide a mechanism for invoking non-CRUD (Create, Read, Update, and Delete) methods on a resource. HTTP POST 요청을 작업에 대해 정의된 URI에 전송하여 작업을 호출할 수 있습니다.You can invoke an action by sending an HTTP POST request to the URI that is defined for the action. 작업에 대한 매개 변수를 POST 요청의 본문에 정의되어 있습니다.The parameters for the action are defined in the body of the POST request.

  • Microsoft Azure 지침을 준수하려면 모든 URL을 간소화해야 합니다.To be consistent with Windows Azure guidelines, all URLs should be simplified. Key As Segment에 포함된 변경에 따라 단일 키를 세그먼트로 표시할 수 있습니다.A change included in Key As Segment allows single keys to be represented as segments. 앞에 표시된 것처럼 여러 키 값을 사용하는 참조에서는 쉼표로 구분된 값을 괄호로 묶어서 표기해야 합니다.Note that references that use multiple key values require comma-separated values in parenthetical notation, as before.

  • 이 PSWS 이전 릴리스에서는 만들기, 업데이트 또는 삭제 작업을 수행하려면 최상위 리소스에서 Post, Put 또는 Delete를 호출해야 했습니다.Before this release of PSWS, the only way to perform Create, Update, or Delete operations was to invoke Post, Put, or Delete on a top-level resource. 이 PSWS 릴리스의 새로운 기능인 포함된 리소스 작업을 사용하면 동일한 리소스에 직접 연결하지 않은 상태에서도 해당 리소스가 포함된 경우와 동일한 결과를 얻을 수 있습니다.New in this release of PSWS, Contained Resource operations let users achieve the same results while reaching the same resource less directly, approaching as if these resources were contained.

Windows PowerShell 웹 액세스의 새로운 기능New features in Windows PowerShell Web Access

  • 웹 기반 Windows PowerShell 웹 액세스 콘솔에서 기존 세션에 대한 연결을 끊었다가 다시 연결할 수 있습니다.You can disconnect from and reconnect to existing sessions in the web-based Windows PowerShell Web Access console. 웹 기반 콘솔에서 저장 단추를 사용하면 세션을 삭제하지 않고 세션에서 연결을 끊었다가 나중에 세션에 다시 연결할 수 있습니다.A Save button in the web-based console lets you disconnect from a session without deleting it and reconnect to the session another time.

  • 기본 매개 변수를 로그인 페이지에 표시할 수 있습니다.Default parameters can be displayed on the sign-in page. 기본 매개 변수를 표시하려면 web.config 파일에서 로그인 페이지의 옵션 연결 설정 영역에 표시되는 모든 설정에 대한 값을 구성합니다. web.config 파일을 사용하여 두 번째 또는 대체 자격 증명 집합을 제외한 모든 옵션 연결 설정을 구성할 수 있습니다.To display default parameters, configure values for all of the settings displayed in the Optional Connection Settings area of the sign-in page in a file named web.config. You can use the web.config file to configure all optional connection settings except for a second or alternate set of credentials.

  • Windows Server 2012 R2에서 Windows PowerShell 웹 액세스에 대한 권한 부여 규칙을 원격으로 관리할 수 있습니다.In Windows Server 2012 R2, you can remotely manage authorization rules for Windows PowerShell Web Access. 이제 Add-PswaAuthorizationRuleTest-PswaAuthorizationRule cmdlet에는 관리자가 원격 컴퓨터 또는 Windows PowerShell 웹 액세스 세션에서 권한 부여 규칙을 관리하는 데 사용할 수 있는 Credential 매개 변수가 포함되어 있습니다.The Add-PswaAuthorizationRule and Test-PswaAuthorizationRule cmdlets now include a Credential parameter that enables administrators to manage authorization rules from a remote computer or in a Windows PowerShell Web Access session.

  • 이제 세션마다 새로운 브라우저 탭을 사용하여 단일 브라우저 세션에 여러 Windows PowerShell 웹 액세스 세션을 포함할 수 있습니다.You can now have multiple Windows PowerShell Web Access sessions in a single browser session by using a new browser tab for each session. 웹 기반 Windows PowerShell 콘솔에서 새 세션에 연결하기 위해 더 이상 새 브라우저 세션을 열 필요가 없습니다.You no longer need to open a new browser session to connect to a new session in the web-based Windows PowerShell console.

Windows PowerShell 4.0의 중요한 버그 수정Notable bug fixes in Windows PowerShell 4.0

  • 이제 Get-Counter가 프랑스어 버전 Windows에서 아포스트로피 문자를 포함하는 카운터를 반환할 수 있습니다.Get-Counter can now return counters that contain an apostrophe character in French editions of Windows.

  • 이제 역직렬화된 개체에서 GetType 메서드를 볼 수 있습니다.You can now view the GetType method on deserialized objects.

  • 이제 필요한 경우 #Requires 문을 사용하여 관리자 액세스 권한을 요청할 수 있습니다.#Requires statements now let users require Administrator access rights, if needed.

  • 이제 Import-Csv cmdlet이 빈 줄을 무시합니다.The Import-Csv cmdlet now ignores blank lines.

  • Invoke-WebRequest 명령을 실행 중일 때 Windows PowerShell ISE에서 너무 많은 메모리를 사용하는 문제가 수정되었습니다.A problem where Windows PowerShell ISE uses too much memory when you are running an Invoke-WebRequest command has been fixed.

  • 이제 Get-ModuleVersion 열에 모듈 버전을 표시합니다.Get-Module now displays module versions in a Version column.

  • Remove-Item –Recurse는 이제 예상대로 하위 폴더에서 항목을 제거합니다.Remove-Item -Recurse now removes items from subfolders as expected.

  • UserName 속성이 Get-Process 출력 개체에 추가되었습니다.A UserName property has been added to Get-Process output objects.

  • 이제 Invoke-RestMethod cmdlet이 사용 가능한 모든 결과를 반환합니다.The Invoke-RestMethod cmdlet now returns all available results.

  • 이제 해시 테이블에 아직 액세스하지 않은 경우에도 Add-Member가 해시 테이블에 적용됩니다.Add-Member now takes effect on hashtables, even if the hashtables have not yet been accessed.

  • 속성 값이 null이거나 비어 있는 경우에 Select-Object –Expand가 더 이상 실패하거나 예외를 생성하지 않습니다.Select-Object -Expand no longer fails or generates an exception if the value of the property is null or empty.

  • 이제 개체에서 ComputerName 속성을 가져오는 다른 명령과 함께 Get-Process를 파이프라인에서 사용할 수 있습니다.Get-Process can now be used in a pipeline with other commands that get the ComputerName property from objects.

  • 이제 ConvertTo-JsonConvertFrom-Json이 큰따옴표 안의 용어를 허용하고 해당 오류 메시지를 지역화할 수 있습니다.ConvertTo-Json and ConvertFrom-Json can now accept terms within double quotes, and its error messages are now localizable.

  • 이제 Get-Job이 새 세션에서도 완료된 예약 작업을 모두 반환합니다.Get-Job now returns any completed scheduled jobs, even in new sessions.

  • Windows PowerShell 4.0에서 FileSystem 공급자를 사용하여 VHD 탑재 및 탑재 해제 문제를 수정했습니다.Issues with mounting and unmounting VHDs by using the FileSystem provider in Windows PowerShell 4.0 have been fixed. 이제 Windows PowerShell에서 동일한 세션에 탑재된 새로운 드라이브를 검색할 수 있습니다.Windows PowerShell is now able to detect new drives when they are mounted in the same session.

  • 이제 작업 유형을 사용하기 위해 더 이상 ScheduledJob 또는 Workflow 모듈을 명시적으로 로드할 필요가 없습니다.You no longer need to explicitly load ScheduledJob or Workflow modules to work with their job types.

  • 중첩된 워크플로를 정의하는 워크플로를 가져오는 프로세스의 성능이 향상되어, 이제 프로세스가 더 빨라졌습니다.Performance improvements have been made to the process of importing workflows that define nested workflows; this process is now faster.

Windows PowerShell 3.0의 새로운 기능New features in Windows PowerShell 3.0

Windows PowerShell 3.0에는 다음과 같은 새로운 기능이 있습니다.Windows PowerShell 3.0 includes the following new features.

Windows PowerShell 워크플로Windows PowerShell Workflow

Windows PowerShell 워크플로를 통해 Windows PowerShell에서 Windows Workflow Foundation의 강력한 기능을 사용할 수 있습니다.Windows PowerShell Workflow brings the power of Windows Workflow Foundation to Windows PowerShell. XAML 또는 Windows PowerShell 언어로 워크플로를 작성한 후 cmdlet을 실행할 때처럼 워크플로를 실행할 수 있습니다.You can write workflows in XAML or in the Windows PowerShell language and run them just as you would run a cmdlet. Get-Command cmdlet은 워크플로 명령을 가져오고 Get-Help cmdlet은 워크플로에 대한 도움말을 가져옵니다.The Get-Command cmdlet gets workflw commands and the Get-Help cmdlet gets help for workflows.

워크플로는 장기적으로 자주 병렬 실행 가능하고, 반복, 중단, 일시 중단 및 다시 시작 가능한 다중 컴퓨터 관리 활동의 시퀀스입니다.Workflows are sequences of multicomputer management activities that are long-running, repeatable, frequent, parallelizable, interruptible, suspendable, and restartable. 네트워크 중단, Windows 다시 시작, 정전 등과 같은 의도적이거나 우연적인 중단으로부터 워크플로를 다시 시작할 수 있습니다.Workflows can be resumed from an intentional or accidental interruption, such as a network outage, a Windows restart, or a power failure.

또한 워크플로는 이식 가능합니다. 즉, 워크플로는 XAML 파일로 내보내거나 XAML 파일에서 가져올 수 있습니다.Workflows are also portable; they can be exported as or imported from XAML files. 위임된 IT 사용자나 하위 IT 사용자는 사용자 지정 세션 구성을 통해 워크플로 또는 워크플로 내의 활동을 실행할 수 있습니다.You can write custom session configurations that allow workflow or activities in a workflow to be run by delegated or subordinate users.

다음은 Windows PowerShell 워크플로의 이점입니다.The following are the benefits of Windows PowerShell Workflow

  • 순차화된 장기 실행 작업의 자동화.Automation of sequenced, long-running tasks.

  • 장기 실행 작업 원격 모니터링.Remote monitoring of long-running tasks. 활동의 상태 및 진행률을 언제든지 볼 수 있습니다.Status and progress of activities are visible at any time.

  • 다중 컴퓨터 관리.Multicomputer management. 동시에 수백 개의 관리되는 노드에서 작업을 워크플로로 실행합니다.Simultaneously run tasks as workflows on hundreds of managed nodes. Windows PowerShell 워크플로에는 다중 컴퓨터 관리 시나리오를 지원하는 일반 관리 매개 변수의 기본 제공 라이브러리(예: PSComputerName)가 포함되어 있습니다.Windows PowerShell Workflow includes a built-in library of common management parameters, such as PSComputerName, which enable multi-computer management scenarios.

  • 복잡한 프로세스의 단일 작업 실행.Single task execution of complex processes. 전체 종단 간 시나리오를 단일 워크플로로 구현하는 관련 스크립트를 결합할 수 있습니다.You can combine related scripts that implement an entire end-to-end scenario into a single workflow.

  • 지속성: 워크플로를 처음부터 다시 시작하지 않고 마지막 지속성 작업 또는 검사점에서 워크플로를 다시 시작할 수 있도록 작성자가 정의한 특정 지점에서 워크플로를 저장하거나 검사점을 지정합니다.Persistence.: a workflow is saved (or check-pointed) at specific points defined by its author so you can resume the workflow from the last persisted task (or checkpoint), instead of restarting the workflow from the beginning.

  • 견고성.Robustness. 자동화된 오류 복구.Automated failure recovery. 워크플로가 계획되거나 계획되지 않은 다시 시작 후에 유지됩니다.Workflows survive planned and unplanned restarts. 워크플로 실행을 일시 중지한 다음 마지막 지속성 지점에서 워크플로를 다시 시작할 수 있습니다.You can suspend workflow execution and then resume the workflow from the last persistence point. 워크플로 작성자는 하나 이상의 관리되는 노드에서 오류가 발생한 경우 특정 활동을 다시 실행하도록 지정할 수 있습니다.Workflow authors can designate specific activities to be re-run in case of failure on one or more managed nodes.

  • 연결을 끊고, 다시 연결하여 연결이 끊긴 세션에서 실행할 수 있습니다.Ability to disconnect, reconnect, and run in disconnected sessions. 사용자는 워크플로 서버에서 연결하고 연결을 끊을 수 있지만 워크플로는 지속적으로 실행됩니다.Users can connect and disconnect from the workflow server, but the workflow runs continuously. 워크플로를 중단하지 않고 클라이언트 컴퓨터에서 로그오프하거나 클라이언트 컴퓨터를 다시 시작하고 다른 컴퓨터에서 워크플로 실행을 모니터링할 수 있습니다.You can log off of the client computer or restart the client computer and monitor the workflow execution from another computer without interrupting the workflow.

  • 일정 예약.Scheduling. Windows PowerShell cmdlet 또는 스크립트처럼 워크플로 작업을 예약할 수 있습니다.Workflow tasks can be scheduled like any Windows PowerShell cmdlet or script.

  • 워크플로 및 연결 제한.Workflow and Connection Throttling. 워크플로 실행 및 노드 연결을 제한하여 확장성 및 고가용성 시나리오를 지원할 수 있습니다.Workflow execution and connections to nodes can be throttled, thus enabling scalability and high-availability scenarios.

Windows PowerShell 웹 액세스Windows PowerShell Web Access

Windows PowerShell 웹 액세스는 웹 기반 콘솔에서 Windows PowerShell 명령 및 스크립트를 실행할 수 있는 Windows Server 2012 기능입니다.Windows PowerShell Web Access is a Windows Server 2012 feature that lets users run Windows PowerShell commands and scripts in a web-based console. 웹 기반 콘솔을 사용하는 장치에서는 Windows PowerShell, 원격 관리 소프트웨어 또는 브라우저 플러그 인 설치가 필요하지 않습니다.Devices that use the web-based console do not require Windows PowerShell, remote management software, or browser plug-in installations. 올바르게 구성된 Windows PowerShell 웹 액세스 게이트웨이와 JavaScript를 지원하고 쿠키를 적용하는 클라이언트 장치 브라우저만 있으면 됩니다.All that is required is a properly-configured Windows PowerShell Web Access gateway and a client device browser that supports JavaScript and accepts cookies.

자세한 내용은 Windows PowerShell 웹 액세스 배포를 참조하세요.For more information, see Deploy Windows PowerShell Web Access.

Windows PowerShell ISE의 새로운 기능New Windows PowerShell ISE Features

Windows PowerShell 3.0의 경우 Windows PowerShell ISE(통합 스크립팅 환경)에 IntelliSense, Show-명령 창, 통합 콘솔 창, 코드 조작, 중괄호 일치, 섹션 확장/축소, 자동 저장, 최근 항목 목록, 서식 있는 복사, 블록 복사, Windows PowerShell 스크립트 워크플로 작성 전체 지원 등과 같은 많은 새로운 기능이 있습니다.For Windows PowerShell 3.0, Windows PowerShell Integrated Scripting Environment (ISE) has many new features, including IntelliSense, Show-Command window, a unified Console Pane, snippets, brace-matching, expand-collapse sections, auto-save, recent items list, rich copy, block copy, and full support for writing Windows PowerShell script workflows. 자세한 내용은 about_Windows_PowerShell_ISE [v3]를 참조하세요.For more information, see about_Windows_PowerShell_ISE [v3].

Microsoft .NET Framework 4 지원Support for Microsoft .NET Framework 4

Windows PowerShell은 Common Language Runtime 4.0을 기반으로 합니다.Windows PowerShell is built against the Common Language Runtime 4.0. Cmdlet, 스크립트 및 워크플로 작성자는 Windows PowerShell의 새로운 Microsoft .NET Framework 4 클래스를 응용 프로그램 호환성 및 배포, 관리되는 확장 프레임워크, 병렬 계산, 네트워킹, Windows Communication Foundation, Windows Workflow Foundation 등과 같은 기능과 함께 사용할 수 있습니다.Cmdlet, script, and workflow authors can use the new Microsoft .NET Framework 4 classes in Windows PowerShell, with features that include Application Compatibility and Deployment, Managed Extensibility Framework, Parallel Computing, Networking, Windows Communication Foundation and Windows Workflow Foundation.

Windows 사전 설치 환경 지원Support for Windows Preinstallation Environment

Windows PowerShell 3.0은 Windows 8용 Windows PE(Windows 사전 설치 환경) 4.0의 선택적 구성 요소입니다.Windows PowerShell 3.0 is an optional component of Windows Preinstallation Environment (Windows PE) 4.0 for Windows 8. Windows PE는 운영 체제가 없는 컴퓨터를 시작하고 Windows 설치를 준비하는 최소 운영 체제입니다.Windows PE is a minimal operating system that starts a computer that has no operating system and prepares it for Windows installation. Windows PE를 사용하면 하드 드라이브의 파티션을 추가하여 포맷하고, 디스크 이미지를 컴퓨터에 복사하고, 네트워크 공유에서 Windows 설치 프로그램을 시작할 수 있습니다.Windows PE can be used to partition and format hard drives, copy disk images to a computer, and initiate Windows Setup from a network share. Windows PE에서 Windows PowerShell 3.0을 사용하여 배포, 진단 및 복구 시나리오를 관리할 수 있습니다.Windows PowerShell 3.0 can be used on Windows PE to manage deployment, diagnostics, and recovery scenarios.

연결이 끊긴 세션Disconnected Sessions

Windows PowerShell 3.0 이상에서는 New-PSSession cmdlet을 사용하여 만든 지속성 사용자 관리 세션("PSSessions")이 원격 컴퓨터에 저장됩니다.Beginning in Windows PowerShell 3.0, persistent user-managed sessions ("PSSessions") that you create by using the New-PSSession cmdlet are saved on the remote computer. 따라서 만들어진 세션에 더 이상 종속되지 않습니다.They are no longer dependent on the session in which they were created.

이제 세션에서 실행 중인 명령을 중단하지 않고 세션 연결을 끊을 수 있습니다.You can now disconnect from a session without disrupting the commands that are running in the session. 세션을 닫고 컴퓨터를 종료할 수 있습니다.You can close the session and shut down your computer. 나중에 동일한 컴퓨터나 다른 컴퓨터의 다른 세션에서 세션에 다시 연결할 수 있습니다.Later, you can reconnect to the session from a different session on the same or on a different computer.

이제 다른 컴퓨터의 다른 세션에서 시작된 경우에도 Get-PSSession cmdlet의 ComputerName 매개 변수가 컴퓨터에 연결하는 모든 사용자 세션을 가져옵니다.The ComputerName parameter of the Get-PSSession cmdlet now gets all of the user's sessions that connect to the computer, even if they were started in a different session on a different computer. 세션에 연결하고, 명령의 결과를 가져오고, 새 명령을 시작하고, 세션 연결을 끊을 수 있습니다.You can connect to the sessions, get the results of commands, start new commands, and then disconnect from the session.

연결이 끊긴 세션 기능을 지원하기 위해 새 cmdlet(Disconnect-PSSession, Connect-PSSession, Receive-PSSession 등)을 추가하고 PSSessions을 관리하는 cmdlet에 새 매개 변수(예: Invoke-Command cmdlet의 InDisconnectedSession 매개 변수)가 추가되었습니다.New cmdlets have been added to support the Disconnected Sessions feature, including Disconnect-PSSession, Connect-PSSession, and Receive-PSSession, and new parameters have been added to cmdlets that manage PSSessions, such as the InDisconnectedSession parameter of the Invoke-Command cmdlet.

연결이 끊긴 세션 기능은 연결의 시작 끝("클라이언트")과 종료 끝("서버")의 컴퓨터에서 모두 Windows PowerShell 3.0을 실행하고 있는 경우에만 지원됩니다.The Disconnected Sessions feature is supported only when the computers at both the originating ("client") and terminating ("server") ends of the connection are running Windows PowerShell 3.0.

강력한 세션 연결Robust Session Connectivity

Windows PowerShell 3.0은 클라이언트와 서버 사이의 예기치 못한 연결 끊김을 감지하여 다시 연결하여 자동으로 다시 실행하려고 시도합니다.Windows PowerShell 3.0 detects unexpected losses of connectivity between the client and server and attempts to reestablish connectivity and resume execution automatically. 할당된 시간 내에 클라이언트/서버 연결을 다시 설정할 수 없는 경우 사용자에게 알림 메시지를 표시하고 세션 연결을 끊습니다.If the client-server connection cannot be reestablished in the allotted time, the user is notified and the session is disconnected. 다시 연결하는 동안 Windows PowerShell에서 사용자에게 지속적으로 피드백을 제공합니다.During the attempt to reconnect, Windows PowerShell provides continuous feedback to the user.

InvokeCommand를 사용하여 연결이 끊긴 세션을 시작한 경우 Windows PowerShell에서는 쉽게 다시 연결하여 다시 실행할 수 있도록 연결이 끊긴 세션에 대한 작업을 만듭니다.If the disconnected session was started by using the InvokeCommand, Windows PowerShell creates a job for the disconnected session to make it easier to reconnect and resume execution.

이러한 기능은 더 안정적이고 복구 가능한 원격 환경을 제공하여 사용자가 워크플로와 같은 강력한 세션이 필요한 장기적으로 실행되는 작업을 수행할 수 있도록 지원합니다.These features provide a more reliable and recoverable remoting experience and allow users to perform long-running tasks that require robust sessions, such as workflows.

업데이트할 수 있는 도움말 시스템Updatable Help System

이제 모듈에서 cmdlet에 대해 업데이트된 도움말 파일을 다운로드할 수 있습니다.You can now download updated help files for the cmdlets in your modules. Update-Help cmdlet은 최신 도움말 파일을 식별하고 인터넷에서 다운로드하여 압축을 풀고 확인한 다음 모듈의 해당 언어별 디렉터리에 설치합니다.The Update-Help cmdlet identifies the newest help files, downloads them from the Internet, unpacks them, validates them, and installs them in the correct language-specific directory for the module.

업데이트된 도움말 파일을 사용하려면 Get-Help를 입력합니다.To use the updated help files, just type Get-Help. Windows 또는 Windows PowerShell을 다시 시작하지 않아도 됩니다.You do not need to restart Windows or Windows PowerShell. $pshome 디렉터리의 모듈에 대한 도움말을 업데이트하려면 "관리자 권한으로 실행" 옵션을 사용하여 Windows PowerShell을 시작합니다.To update help for modules in the $pshome directory, start Windows PowerShell with the "Run as administrator" option.

인터넷에 연결할 수 없거나 방화벽 뒤에 있는 사용자를 지원하기 위해 새 Save-Help cmdlet은 도움말 파일을 파일 시스템 디렉터리(예: 파일 공유)에 다운로드합니다.To support users who don't have Internet access and users behind firewalls, the new Save-Help cmdlet downloads help files to a file system directory, such as a file share. 그러면 사용자는 Update-help cmdlet을 사용하여 파일 공유에서 업데이트된 도움말 파일을 가져올 수 있습니다.Users can then use the Update-Help cmdlet to get updated help files from the file share.

Update-Help cmdlet을 사용하여 모든 지원되는 UI 문화권의 모든 또는 특정 모듈에 대한 도움말 파일을 업데이트할 수 있습니다.You can use the Update-Help cmdlet to update help files for all or particular modules in all supported UI cultures. Update-Help 명령을 Windows PowerShell 프로필에 넣을 수도 있습니다.You can even put an Update-Help command in your Windows PowerShell profile. 기본적으로 Windows PowerShell에서는 매일 두 번 이상 모듈에 대한 도움말 파일을 다운로드합니다.By default, Windows PowerShell downloads the help files for a module no more than once each day.

Windows 8 및 Windows Server 2012 모듈에는 도움말 파일이 포함되어 있지 않습니다.Windows 8 and Windows Server 2012 modules do not include help files. 최신 도움말 파일을 다운로드하려면 Update-Help를 입력합니다.To download the latest help files, type Update-Help. 자세한 내용을 보려면 Get-Help(매개 변수 제외)를 입력하거나 about_Updatable_Help를 참조하세요.For more information, type Get-Help (without parameters) or see about_Updatable_Help.

cmdlet에 대한 도움말 파일이 컴퓨터에 설치되어 있지 않은 경우 Get-Help cmdlet은 이제 자동 생성된 도움말을 표시합니다.When the help files for a cmdlet are not installed on the computer, the Get-Help cmdlet now displays auto-generated help. 자동 생성된 도움말에는 Update-Help cmdlet을 사용하여 도움말 파일을 다운로드하기 위한 명령 구문과 지침이 포함되어 있습니다.The auto-generated help includes the command syntax and instructions for using the Update-Help cmdlet to download help files.

모든 모듈 작성자는 해당 모듈에 대해 업데이트할 수 있는 도움말을 지원할 수 있습니다.Any module author can support Updatable Help for their module. 모듈에 도움말 파일을 포함하고 업데이트할 수 있는 도움말을 사용하여 도움말을 업데이트하거나 도움말 파일을 생략하고 업데이트할 수 있는 도움말을 사용하여 도움말을 설치할 수 있습니다.You can include help files in the module and use Updatable Help to update them or omit the help files and use Updatable Help to install them. 업데이트할 수 있는 도움말을 지원하는 방법에 대한 자세한 내용은 MSDN에서 Supporting Updatable Help(업데이트할 수 있는 도움말 지원)를 참조하세요.For more information about supporting Updatable Help, see Supporting Updatable Help in MSDN.

향상된 온라인 도움말Enhanced Online Help

Windows PowerShell 온라인 도움말은 모든 사용자에게 중요한 리소스이지만 업데이트된 도움말 파일을 설치하지 않았거나 설치할 수 없는 사용자에게 특히 중요합니다.Windows PowerShell online help is a valuable resource for all users, but it is especially important to users who do not or cannot install updated help files.

Windows PowerShell cmdlet에 대한 온라인 도움말을 가져오려면 다음과 같이 입력합니다.To get online help for any Windows PowerShell cmdlet, type:

Get-Help <cmdlet-name> -Online

Windows PowerShell에서는 도움말 항목의 온라인 버전을 기본 인터넷 브라우저에서 엽니다.Windows PowerShell opens the online version of the help topic in your default Internet browser.

Windows PowerShell 3.0의 Get-Help -Online 기능은 이제 cmdlet에 대한 도움말 파일을 컴퓨터에 설치하지 않은 경우에도 작동하므로 훨씬 더 강력해졌습니다.The Get-Help -Online feature in Windows PowerShell 3.0 is now even more powerful because it works even when help files for the cmdlet are not installed on the computer. Get-Help -Online 기능은 cmdlet의 HelpUri 속성 및 고급 기능에서 온라인 도움말 항목에 대한 URI를 가져옵니다.The Get-Help -Online feature gets the URI for online help topic from the HelpUri property of cmdlets and advanced functions.

PS C:\>(Get-Command Get-ScheduledJob).HelpUri
http://go.microsoft.com/fwlink/?LinkID=223923

Windows PowerShell 3.0 이상에서 C# cmdlet 작성자는 cmdlet 클래스에서 HelpUri 특성을 만들어서 HelpUri 속성을 채울 수 있습니다.Beginning in Windows PowerShell 3.0, authors of C# cmdlets can populate the HelpUri property by creating a HelpUri attribute on the cmdlet class. 고급 기능의 작성자는 CmdletBinding 특성에서 HelpUri 속성을 정의할 수 있습니다.Authors of advanced functions can define a HelpUri property on the CmdletBinding attribute. HelpUri 속성 값은 "http" 또는 "https"로 시작해야 합니다.The value of the HelpUri property must begin with "http" or "https".

XML 기반 cmdlet 도움말 파일의 첫 번째 관련 링크 또는 함수의 명령 기반 도움말의 .Link 지시어에 HelpUri 값을 포함할 수도 있습니다.You can also include a HelpUri value in the first related link of an XML-based cmdlet help file or the .Link directive of comment-based help in a function.

온라인 도움말 지원에 대한 자세한 내용은 MSDN에서 Supporting Online Help(온라인 도움말 지원)를 참조하세요.For more information about supporting online help, see Supporting Online Help in MSDN.

CIM 통합CIM integration

Windows PowerShell 3.0에서는 이기종 시스템 간에 관리 정보를 교환할 수 있도록 시스템, 네트워크, 응용 프로그램 및 서비스에 대한 관리 정보의 일반 정의를 제공하는 CIM(Common Information Model)을 지원합니다.Windows PowerShell 3.0 includes support for the Common Information Model (CIM), which provides common definitions of management information for systems, networks, applications, and services, allowing them the exchange of management information between heterogeneous systems. Windows PowerShell 3.0에서는 새 CIM 클래스 또는 기존 CIM 클래스를 기반으로 Windows PowerShell cmdlet 작성, cmdlet 정의 XML 파일 기반 명령, CIM .NET Framework 지원을 비롯한 CIM을 지원합니다.Support for CIM in Windows PowerShell 3.0, including the ability to author Windows PowerShell cmdlets based on new or existing CIM classes, commands based on cmdlet definition XML files, support for CIM .NET Framework. API, CIM 관리 cmdlet 및 WMI 2.0 공급자.API, CIM management cmdlets and WMI 2.0 providers.

세션 구성 파일Session Configuration Files

Windows PowerShell 3.0 이상에서는 파일을 사용하여 사용자 지정 세션 구성을 설계할 수 있습니다.Beginning in Windows PowerShell 3.0, you can design a custom session configuration by using a file. 새 세션 구성 파일을 사용하여 세션 구성을 사용하는 세션 환경을 결정할 수 있습니다(예: 세션에 로드되는 모듈, 스크립트 및 서식 파일, 사용할 수 있는 cmdlet 및 언어 요소, 실행할 수 있는 모듈 및 스크립트, 표시할 수 있는 변수).The new session configuration file lets you determine the environment of sessions that use the session configuration, including which modules, scripts, and format files are loaded into sessions, which cmdlets and language elements users can use, which modules and scripts they can run, and which variables they can see.

사용자가 특정 모듈에서만 cmdlet을 실행할 수 있는 세션을 설계하거나, 전체 언어를 사용하고 모든 모듈에 액세스하고 고급 작업을 수행하는 스크립트에 액세스할 수 있는 세션을 설계할 수 있습니다.You can design a session in which users can only run the cmdlets from one particular module, or a session in which users have full language, access to all modules, and access to scripts that perform advanced tasks.

이전 버전의 Windows PowerShell에서는 C# 프로그램 또는 복잡한 시작 스크립트를 작성할 수 있는 사용자만 이 수준의 컨트롤을 사용할 수 있습니다.In previous versions of Windows PowerShell, control at this level was available only to those who could write a C# program or a complex start-up script. 이제 컴퓨터에서 Administrators 그룹의 모든 구성원은 구성 파일을 사용하여 세션 구성을 사용자 지정할 수 있습니다.Now, any member of the Administrators group on the computer can customize a session configuration by using a configuration file.

세션 구성 파일을 만들려면 New-PSSessionConfigurationFile cmdlet을 사용합니다.To create a session configuration file, use the New-PSSessionConfigurationFile cmdlet. 세션 구성 파일을 세션 구성에 적용하려면 Register-PSSessionConfiguration 또는 Set-PSSessionConfiguration cmdlet을 사용합니다.To apply the session configuration file to a session configuration, use the Register-PSSessionConfiguration or Set-PSSessionConfiguration cmdlets.

자세한 내용은 about_Session_Configuration_FilesNew-PSSessionConfigurationFile을 참조하세요.For more information, see about_Session_Configuration_Files and New-PSSessionConfigurationFile.

예약된 작업 및 작업 스케줄러 통합Scheduled Jobs and Task Scheduler Integration

이제 Windows PowerShell 백그라운드 작업을 예약하고 Windows PowerShell 및 작업 스케줄러에서 해당 작업을 관리할 수 있습니다.You can now schedule Windows PowerShell background jobs and manage them in Windows PowerShell and in Task Scheduler.

Windows PowerShell에서 예약된 작업은 Windows PowerShell 백그라운드 작업 및 작업 스케줄러 작업의 유용한 하이브리드입니다.Windows PowerShell scheduled jobs are a useful hybrid of Windows PowerShell background jobs and Task Scheduler tasks.

Windows PowerShell 백그라운드 작업과 마찬가지로 예약된 작업은 백그라운드에서 비동기적으로 실행됩니다.Like Windows PowerShell background jobs, scheduled jobs run asynchronously in the background. 완료한 예약된 작업 인스턴스는 작업 cmdlet(예: Start-JobGet-Job)을 사용하여 관리할 수 있습니다.Instances of scheduled jobs that have completed can be managed by using the job cmdlets, such as Start-Job and Get-Job.

작업 스케줄러 작업과 마찬가지로 일회성 또는 되풀이 일정을 따르거나 작업 또는 이벤트에 대한 응답으로 예약된 작업을 실행할 수 있습니다.Like Task Scheduler tasks, you can run scheduled jobs on a one-time or recurrent schedule, or in response to an action or event. 작업 스케줄러에서 예약된 작업을 표시 및 관리하고, 필요에 따라 예약된 작업을 사용 또는 사용하지 않도록 지정하고, 예약된 작업을 템플릿으로 실행하거나 사용하고, 작업이 시작되는 조건을 설정할 수 있습니다.You can view and manage scheduled jobs in Task Scheduler, enable and disable them as needed, run them or use them as templates, and set conditions under which the jobs start.

예약된 작업은 관리하는 데 필요한 사용자 지정된 cmdlet 집합과 함께 제공됩니다.In addition, scheduled jobs come with a customized set of cmdlets for managing them. cmdlet을 사용하여 예약된 작업을 작성, 편집 또는 관리하거나 사용하지 않도록 지정한 다음 다시 사용하도록 지정하고, 예약된 작업 트리거를 만들고, 예약된 작업 옵션을 설정할 수 있습니다.The cmdlets let you create, edit, manage, disable, and re-enable scheduled jobs, create scheduled job triggers and set scheduled job options.

예약된 작업에 대한 자세한 내용은 about_Scheduled_Jobs를 참조하세요.For more information about scheduled jobs, see about_Scheduled_Jobs.

Windows PowerShell 언어 향상Windows PowerShell Language Enhancements

Windows PowerShell 3.0에는 언어를 간소하고 용이하며 일반 오류를 방지하도록 설계된 다양한 기능이 포함되어 있습니다.Windows PowerShell 3.0 includes many features that are designed to make its language simpler, easier to use, and to avoid common errors. 향상된 기능으로는 property 열거형, 스칼라 개체에 대한 count 및 length 속성, 새로운 리디렉션 연산자, $Using 범위 한정자, PSItem 자동 변수, 유연한 스크립트 서식, 변수 특성, 간소화된 특성 인수, 숫자 명령 이름, Stop-Parsing 연산자, 향상된 배열 스플랫, 새로운 비트 연산자, 순서가 지정된 사전, PSCustomObject 캐스팅, 향상된 설명 기반 도움말 등이 있습니다.The improvements include property enumeration, count and length properties on scalar objects, new redirection operators, the $Using scope modifier, PSItem automatic variable, flexible script formatting, attributes of variables, simplified attribute arguments, numeric command names, the Stop-Parsing operator, improved array splatting, new bit operators, ordered dictionaries, PSCustomObject casting, and improved comment-based help.

새로운 핵심 CmdletNew Core Cmdlets

예약된 작업, 연결이 끊긴 세션, CIM 통합, 업데이트할 수 있는 도움말 시스템 등을 관리하는 cmdlet을 포함하여 새로운 cmdlet이 Windows PowerShell 핵심 설치에 추가되었습니다.New cmdlets were added to the Windows PowerShell Core installation, including cmdlets to manage scheduled jobs, disconnected sessions, CIM integration and the Updatable Help System.

Add-JobTriggerAdd-JobTrigger New-JobTriggerNew-JobTrigger
Connect-PSSessionConnect-PSSession New-PSSessionConfigurationFileNew-PSSessionConfigurationFile
ConvertFrom-JsonConvertFrom-Json New-PSTransportOptionNew-PSTransportOption
ConvertTo-JsonConvertTo-Json New-PSWorkflowExecutionOptionNew-PSWorkflowExecutionOption
Disable-JobTriggerDisable-JobTrigger New-PSWorkflowSessionNew-PSWorkflowSession
Disable-ScheduledJobDisable-ScheduledJob New-ScheduledJobOptionNew-ScheduledJobOption
Disconnect-PSSessionDisconnect-PSSession New-WinEventNew-WinEvent
Enable-JobTriggerEnable-JobTrigger Receive-PSSessionReceive-PSSession
Enable-ScheduledJobEnable-ScheduledJob Register-CimIndicationEventRegister-CimIndicationEvent
Get-CimAssociatedInstanceGet-CimAssociatedInstance Register-ScheduledJobRegister-ScheduledJob
Get-CimClassGet-CimClass Remove-CimInstanceRemove-CimInstance
Get-CimInstanceGet-CimInstance Remove-CimSessionRemove-CimSession
Get-CimSessionGet-CimSession Remove-TypeDataRemove-TypeData
Get-ControlPanelItemGet-ControlPanelItem Rename-ComputerRename-Computer
Get-IseSnippetGet-IseSnippet Resume-JobResume-Job
Get-JobTriggerGet-JobTrigger Save-HelpSave-Help
Get-ScheduledJobGet-ScheduledJob Set-CimInstanceSet-CimInstance
Get-ScheduledJobOptionGet-ScheduledJobOption Set-JobTriggerSet-JobTrigger
Get-TypeDataGet-TypeData Set-ScheduledJobSet-ScheduledJob
Import-IseSnippetImport-IseSnippet Set-ScheduledJobOptionSet-ScheduledJobOption
Invoke-AsWorkflowInvoke-AsWorkflow Show-CommandShow-Command
Invoke-CimMethodInvoke-CimMethod Show-ControlPanelItemShow-ControlPanelItem
Invoke-RestMethodInvoke-RestMethod Suspend-JobSuspend-Job
Invoke-WebRequestInvoke-WebRequest Test-PSSessionConfigurationFileTest-PSSessionConfigurationFile
New-CimInstanceNew-CimInstance Unblock-FileUnblock-File
New-CimSessionNew-CimSession Unregister-ScheduledJobUnregister-ScheduledJob
New-CimSessionOptionNew-CimSessionOption Update-HelpUpdate-Help
New-IseSnippetNew-IseSnippet

기존 핵심 Cmdlet 및 공급자에서 향상된 기능Improvements to Existing Core Cmdlets and Providers

Windows PowerShell 3.0에는 기존 cmdlet에 대한 새로운 기능(간소화된 구문 포함)과 컴퓨터 cmdlet, CSV cmdlet, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, Security cmdlets, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member, WMI cmdlet 등의 cmdlet에 대한 새로운 매개 변수가 포함되어 있습니다.Windows PowerShell 3.0 includes new features for existing cmdlets including the simplified syntax, and new parameters for the following cmdlets: Computer cmdlets, CSV cmdlets, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, Security cmdlets, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member, and WMI cmdlets.

Windows PowerShell 공급자가 크게 향상되었습니다. 예를 들어 인증서 공급자가 웹 호스팅을 위한 SSL(Secure Socket Layer) 인증서 관리를 지원하고, 파일 시스템 드라이브에서 자격 증명, 지속성 네트워크 드라이브, 대체 데이터 스트림 등을 지원합니다.The Windows PowerShell providers were also improved significantly, including Certificate provider support for managing Secure Socket Layer (SSL) certificates for web hosting, support for credential, persistent network drives, and alternate data streams in file system drives.

원격 모듈 가져오기 및 검색Remote module import and discovery

Windows PowerShell 3.0에서는 원격 컴퓨터에서 모듈 검색, 가져오기 및 암시적 원격 기능을 확장합니다.Windows PowerShell 3.0 extends module discovery, importing, and implicit remoting capabilities on remote computers. 모듈 cmdlet은 원격 컴퓨터에서 모듈을 가져오고 Windows PowerShell 원격 작업을 사용하여 모듈을 원격 컴퓨터 또는 로컬 컴퓨터로 가져옵니다.The Module cmdlets get modules on remote computers and import the modules to the remote or local computer by using Windows PowerShell remoting. 새 CIM 세션을 지원하므로 CIM 및 WMI를 사용하여 원격 컴퓨터에서 암시적으로 실행되는 명령을 로컬 컴퓨터로 가져와서 비 Windows 컴퓨터를 관리할 수 있습니다.New CIM session support allows you to use CIM and WMI to manage non-Windows computers by importing commands to the local computer that run implicitly on the remote computer.

자세한 내용은 Get-ModuleImport-Module cmdlet에 대한 도움말 항목을 참조하세요.For more information, see the help topics for the Get-Module and Import-Module cmdlets.

고급 탭 완성Enhanced Tab Completion

Windows PowerShell 콘솔의 탭 완성 기능은 이제 cmdlet의 이름, 매개 변수, 매개 변수 값, 열거형, .NET Frameworks 유형, COM 개체, 숨김 디렉터리 등을 완성합니다.Tab completion in the Windows PowerShell console now completes the names of cmdlets, parameters, parameter values, enumerations, .NET Frameworks types, COM objects, hidden directories, and more. 메모리 내 구문 분석 트리, 중간선 탭 완성 등을 비롯한 더 많은 시나리오를 지원하도록 새로운 구문 분석기 및 추상 구문 트리를 기반으로 탭 완성 기능을 완전히 다시 작성했습니다.The tab completion feature is completely rewritten based on a new parser and abstract syntax tree to support more scenarios, including in-memory parsing trees and midline tab completion.

모듈 자동 로드Module Auto-Loading

Get-Command cmdlet은 이제 컴퓨터에 설치된 모든 모듈에서 모든 cmdlet아 기능을 가져옵니다. 이는 모듈을 현재 세션으로 가져오지 않은 경우에도 마찬가지입니다.The Get-Command cmdlet now gets all cmdlets and functions from all modules that are installed on the computer, even if the module is not imported into the current session.

필요한 cmdlet을 가져올 때 모듈을 가져오지 않고 해당 cmdlet을 즉시 사용할 수 있습니다.When you get the cmdlet that you need, you can use it immediately without importing any modules. 이제 모듈에서 cmdlet을 사용할 때 Windows PowerShell 모듈을 자동으로 가져옵니다.Windows PowerShell modules are now imported automatically when you use any cmdlet in the module. 더 이상 cmdlet을 사용하기 위해 모듈을 검색하여 가져올 필요가 없습니다.You no longer need to search for the module and import it to use its cmdlets.

명령에서 cmdlet을 사용하거나, 와일드카드 없이 cmdlet에 대한 Get-Command를 실행하거나, 와일드카드 없이 cmdlet에 대한 Get-Help를 실행하여 모듈 자동 가져오기를 트리거합니다.Automatic importing of modules is triggered by using the cmdlet in a command, running Get-Command for a cmdlet without wildcards, or running Get-Help for a cmdlet without wildcards.

$PSModuleAutoLoadingPreference 기본 설정 변수를 사용하여 모듈 자동 가져오기를 사용하거나 사용하지 않도록 설정하고 구성할 수 있습니다.You can enable, disable, and configure automatic importing of modules by using the $PSModuleAutoLoadingPreference preference variable.

자세한 내용은 about_Modules, about_Preference_Variables [v4], Get-CommandImport-Module cmdlet에 대한 도움말 항목을 참조하세요.For more information, see about_Modules, about_Preference_Variables [v4], and the help topics for the Get-Command and Import-Module cmdlets.

모듈 환경 향상Module Experience Improvements

Windows PowerShell 3.0에서는 다음과 같은 새로운 기능을 비롯하여 모듈에 대한 고급 기능을 지원합니다.Windows PowerShell 3.0 brings advanced feature support to modules, including the following new features.

  1. 개별 모듈에 대한 모듈 로깅(LogPipelineExecutionDetails) 및 새로운 "모듈 로깅 켜기" 그룹 정책 설정Module logging for individual modules (LogPipelineExecutionDetails) and the new "Turn on Module Logging" Group Policy setting

  2. 모듈 매니페스트에서 값을 노출하는 확장된 모듈 개체Extended module objects that expose the values from the module manifest

  3. 모든 유형의 명령을 결합하는 모듈의 새 ExportedCommands 속성(중첩된 모듈 포함)New ExportedCommands property of modules, including nested modules, that combines commands of all types

  4. 사용 가능한 가져오지 않은 모듈 검색 기능 향상(예: 동일한 명령에서 PathListAvailable 매개 변수 허용)Improved discovery of available (un-imported) modules, including allowing the Path and ListAvailable parameters in the same command

  5. 모듈 코드를 변경하지 않고 이름 충돌을 방지하는 모듈 매니페스트의 새로운 DefaultCommandPrefix 키.New DefaultCommandPrefix key in module manifests that avoids name conflicts without changing module code.

  6. 향상된 모듈 요구 사항(예: 버전 및 GUID를 포함하는 정규화된 필수 모듈, 필수 모듈 자동으로 가져오기)Improved module requirements, including fully-qualified required modules with version and GUID and automatic importing of required modules

  7. 볼륨 줄이기, 효율적인 New-ModuleManifest cmdlet 작업.Quieter, streamlined operation of the New-ModuleManifest cmdlet.

  8. #Requires에 대한 새 Module 매개 변수New Module parameter for #Requires

  9. 향상된 Import-Module cmdlet(MinimumVersionRequiredVersion 매개 변수와 함께 사용).Improved Import-Module cmdlet with both MinimumVersion and RequiredVersion parameters.

간소화된 명령 검색Simplified Command Discovery

세션에서 사용할 수 있는 명령을 검색하기 위해 더 이상 모든 모듈을 가져올 필요가 없습니다.You no longer need to import all modules to discover the commands available to your session. Windows PowerShell 3.0에서 Get-Command cmdlet은 모든 설치된 모듈에서 모든 명령을 가져옵니다.In Windows PowerShell 3.0, the Get-Command cmdlet gets all commands from all installed modules. 명령을 사용하는 경우 명령을 내보내는 모듈을 세션으로 자동으로 가져옵니다.And, if you use a command, the module that exports the command is automatically imported into your session.

Show-Command cmdlet은 초보자를 위해 특별히 제작되었습니다.The new Show-Command cmdlet is designed especially for beginners. 창에서 명령을 검색할 수 있습니다.You can search for commands in a window. 모듈별로 모든 명령 또는 필터를 보고, 단추를 클릭하여 모듈을 가져오고, 텍스트 상자 및 드롭다운 목록을 사용하여 유효한 명령을 구성한 다음 창을 닫지 않고 명령을 복사하거나 실행할 수 있습니다.You can view all commands or filter by module, import a module by clicking a button, use text boxes and drop-down lists to construct a valid command, and then copy or run the command without ever leaving the window.

향상된 로깅, 진단 및 그룹 정책 지원Improved Logging, Diagnostics, and Group Policy Support

Windows PowerShell 3.0에서는 ETW(Event Tracing in Windows) 로그, 모듈의 편집 가능한 LogPipelineExecutionDetails 속성, "모듈 로깅 켜기" 그룹 정책 설정 등을 지원하여 명령과 모듈에 대한 로깅 및 추적 지원을 강화했습니다.Windows PowerShell 3.0 improves the logging and tracing support for commands and modules with support for Event Tracing in Windows (ETW) logs, an editable LogPipelineExecutionDetails property of modules, and the "Turn on Module Logging" Group Policy setting. 이제 로그 속성을 표시하여 로그 정보에서 매개 변수 값을 가져올 수 있습니다.You can now get parameter values from log details by displaying the log properties.

서식 지정 및 출력 향상Formatting and Output Improvements

새 서식 및 출력 기능 향상으로 모든 Windows PowerShell 사용자의 효율성이 향상되었습니다.New formatting and output improvements improve the efficiency of all Windows PowerShell users. 향상된 기능으로는 모든 스트림의 출력 리디렉션, Format.ps1xml 파일을 사용하지 않고 형식을 동적으로 추가하는 향상된 Update-Type cmdlet, 사용자 지정 개체의 기본 서식 속성, PSCustomObject 형식, WMI 개체 및 이기종 개체에 대해 향상된 서식, 메서드 오버로드 지원 등이 있습니다.The improvements include output redirection for all streams, an enhanced Update-Type cmdlet that adds types dynamically without Format.ps1xml files, word wrap in output, default formatting properties of custom objects, the PSCustomObject type, improved formatting for WMI objects and heterogeneous objects, and support for discovering method overloads.

향상된 콘솔 호스트 환경Enhanced Console Host Experience

Windows PowerShell 콘솔 호스트 프로그램의 Windows PowerShell 3.0에는 기본적으로 단일 스레드 아파트를 비롯한 새로운 기능이 포함되어 있습니다.The Windows PowerShell console host program has new features in Windows PowerShell 3.0 including single threaded apartment by default. 파일 탐색기의 새로운 "PowerShell에서 실행" 옵션을 사용하면 마우스 오른쪽 단추로 클릭하여 무제한 세션에서 스크립트를 실행할 수 있습니다.The new "Run with PowerShell" option in File Explorer lets you run scripts in a unrestricted session just by right-clicking. 새로운 콘솔 호스트 시작 로직은 Windows PowerShell을 더 빠르게 실행하고 새 글꼴을 사용하여 친숙한 콘솔 창 환경을 개인 설정할 수 있습니다.New console host launch logic starts Windows PowerShell faster and new fonts allow you to personalize the familiar console window experience.

자세한 내용은 about_Run_With_PowerShell을 참조하세요.For more information, see about_Run_With_PowerShell.

새 Cmdlet 및 호스팅 APINew Cmdlet and Hosting APIs

새 Cmdlet API 및 Hosting API는 공용 AST(고급 구문 트리) API와, 파이프라인 페이징, 중첩된 파이프라인, runspace 풀 탭 완성, Windows RT, 사용하지 않는 cmdlet 특성, FunctionInfo 개체의 Verb 및 Noun 속성 등을 위한 API를 포함합니다.The new Cmdlet API and Hosting API include public advanced syntax tree (AST) APIs, and APIs for pipeline paging, nested pipelines, runspace pools tab completion, Windows RT, the Obsolete cmdlet attribute, and Verb and Noun properties of the FunctionInfo object.

성능 향상Performance Improvements

Windows PowerShell은 새로운 언어 구문 분석기를 지원하여 성능이 크게 향상되었습니다. 이 언어 구문 분석기는 런타임 스크립트 컴파일, 엔진 가독성 향상, 네트워크 공유 검색 시 성능 향상을 위한 Get-ChildItem 알고리즘 변경 등과 함께 .NET Framework 4의 DLR(Dynamic Runtime Language)에 기본 제공됩니다.Significant performance improvements in Windows PowerShell come from the new language parser, which is built on Dynamic Runtime Language (DLR) in .NET Framework 4., along with runtime script compilation, engine reliability improvements, and changes to the algorithm of the Get-ChildItem that improve its performance, especially when searching network shares.

RunAs 및 공유 호스트 지원RunAs and Shared Host Support

Windows PowerShell 3.0에서는 RunAs 및 공유 호스트 기능을 지원합니다.Windows PowerShell 3.0 includes support for RunAs and Shared Host features.

세션 구성 사용자는 Windows PowerShell 워크플로용으로 설계된 RunAs 기능을 사용하여 공유 사용자 계정 사용 권한으로 실행되는 세션을 만들 수 있습니다.The RunAs feature, designed for Windows PowerShell Workflow, lets users of a session configuration create sessions that run with the permission of a shared user account. 그러면 낮은 권한의 사용자가 특정 명령과 스크립트를 관리자 권한으로 실행할 수 있으므로 관리자가 아닌 사용자를 Administrators 그룹에 추가할 필요가 없습니다.This enables less privileged users to run particular commands and scripts with administrator permissions, and reduces the need for adding less senior users to the Administrators group.

SharedHost 기능을 사용하면 여러 컴퓨터에서 여러 명의 사용자가 워크플로 세션에 동시에 연결하여 워크플로의 진행률을 모니터링할 수 있습니다.The SharedHost feature allows multiple users on multiple computers to connect to a workflow session concurrently and monitor the progress of a workflow. 사용자가 한 컴퓨터에서 워크플로를 시작한 다음 원본 컴퓨터에서 세션 연결을 끊지 않고 다른 컴퓨터에서 워크플로 세션에 연결할 수 있습니다.Users can start a workflow on one computer and then connect to the workflow session on another computer without disconnecting the session from the original computer. 사용자는 동일한 권한으로 동일한 세션 구성을 사용하고 있어야 합니다.Users must have the same permissions and be using the same session configuration. 자세한 내용은 Windows PowerShell 워크플로 시작에서 "Windows PowerShell 워크플로 실행"을 참조하세요.For more information, see "Running a Windows PowerShell Workflow" in Getting Started with Windows PowerShell Workflow.

특수 문자 처리 기능 향상Special Character Handling Improvements

특수 문자를 해석하고 올바르게 처리하도록 Windows PowerShell 3.0 기능을 향상하기 위해 경로에서 특수 문자를 처리하는 LiteralPath 매개 변수가 Path 매개 변수를 사용하는 거의 모든 cmdlet(새 Update-HelpSave-Help cmdlet 포함)에서 유효합니다.To improve the ability of Windows PowerShell 3.0 to interpret and correctly handle special characters, the LiteralPath parameter, which handles special characters in paths, is valid on almost all cmdlets that have a Path parameter, including the new Update-Help and Save-Help cmdlets. 또한 구문 분석기에는 파일 이름과 경로의 억음 악센트 문자(`) 및 대괄호 처리 기능 향상을 위한 특수 논리가 포함되어 있습니다.The parser also includes special logic to improve handling of the backtick character (`) and square brackets in file names and paths.

참고 항목See Also