PowerShell 7 のすべての新機能のリスト

Windows Speedup Tool をダウンロードしてエラーを修正し、PC の動作を高速化します。

次のメジャーバージョンは、パワーシェルがリリースされ、いくつかの重要な変更が加えられています。 7 番目のバージョンには、並列実行、リモート実行用のモジュールのインポート、新しいオペレーターなどの機能が含まれています。この投稿では、のすべての新機能を見ていきます。パワーシェル 7.0

PowerShell ディレクトリの変更

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

PowerShell 7 は次の場所にインストールされます。

%programfiles%\PowerShell\7

%programfiles%\PowerShell\7フォルダが追加されます$env:パス

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

Windows 上の PowerShell Core 6.x:

%programfiles%\PowerShell\6

に置き換えられます

%programfiles%\PowerShell\7

Linux:

/opt/microsoft/powershell/6

に置き換えられます

/opt/microsoft/powershell/7

macOS:

/usr/local/microsoft/powershell/6

に置き換えられます

/usr/local/microsoft/powershell/7

PowerShell 7 の新機能

これらの各機能を簡単に説明し、それが PowerShell ユーザーにどのように役立つかを説明してみました。ただし、Microsoft 公式ページで詳細を必ずお読みください。

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

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

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

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

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

2] 新しいオペレーター

新しい演算子は 3 つあります。三項演算子: ? b : c、パイプライン チェーン演算子: || && および Null 条件演算子: ??そして??=。これらは次のように動作します単純化された if-else ステートメントのように動作します。If-else ループを常に使用する代わりに、コードを簡単に作成できるようになります。

3]コンサイスビューおよび Get-Error コマンドレット

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

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

$Error | Get-Error

Get-Error -Newest 3 

4] 新しいバージョンの自動通知

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

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

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

$Env:POWERSHELL_UPDATECHECK = 'Off'

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

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

このコマンドレットを使用すると、構成管理製品は DSC リソースを使用して Windows または Linux を管理できます。このコマンドレットは、DSC エンジンがデバッグを有効にして実行されている場合に、リソースのデバッグも有効にします。

6]互換レイヤー

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

PowerShell は、Linux および macOS でも利用できるオープンソース ソフトウェアです。 PowerShell 7 にこれほど多くの新機能があるのは素晴らしいことであり、この機能が今後も成長し続けることを願っています。もっと読むことができますそれについてはマイクロソフトで