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 用に設計されたコマンドレット、プロバイダー、モジュール、スナップイン、スクリプト、関数、およびプロファイルは、全般的に変更なしで 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 PowerShell 5.0 は、Windows Server 2016 Technical Preview および Windows 10 に既定でインストールされています。Windows PowerShell 5.0 is installed by default on Windows Server 2016 Technical Preview and Windows 10.

Windows PowerShell 5.0 を Windows Server 2012 R2、Windows 8.1 Enterprise または Windows 8.1 Pro にインストールするには、Windows Management Framework 5.0 をダウンロードしてインストールします。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 月の更新プログラムのロールアップ (KB 3000850) での Windows PowerShell 4.0 の更新Windows PowerShell 4.0 updates in November 2014 update rollup (KB 3000850)

Windows PowerShell 4.0 での Windows PowerShell Desired State Configuration (DSC) に対する多くの更新と機能強化が、Windows RT 8.1、Windows 8.1、Windows Server 2012 R2 の 2014 年 11 月の更新プログラムのロールアップ (KB 3000850) で利用可能になりました。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 モジュールの既存のコマンドレットの更新Updates to existing cmdlets in the PSDesiredStateConfiguration module

  • PSDesiredStateConfiguration モジュールの新しいコマンドレットNew 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.
    • 整合性の実行をプル操作よりも頻繁に行えるようになりました。また、その逆も可能です。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.
    • DebugPreference が、Get-、Set-、または Test-TargetResource の各呼び出しに対して適切に設定されるようになりました。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
      • 正しくないパッケージはインストールされなくなりました (ローカルまたは Web ソースのどちらからも)。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. ClassEnum などのキーワードが、新しい機能をサポートするために 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 コマンドレット。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.
    • 2 つの新しい共通パラメーター、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.
    • 2 つの新しいワークフロー共通パラメーター、PSInformation と InformationAction が追加されました。Two new workflow common parameters, PSInformation and InformationAction, have been added.
    • Format-Table コマンドを使用すると、ストリームを通過する最初の 300 ミリ秒のデータが評価され、テーブル列が自動的に書式設定されるようになりました。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 が追加されました。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 コマンドレットは、-Example パラメーターで指定する例を基にテキストを自動的に書式設定します。A new Convert-String cmdlet automatically formats text based on an example that you provide in an -Example parameter.

  • 新しいモジュール、Microsoft.PowerShell.Archive には、コマンドレットが含まれています。そのコマンドレットでは、ファイルとフォルダーをアーカイブ (ZIP とも呼ばれる) ファイルに圧縮して、既存の 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 コマンドレットを実行することでセットアップできる内部モジュール リポジトリ上で、モジュールと 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.

  • 新しい言語キーワード、Hidden が追加され、メンバー (プロパティまたはメソッド) が Get-Member の結果に既定で表示されないように指定できるようになりました (-Force パラメーターを追加する場合を除く)。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 コマンドレットを実行することで、1 つの行で作成できるようになりました。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 で、1 つの 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). ファイルをコピーするには、新しい -FromSession と -ToSession パラメーターの値として PSSession ID を指定し、-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:\destinationFolderFor 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). トランスクリプション オプション (システム全体のトランスクリプトの有効化を含む) は、 [PowerShell トランスクリプションを有効にする] グループ ポリシー設定 ([管理用テンプレート]/[Windows コンポーネント]/[Windows 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 はすべてのスクリプト ブロックを Windows イベント トレーシング (ETW) イベント ログ、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 以降では、新しい Cryptographic Message Syntax コマンドレットが、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 の各コマンドレットが Microsoft.PowerShell.Security モジュールに追加されました。The Get-CmsMessage, Protect-CmsMessage, and Unprotect-CmsMessage cmdlets have been added to the Microsoft.PowerShell.Security module.

  • Microsoft.PowerShell.Utility モジュールの新しいコマンドレット、Get-Runspace、Debug-Runspace、Get-RunspaceDebug、Enable-RunspaceDebug、および Disable-RunspaceDebug を使用すると、実行空間でのデバッグ オプションを設定して、実行空間でのデバッグを開始、停止できます。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. 任意の実行空間 (つまり、Windows PowerShell コンソールまたは Windows PowerShell ISE セッションの既定の実行空間ではない実行空間) をデバッグする場合、Windows PowerShell では、スクリプトにブレークポイントを設定し、追加されたブレークポイントを使用して、実行空間スクリプトをデバッグするデバッガーをアタッチするまでスクリプトが実行されないようにすることができます。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. 実行空間用の Windows PowerShell スクリプト デバッガーに、任意の実行空間に対する入れ子になったデバッグのサポートが追加されました。Nested debugging support for arbitrary runspaces has been added to the Windows PowerShell script debugger for runspaces.

  • 新しい Format-Hex コマンドレットが 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 コマンドレットが、Microsoft.PowerShell.Utility モジュールに追加されました。これらのコマンドレットにより、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. クリップボードのコマンドレットは、画像、オーディオ ファイル、ファイルのリスト、およびテキストをサポートします。The Clipboard cmdlets support images, audio files, file lists, and text.

  • 新しいコマンドレット、Clear-RecycleBin が、Microsoft.PowerShell.Management モジュールに追加されました。このコマンドレットは、外部ドライブを含む固定ドライブのゴミ箱を空にします。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. 既定では、コマンドレットの 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 では、スクリプトの一部として一時ファイルを作成できます。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 の各コマンドレットに新しい -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 コマンドレットは、.NET Framework Guid クラスを利用して GUID を生成します。これはスクリプトまたは DSC リソースを作成している場合に便利です。The New-Guid cmdlet leverages the .NET Framework Guid class to generate a GUID, useful when you are writing scripts or DSC resources.

  • ファイルのバージョン情報は、特にファイルにパッチが適用された場合に、解釈を間違えやすいデータであるため、新しいスクリプト プロパティ、FileVersionRaw と ProductVersionRaw が FileInfo オブジェクトに対して使用できます。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 を使用すると、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 を入力するか、特定のプロセス ID にアタッチしてから、Get-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 コマンドレットが 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.

  • Debug-Job コマンドレットが Microsoft.PowerShell.Core モジュールに追加され、Windows PowerShell ワークフローの実行中のジョブ スクリプト、バックグラウンド、およびリモート セッションで実行するジョブをデバッグできます。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.

  • 新しい状態、AtBreakpoint が Windows PowerShell ジョブに追加されました。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 コマンドレットを実行して、ジョブをデバッグする必要があります。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 の同一フォルダーにある 1 つの 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 コマンドレットの 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 コマンドレットを実行して、モジュール バージョンを検証できるようになりました。You can now perform module version validation by running the Test-ModuleManifest cmdlet.

  • Get-Command コマンドレットの結果が、バージョン列に表示されるようになりました。新しい 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 の情報を PSObject として返す新しいパラメーター、-ShowCommandInfo が追加されました。Get-Command has a new parameter, -ShowCommandInfo, that returns ShowCommand information as PSObjects. これは、Windows PowerShell リモート処理を使用して、Windows PowerShell ISE で Show-Command を実行する場合に、特に便利な機能です。This is especially useful functionality for when Show-Command is run in Windows PowerShell ISE by using Windows PowerShell remoting. Microsoft.PowerShell.Utility モジュールの既存の Get-SerializedCommand 関数は、-ShowCommandInfo に置き換えられます。ただし、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 コマンドレットでは、ドット表記を使用せずにプロパティの値を取得できます。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 モジュールには、スイッチ、仮想 LAN (VLAN)、および基本的なレイヤー 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 コマンドレットに追加され、1 つのモジュールの複数のバージョンの保存をサポートします。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.

  • WMF 5.0 (PowerShell 5.0) には Pester モジュールが含まれます。WMF 5.0 (PowerShell 5.0) includes the Pester module. Pester は、PowerShell の単体テスト フレームワークです。Pester is a unit testing framework for PowerShell. スクリプトのテストを作成できるいくつかの使いやすいキーワードが提供されます。It provides a few simple-to-use keywords that let you create tests for your scripts.

Windows PowerShell Desired State Configuration の新機能New features in Windows PowerShell Desired State Configuration

  • Windows PowerShell 言語の機能が強化され、クラスを使用して、Windows PowerShell Desired State Configuration (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. クラスを使用して DSC リソースを定義できるようになりました。このリソースには、MOF ファイルも、モジュール フォルダー内の DSCResource サブフォルダーも必要ありません。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 モジュールの次のコマンドレットに追加されました。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 インストーラーと実行可能インストーラーを実行する構成、ユーザーごとのレジストリ ハイブにアクセスする構成、または現在のユーザー コンテキストの外部の他のタスクを実行する構成を作成するのに役立ちます。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.
  • 32 ビット (x86 ベース) のサポートが、Configuration キーワードに追加されました。32-bit (x86-based) support has been added for the Configuration keyword.
  • Windows PowerShell には、生成された構成関数に [CmdletBinding()] を追加することで定義される、DSC 構成のカスタム ヘルプに対するサポートが含まれるようになりました。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 コマンドレットを実行して、そのファイルは該当するターゲット ノードに送られます。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* リソース (WaitForAllWaitForAny、および WaitForSome) を使用すると、コンピューター間の依存関係を外部のオーケストレーションなしで構成の実行中に指定できます。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.
  • 新しい委任セキュリティ機能である Just Enough Administration (JEA) は、DSC と Windows PowerShell の制限付き実行空間を活用して、意図的であるかどうかに関わらず、従業員によるデータの損失や侵害から企業をセキュリティで保護します。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 の使用手順」を参照してください。For more information about JEA, including where you can download the xJEA DSC resource, see Just Enough Administration, Step by Step.
  • PSDesiredStateConfiguration モジュールには、次の新しいコマンドレットが追加されました。The following new cmdlets have been added to the PSDesiredStateConfiguration module.
    • 新しい Get-DscConfigurationStatus コマンドレットは、ターゲット ノードから構成状態に関する高レベルの情報を取得します。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 コマンドレットは、指定した構成を 1 つ以上のターゲット ノードの実際の状態と比較します。A new Compare-DscConfiguration cmdlet compares a specified configuration with the actual state of one or more target nodes.
    • 新しい Publish-DscConfiguration コマンドレットでは、構成の MOF ファイルをターゲット ノードにコピーしますが、その構成は適用しません。A new Publish-DscConfiguration cmdlet copies a configuration MOF file to a target node, but does not apply the configuration. この構成が適用されるのは、次の整合性パス中、または Update-DscConfiguration コマンドレットの実行時です。The configuration is applied during the next consistency pass, or when you run the Update-DscConfiguration cmdlet.
    • 新しい Test-DscConfiguration コマンドレットを使用すると、結果の構成が必要な構成と一致することを確認して、構成が必要な構成と一致する場合は 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 コマンドレットは、構成が処理されるようにします。A new Update-DscConfiguration cmdlet forces a configuration to be processed. ローカル構成マネージャーがプル モードの場合は、コマンドレットは、構成を適用する前にプル サーバーから構成を取得します。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

  • Windows PowerShell ISE のローカル コピーでリモートの Windows PowerShell のスクリプトとファイルを編集できるようになりました。この編集を行うには、Enter-PSSession を実行して、編集するファイルを保存しているコンピューター上でリモート セッションを開始し、PSEdit <リモート コンピューター上のパスとファイル名> を実行します。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 <path and file name on the remote computer>. この機能を使用すると、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.
  • Start-Transcript コマンドレットが Windows PowerShell ISE でサポートされるようになりました。The Start-Transcript cmdlet is now supported in Windows PowerShell ISE.
  • Windows PowerShell ISE でリモート スクリプトをデバッグできるようになりました。You can now debug remote scripts in Windows PowerShell ISE.
  • 新しいメニュー コマンド、Break All (Ctrl+B) は、ローカルとリモートで実行中の両方のスクリプトを中断し、デバッガーに移ります。A new menu command, Break All (Ctrl+B), breaks into the debugger for both local and remotely-running scripts.

Windows PowerShell Web サービス (Management OData IIS 拡張機能) の新機能New features in Windows PowerShell Web Services (Management OData IIS Extension)

  • Windows PowerShell 5.0 以降では、新しい Microsoft.PowerShell.OdataUtils モジュールにある Export-ODataEndpointProxy コマンドレットを実行すると、指定した OData エンドポイントによって公開される機能に基づいて、Windows PowerShell コマンドレットのセットを生成できます。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 セッションでの最初のタブ補完に対するパフォーマンスが大幅に改善され、タブ補完に要する時間が 500 ミリ秒近く短縮されました。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 用に設計されたコマンドレット、プロバイダー、モジュール、スナップイン、スクリプト、関数、およびプロファイルは、変更なしで 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 PowerShell 4.0 は、既定で Windows 8.1 と Windows Server 2012 R2 にインストールされています。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 Desired State Configuration (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 Desired State Configuration の概要」を参照してください。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 コマンド ラインまたは Windows PowerShell ISE からスクリプト レベルでデバッグできるようになりました。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-ScheduledJob および Set-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. このパラメーターは以前から存在しますが、使用すると例外やエラーが発生する Web コマンドレットのいくつかのパラメーターの 1 つでした。Although this parameter has always existed, it was one of several parameters for the web cmdlets that resulted in exceptions or errors.
  • Get-Module に、新しいパラメーター FullyQualifiedName が追加されました (ModuleSpecification[] 型)。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-JobTrigger および Set-JobTrigger コマンドレットに追加されました。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-JobTrigger および Disable-JobTrigger コマンドレットに追加されました。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-Computer および Remove-Computer コマンドレットにワークグループを指定するパラメーターの名前が整合性のあるものになりました。The parameter names for specifying a workgroup in the Add-Computer and Remove-Computer cmdlets are now consistent. どちらのコマンドレットでも、パラメーター 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 コマンドレットに新しいスイッチ パラメーター IncludeUserName が追加されました。The Get-Process cmdlet has a new switch parameter, IncludeUserName.
  • 新しいコマンドレット Get-FileHash が追加されました。これは、指定したファイルのファイル ハッシュをいくつかの形式の中から 1 つ返します。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() 演算子は、スクリプト ブロック形式の文字列式を受け入れます。これは、引き続きサポートされます。However, the Where() operator accepts string expressions in the format of a scriptblock; this is still supported.

Windows PowerShell Integrated Scripting Environment (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 Desired State Configuration のプロバイダーおよび構成に 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.
  • パラメーターのバインドが大幅に拡張され、Tab 補完のシナリオを越えて、たとえば、現在の実行空間に存在しないコマンドでも機能するようになりました。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.
  • Foreach-Parallel アクティビティ ステートメントのスロットルを、ThrottleLimit プロパティを使用して調整できるようになりました。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 Web サービスの新機能New features in Windows PowerShell Web Services

  • コマンドレットの実行中に Windows PowerShell Web サービス (PSWS、Management 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. さらに、エラーコードは「Windows 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.
  • PSWS での型の処理が改良され、既定のコンストラクターとは異なるコンストラクターを使用する型がサポートされ、Windows PowerShell での PSTypeConverter と同様の動作になりました。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 (作成、読み取り、更新、および削除) 以外のメソッドを呼び出すメカニズムが提供されるようになりました。OData actions now provide a mechanism for invoking non-CRUD (Create, Read, Update, and Delete) methods on a resource. アクションを呼び出すには、そのアクションに対して定義された URI に HTTP POST 要求を送信します。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.
  • Windows Azure のガイドラインと一貫性を保つため、すべての URL を単純化する必要があります。To be consistent with Windows Azure guidelines, all URLs should be simplified. Key As Segment に組み込まれた変更により、1 つのキーでセグメントを表現できます。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 では、Contained Resource 操作という新しい機能で同じ結果を得ることができます。これを使用すると、同じリソースにより間接的に到達し、それらのリソースが含まれているかのようにアクセスできます。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 Web Access の新機能New features in Windows PowerShell Web Access

  • Web ベースの Windows PowerShell Web Access コンソールで、既存のセッションを切断および再接続できます。You can disconnect from and reconnect to existing sessions in the web-based Windows PowerShell Web Access console. Web ベースのコンソールで [保存] ボタンを使用すると、削除せずにセッションを切断し、あとでセッションに再接続できます。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 ファイルを使用すると、2 次資格情報と代替資格情報を除くすべてのオプションの接続設定を構成できます。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 Web Access の承認規則をリモートで管理できます。In Windows Server 2012 R2, you can remotely manage authorization rules for Windows PowerShell Web Access. Add-PswaAuthorizationRule および Test-PswaAuthorizationRule コマンドレットに、管理者がリモート コンピューターから、または Windows PowerShell Web Access セッションで承認規則を管理できるようにするために 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.
  • 1 つのブラウザー セッションで各セッションに対して新しいブラウザー タブを使用することにより、複数の Windows PowerShell Web Access セッションに接続できるようになりました。You can now have multiple Windows PowerShell Web Access sessions in a single browser session by using a new browser tab for each session. Web ベースの 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 コマンドレットで、ブランク行が無視されるようになりました。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-Module で、Version 列にモジュールのバージョンが表示されるようになりました。Get-Module now displays module versions in a Version column.
  • Remove-Item -Recurse で、想定どおりにサブフォルダーから項目が削除されるようになりました。Remove-Item -Recurse now removes items from subfolders as expected.
  • Get-Process 出力オブジェクトに UserName プロパティが追加されました。A UserName property has been added to Get-Process output objects.
  • Invoke-RestMethod コマンドレットがすべての使用可能な結果を返すようになりました。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.
  • Select-Object -Expand が、プロパティの値が null または空の場合に、失敗したり、例外を生成したりしなくなりました。Select-Object -Expand no longer fails or generates an exception if the value of the property is null or empty.
  • Get-Process が、オブジェクトから ComputerName プロパティを取得する他のコマンドと一緒にパイプラインで使用できるようになりました。Get-Process can now be used in a pipeline with other commands that get the ComputerName property from objects.
  • ConvertTo-Json および ConvertFrom-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 Workflow Foundation の機能を Windows PowerShell で利用できます。Windows PowerShell Workflow brings the power of Windows Workflow Foundation to Windows PowerShell. ワークフローは、XAML または Windows PowerShell 言語で記述し、コマンドレットを実行するのとまったく同様に実行できます。You can write workflows in XAML or in the Windows PowerShell language and run them just as you would run a cmdlet. Get-Command コマンドレットはワークフロー コマンドを取得し、Get-help コマンドレットは、ワークフローのヘルプを取得します。The Get-Command cmdlet gets workflow 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. カスタム セッション構成を記述することにより、委任されたユーザーまたは下位ユーザーがワークフローまたはワークフロー内のアクティビティを実行可能にすることができます。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.
  • 複雑なプロセスを 1 つのタスクで実行します。Single task execution of complex processes. エンド ツー エンドのシナリオ全体を実装する関連したスクリプトを 1 つのワークフローにまとめることができます。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. ワークフローの作成者は、1 つまたは複数の管理対象ノードで障害が発生した時に再実行する特定のアクティビティを指定できます。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 のコマンドレットまたはスクリプトと同じようにスケジュール設定できます。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 Web AccessWindows PowerShell Web Access

Windows PowerShell Web Access は、Windows PowerShell のコマンドとスクリプトをユーザーが Web ベースのコンソールで実行できる 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. Web ベースのコンソールを使用するデバイスでは、Windows PowerShell、リモート管理ソフトウェアまたはブラウザー プラグインをインストールする必要はありません。Devices that use the web-based console do not require Windows PowerShell, remote management software, or browser plug-in installations. 必要なのは、適切に構成された Windows PowerShell Web Access ゲートウェイと、JavaScript をサポートし、Cookie を許可するクライアント デバイスのブラウザーのみです。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 Web Access の展開」を参照してください。For more information, see Deploy Windows PowerShell Web Access.

Windows PowerShell ISE の新機能New Windows PowerShell ISE Features

Windows PowerShell 3.0 では、Windows PowerShell Integrated Scripting Environment (ISE) に多くの新機能が追加されました。たとえば、IntelliSense、Show-Command ウィンドウ、統合されたコンソール ウィンドウ、スニペット、かっこの一致に基づくセクションの展開/折りたたみ、自動保存、最近使った項目の一覧、機能豊富なコピー、ブロックのコピー、および 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 は、共通言語ランタイム 4.0 を背景にして作成されました。Windows PowerShell is built against the Common Language Runtime 4.0. コマンドレット、スクリプト、およびワークフローの作成者は、新しい Microsoft .NET Framework 4 のクラスを Windows PowerShell で使用できます。たとえば、アプリケーションの互換性と配置、Managed Extensibility Framework、並列コンピューティング、ネットワーク接続、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 プレインストール環境 (Windows PE) 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 PowerShell 3.0 は、展開、診断、および復旧のシナリオを管理するために Windows PE で使用できます。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 コマンドレットを使用してユーザーが作成した、ユーザーが管理する永続的なセッション ("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 コマンドレットの 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.

"切断されたセッション" 機能をサポートする新しいコマンドレットが追加されました。たとえば、Disconnect-PSSessionConnect-PSSession、Receive-PSSession などです。また、PSSessions を管理するコマンドレットに新しいパラメーターが追加されました。たとえば、Invoke-Command コマンドレットの 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

モジュール内のコマンドレットに関する更新されたヘルプ ファイルをダウンロードできるようになりました。You can now download updated help files for the cmdlets in your modules. Update-Help コマンドレットは、最新のヘルプ ファイルを識別し、それらのファイルをインターネットからダウンロードし、アンパックし、検証し、モジュール用の言語固有の該当するディレクトリにインストールします。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 を使用して、ファイル共有などのファイル システム ディレクトリにヘルプ ファイルをダウンロードします。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 コマンドレットを使用して、更新されたヘルプ ファイルをファイル共有から入手します。Users can then use the Update-Help cmdlet to get updated help files from the file share.

Update-Help コマンドレットを使用してヘルプ ファイルを更新する際は、すべてのサポートされる UI カルチャのすべてのモジュール、または特定のモジュールに対して更新を実行できます。You can use the Update-Help cmdlet to update help files for all or particular modules in all supported UI cultures. Windows PowerShell プロファイルに Update-Help コマンドを置くこともできます。You can even put an Update-Help command in your Windows PowerShell profile. 既定では、Windows PowerShell は、モジュールに対するヘルプ ファイルを 1 日に 1 回を超えてダウンロードすることはありません。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.

コンピューターにコマンドレットのヘルプ ファイルがインストールされていない場合、Get-Help コマンドレットは、自動生成されたヘルプを表示するようになりました。When the help files for a cmdlet are not installed on the computer, the Get-Help cmdlet now displays auto-generated help. 自動生成されたヘルプには、コマンドの構文と、Update-Help コマンドレットを使用してヘルプ ファイルをダウンロードする方法が記載されています。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 にある「更新可能なヘルプのサポート」を参照してください。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 コマンドレットのオンライン ヘルプを取得するには、次のように入力します。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 はさらに機能が強化され、コマンドレットのヘルプ ファイルがコンピューターにインストールされていない場合でも機能します。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 機能では、コマンドレットおよび高度な関数の 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
https://go.microsoft.com/fwlink/?LinkID=223923

Windows PowerShell 3.0 以降では、C# コマンドレットの作成者は、コマンドレット クラスで 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".

さらに、HelpUri の値は、コマンドレットの XML ベースのヘルプ ファイルにある最初の関連リンク内や、関数内のコメント ベースのヘルプにある .Link ディレクティブにも組み込めます。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.

オンライン ヘルプのサポートに関する詳細は、Microsoft Docs にある「Supporting Online Help」 (オンライン ヘルプのサポート) を参照してください。For more information about supporting online help, see Supporting Online Help in the Microsoft Docs.

CIM の統合CIM integration

Windows PowerShell 3.0 には、Common Information Model (CIM) のサポートが組み込まれています。CIM は、システム、ネットワーク、アプリケーション、およびサービスの管理情報について共通の定義を提供するもので、異種システム間での管理情報の交換を可能にします。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 コマンドレットを作成する機能、コマンドレットを定義する XML ファイルに基づいてコマンドを作成する機能のほか、CIM .NET FrameworkSupport 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 管理コマンドレット、および 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. 新しいセッション構成ファイルでは、そのセッション構成を使用するセッションの環境を決定できます。たとえば、セッションに読み込むモジュール、スクリプト、およびフォーマット ファイル、ユーザーが使用できるコマンドレットおよび言語要素、ユーザーが実行できるモジュールおよびスクリプト、ユーザーが見ることのできる変数を決定します。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.

ユーザーが特定の 1 つのモジュールからコマンドレットを実行できるだけのセッションを設計できます。あるいは、ユーザーが完全な言語を持ち、すべてのモジュールにアクセスでき、高度なタスクを実行するスクリプトにアクセスできるセッションを設計できます。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 コマンドレットを使用します。To create a session configuration file, use the New-PSSessionConfigurationFile cmdlet. セッション構成ファイルをセッション構成に適用するには、Register-PSSessionConfiguration コマンドレットまたは Set-PSSessionConfiguration コマンドレットを使用します。To apply the session configuration file to a session configuration, use the Register-PSSessionConfiguration or Set-PSSessionConfiguration cmdlets.

詳細については、「about_Session_Configuration_Files」および「New-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. スケジュールされたジョブが完了したインスタンスは、Start-Job および Get-Job などのジョブ コマンドレットを使用して管理できます。Instances of scheduled jobs that have completed can be managed by using the job cmdlets, such as Start-Job and Get-Job.

タスク スケジューラのタスクと同様、スケジュールされたジョブは 1 回または繰り返し実行したり、特定のアクションまたはイベントへの応答として実行したりできます。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.

さらに、スケジュールされたジョブには、それらのジョブを管理するためのカスタマイズされた一連のコマンドレットがあります。In addition, scheduled jobs come with a customized set of cmdlets for managing them. それらのコマンドレットでは、スケジュールされたジョブの作成、編集、管理、無効化、再有効化を実行したり、スケジュールされたジョブのトリガーを作成したり、スケジュールされたジョブのオプションを設定したりできます。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. 強化された機能としては、スカラー オブジェクトに対するプロパティの列挙、カウントや長さのプロパティ、新しいリダイレクト演算子、$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.

新しいコア コマンドレットNew Core Cmdlets

新しいコマンドレットが Windows PowerShell コアのインストールに追加されました。スケジュールされたジョブ、切断されたセッション、CIM 統合、更新可能なヘルプ システムを管理するコマンドレットです。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-PSSessionOptionNew-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

既存のコア コマンドレットとプロバイダーの機能強化Improvements to Existing Core Cmdlets and Providers

Windows PowerShell 3.0 では、既存のコマンドレットに新しい機能が追加されたもの、構文が単純化されたもの、新しいパラメーターが追加されたものがあります。次のコマンドレットです。Computer コマンドレット、CSV コマンドレット、Get-ChildItem、Get-Command、Get-Content、Get-History、Measure-Object、Security コマンドレット、Select-Object、Select-String、Split-Path、Start-Process、Tee-Object、Test-Connection、Add-Member、および WMI コマンドレット。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 プロバイダーも大幅に機能強化され、Web ホスト用の Secure Socket Layer (SSL) 証明書を管理するための証明書プロバイダーのサポート、資格情報のサポート、およびファイル システム ドライブにおける永続化されたネットワーク ドライブと代替データ ストリームのサポートが改善されました。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. Module コマンドレットは、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 セッションのサポートでは、Windows 以外のコンピューターを管理するために CIM および WMI を使用して、リモート コンピューター上で暗黙的に実行されるコマンドをローカル コンピューターにインポートできます。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-module」コマンドレットと「Import-module」コマンドレットのヘルプ トピックを参照してください。For more information, see the help topics for the Get-Module and Import-Module cmdlets.

強化された Tab 補完機能Enhanced Tab Completion

Windows PowerShell コンソールの Tab 補完機能では、コマンドレット、パラメーター、パラメーター値、列挙、.NET Framework 型、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. Tab 補完機能は、新しいパーサーと抽象構文ツリーに基づいて完全に再作成され、インメモリ解析ツリーや行の途中での Tab 補完を含むより多くのシナリオをサポートします。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 コマンドレットにより、コンピューターにインストールされているすべてのモジュール (現在のセッションでインポートされないモジュールを含む) のすべてのコマンドレットと関数を取得できるようになりました。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.

必要なコマンドレットを取得したら、何かのモジュールをインポートすることなく、すぐに使用できます。When you get the cmdlet that you need, you can use it immediately without importing any modules. Windows PowerShell のモジュールは、モジュール内のいずれかのコマンドレットを使用した時点で自動的にインポートされるようになりました。Windows PowerShell modules are now imported automatically when you use any cmdlet in the module. モジュールを検索したり、それに含まれるコマンドレットを使用するためにインポートしたりする必要がありません。You no longer need to search for the module and import it to use its cmdlets.

モジュールの自動インポートがトリガーされるのは、コマンド内でコマンドレットを使用した場合、コマンドレットの Get-Command をワイルドカードなしで実行した場合、コマンドレットの 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-Command」コマンドレットと「Import-Module」コマンドレットのヘルプ トピックを参照してください。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. 利用可能な (まだインポートされていない) モジュール検出の機能強化。たとえば、同じコマンド内で Path および ListAvailable パラメーターを使用できます。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 コマンドレットの操作が効率化され、実行時の対話が減りました。Quieter, streamlined operation of the New-ModuleManifest cmdlet.
  8. #Requires の新しい Module パラメーター。New Module parameter for #Requires
  9. Import-Module コマンドレットが改善され、MinimumVersion および RequiredVersion の両パラメーターが追加されました。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 コマンドレットが取得します。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 コマンドレットは、特に初級ユーザー向けに設計されています。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 において、コマンドとモジュールのログ記録とトレースのサポートが機能強化されました。Windows イベント トレーシング (ETW) ログのサポートが追加され、モジュールの 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 コマンドレット、出力の右端での折り返し、カスタム オブジェクトの既定の書式設定プロパティ、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 API および Hosting APINew Cmdlet and Hosting APIs

新しい Cmdlet API および Hosting API には、公開 Advanced Syntax Tree (AST) API、パイプライン ページング、入れ子になったパイプライン、実行空間プールの Tab 補完、Windows RT のための各 API、Obsolete コマンドレット属性、FunctionInfo オブジェクトの Verb および Noun プロパティが含まれています。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 での大幅なパフォーマンスの向上は、.NET Framework 4. の動的言語ランタイム (DLR) 上で構築された新しい言語パーサーの成果です。さらに、ランタイム スクリプトのコンパイルの向上、エンジンの信頼性の向上、および Get-ChildItem のアルゴリズム変更によるパフォーマンスの向上 (特にネットワーク共有の検索時) なども貢献しています。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.

RunAs 機能は、Windows PowerShell のワークフロー用に設計されたもので、これによりセッション構成のユーザーが共有ユーザー アカウントのアクセス許可で実行するセッションを作成できます。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. ユーザーは、1 つのコンピューター上でワークフローを開始した後、別のコンピューター上でそのワークフロー セッションに接続することができ、その際に元のコンピューターからのセッションを切断する必要がありません。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 パラメーターが、新しい Update-Help および Save-Help コマンドレットを含む、Path パラメーターを持つほとんどすべてのコマンドレットで有効になりました。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