PowerShell7の新機能リスト

PowerShellの次のメジャーバージョンがリリースされ、いくつかの重要な変更が加えられました。7番目のバージョンには、並列実行、リモート実行用のモジュールのインポート、新しい演算子などの機能が含まれています。この投稿では、PowerShell7.0のすべての(PowerShell 7.0)(New)機能について説明します。

PowerShell7の機能

PowerShellディレクトリの変更

PowerShell 7(install PowerShell 7)をインストールすると、新しいディレクトリにインストールされ、 PowerShell5.1と一緒に実行されます。PowerShell Core 6.xからアップグレードする場合は、 PowerShell 6ディレクトリが上書きされ、不要なファイルがすべて削除されます。知っておくべきディレクトリのリストは次のとおりです。

PowerShell7がインストールされている-

%programfiles%\PowerShell\7

% programfiles  %programfiles%\PowerShell\7フォルダーが $env:PATH

PowerShell 7インストーラーパッケージは、PowerShellCore6.xの以前のバージョンをアップグレードします。

Windows上のPowerShellCore6.x:(PowerShell Core 6.x on Windows:)

%programfiles%\PowerShell\6

に置き換えられます 

%programfiles%\PowerShell\7

Linux:

/opt/microsoft/powershell/6

に置き換えられます 

/opt/microsoft/powershell/7

macOS: (macOS: )

/usr/local/microsoft/powershell/6

に置き換えられます

/usr/local/microsoft/powershell/7

PowerShell7の新機能

これらの各機能を簡単に説明し、 PowerShell(PowerShell) ユーザー(users)にどのように役立つかを説明してみました。ただし、 Microsoft(Microsoft)の公式ページで詳細を確認してください。

  1. パイプラインの並列化
  2. 新しいオペレーター
  3. ConciseViewÂおよびGet-Errorコマンドレット
  4. 新しいバージョンの自動通知
  5. (Invoke DSC)PowerShell7から直接(PowerShell 7)DSCリソースを呼び出す
  6. 互換性レイヤー

実際のコードをテストする前に、必ず環境変数を確認してください。(Environment Variable)

1]パイプラインの並列化

ForEach-Object -Parallelを使用するときに、シーケンスメソッドの代わりにオブジェクトを並行して実行または処理できるようになりました。WIMのアンインストールに関する投稿では、このメソッドを順番に実行すると、ほぼ25秒ではなく、10秒弱で3つのWIMイメージをマウント解除できます。(WIM)そのためのサンプルコードは次のとおりです。

Get-WindowsImage -Mounted | foreach -Parallel {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}

2]新しいオペレーター

3つの新しい演算子がありますTernary operator: a ? b : c, Pipeline chain operators: || and && and Null conditional operators: ?? and ??=.これらは、単純化されたif-elseステートメントのように動作します。(behaves like a simplified if-else statement.)常にIf-elseループを使用する代わりに、コードを簡単に記述できます。

3] ConciseViewおよびGet-Errorコマンドレット

エラーコマンドを取得するPowerShell7を許可する

ConciseViewは、 (ConciseView)PowerShell7の既定のビューとして有効になっているユーザーが選択可能なビューです。エラーがスクリプトからのものでない場合は、1行のエラーが表示されます。ただし、スクリプトからのものであるか、解析エラーがある場合は、複数行のエラーメッセージと、エラーが発生した行を示すポインタが表示されます。

次に、必要に応じてエラーの詳細ビューを取得するのに役立つ新しいコマンドレットGet-Errorがあります。(Get-Error)発生した最後のエラーの内部例外を含む完全な詳細を表示できます。

$Error | Get-Error

Get-Error -Newest 3 # Displays the last three errors that occurred in the session

4 ]自動(] Automatic)新バージョン通知

PowerShell 7(PowerShell 7)以降、システムは1日に1回更新をチェックし、利用可能な場合は新しいバージョンについて通知します。この情報は、後続のセッションの開始時にのみ表示されます。PowerShellUpdateで使用できるフラグは3つあります

  • デフォルト(Default )のGA、プレビュー、およびRCリリース
  • オフ(Off)Â更新通知機能をオフにします
  • LTSÂ(LTS)は、長期サービス(LTS)GAリリースの更新のみを通知します

PowerShell 7で更新通知をオフにする場合は、 PowerShellウィンドウでこのコマンドを実行します。

$Env:POWERSHELL_UPDATECHECK = 'Off'

5] PowerShell7から直接(PowerShell 7)DSC(Invoke DSC)リソースを呼び出す

Invoke-DscResourceコマンド レットは、指定されたPowerShell Desired State ConfigurationDSC)リソースのメソッドを実行します。これは実験的な機能です。

Using this cmdlet, configuration management products can manage Windows or Linux by using DSC resources. This cmdlet also enables debugging of resources when the DSC engine is running with debugging enabled.

6]互換性レイヤー

これにより、PowerShellユーザーは暗黙の(PowerShell)WindowsPowerShellセッションでモジュールをインポートできます。これを使用すると、リモートコンピュータ上のセッションとして実際のコマンドを実行し、結果をローカルセッションに返すことができます。モジュールのインポートがサポートされるようになったため、これらのモジュールをリモートコンピューターで実行できます。

PowerShellは、 (PowerShell)LinuxとmacOSでも利用できるオープンソースソフトウェアです。PowerShell 7に非常に多くの新機能が追加されているのは素晴らしいことであり、今後も増え続けることを願っています。あなたはマイクロソフトでそれについて(about it on Microsoft)もっと読むことができます。



About the author

私はユタ大学でコンピュータ エンジニアリングを卒業し、ソフトウェア開発と Windows 開発で 10 年以上の経験があります。PDF や Office ドキュメントを扱った経験があり、iOS や Android プラットフォームを使用してガジェットを作成した経験もあります。



Related posts