2020年11月15日(米国時間)、次のメジャーアップデートへ向けたプレビュー版となる「PowerShell 7.2 Preview 2」が公開された。このプレビュー版は.NET 5がベースとなっている。次のバージョンは.NET 6の使用が予定されているが、まだ公開を待っている状態だ。.NET 6の開発具合に合わせて、PowerShell 7.2プレビュー版も.NET 6への移行が予定されている。
PowerShell 7.2プレビュー2ではいくつかのバグが修正されているほか、パフォーマンスの向上、コードのクリーンナップ、-PipelineVariable共通パラメータの扱い変更、新機能の追加などが行われている。修正されたバグの中には、PowerShell 7.1で発生していたリパースポイントに関するバグの修正が含まれている。
WindowsではシンボリックリンクファイルやOneDriveファイル、Microsoftがインストールしたアプリケーションなどが「リパースポイント機能」と呼ばれるファイルシステムの機能を使用している。PowerShell 7.1でこのリパースポイントの使用に対してバグが発生しており、NTFS以外のドライブで実行ファイルを使おうとすると「Incorrect Function」エラーが発生するようになっていた。たとえばUSBメモリやネットワーク共有などでもこの問題が発生していた。今回のプレビュー版でこの問題が解消されている。
-PipelineVariable共通パラメーターが、最初の入力オブジェクトだけではなく、パイプラインから渡されるすべてのオブジェクトが正しく含まれるようにも変更されている。これでC#で開発されたコマンドレットと同じ処理をスクリプトで開発されたコマンドレットでも使用できるようになった。ただし、この挙動はこれまでの挙動とは異なるため、互換性については注意が必要だ。
$PSStyle自動変数を導入
PowerShell 7.2プレビュー2には「$PSStyle」という自動変数が新しく導入された。この自動変数はPowerShell 7.1には存在しないものだ。
$PSStyle自動変数はPSAnsiRenderingと呼ばれる実験的機能の1つで、ターミナル文字の色、太字、斜体などを制御するANSIエスケープシーケンスを簡単に扱えるようにするものだ。PowerShell 7.2プレビュー2で$PSStyleをチェックすると、次のように自動変数として存在していることがわかる。
PowerShell 7.2プレビュー2の$PSStyleの内容をそのままダンプすると次のようになる。
$PSStyleにはFormatting、Foreground、Backgroundというネストされたタイプが用意されており、これらを組み合わせて使用できるようになっている。加算することで次のように同時に使えるようになっている。
上記スクリーンショットはWindows Terminalで$PSStyleを使った例だ。Windows Terminal側の対応とうまく噛み合っていないのか、表示がちょっとおかしいが、エスケープシーケンスによる色やスタイルの変更が機能していることがわかる。
Windows Terminalはまだ開発途上にある。PowerShell 7.2が正式リリースされるまでにはこの辺りも対処されるはずだ。エスケープシーケンスはターミナルで装飾を行う代表的な方法である。PowerShellからエスケープシーケンスの扱いが簡単になることで、より人間が認識しやすいかたちに出力を加工できるようになるはずだ。
PowerShell 7.2も漸進的な改善バージョンかも
PowerShell 7.1にはそれまで実験的だった機能が正式な機能として取り込まれた。だが、全体として見ると細かい修正や改善が進められたバージョンとなっている。PowerShell 7.2の開発状況を見てみると、こちらも言語として大きな変更が取り込まれるとは考えにくく、このまま進んで漸進的なリリースになっていく可能性が高いのではないかと思われる。
しかしそれは別に悪いことではない。このところ細かいバグ修正や改善が続いており、そのうちのいくつかは使い勝手を大きく改善するものだ。ちょっとした変化なのだが、その変化が使う側としてはありがたい。PowerShell 7系はしばらく細かい改善が進んでいくバージョンになるかもしれない。
※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。
連載目次
もっと知りたい!こちらもオススメ

【連載】RPA入門 - ツールで学ぶ活用シーン
AIには、ルールベース、機械学習、深層学習(ディープラーニング)の3つのレベルがあり、レベルが上がるに連れてより高度な人工知能を実現しますが、AIのスピンオフという位置付けで、Digital Labor(仮想知的労働者)によるホワイトカラー業務の自動化を実現するRPAが注目されています。
関連リンク
ダウンロードBOXに入れる
記事をダウンロードBOXに追加します。よろしいですか?
ブックマーク
記事をブックマークに追加します。よろしいですか?
-
[2021/03/05 08:00] サーバ/ストレージ
-
[2021/03/04 08:00] クラウド
-
$side_seminar_count = $i+1; ?>
-
2021年3月12日(金) 13:00 ~ 17:00 【第1部】13:00~13:50(基調講演) 【第2部】14:00~16:15 計12セッション 【ASK THE SPEAKER】16:30~17:00(講演者への質問コーナー)
KDDI SOLUTION DAY 2021 ~不確実性の高い時代のビジネス共創とDX~
$side_seminar_count = $i+1; ?>
-
2021年3月12日 金曜日 13:00 – 14:50
DXでさらに企業進化を AI+自動化でビジネスをパワーアップ
$side_seminar_count = $i+1; ?>
-
2021年3月15日(月)0:00~2021年3月31日(水)23:59
KDDI まとめてオフィスの学校向けオンラインセミナー ~これからの教育ICT推進に向けて~
$side_seminar_count = $i+1; ?>
-
2021年 3月 18日 (木) 13:00~18:20
マイナビニュース スペシャルセミナー 2021年の脅威に対峙する
$side_seminar_count = $i+1; ?>
-
2021年3月18日(木)15:00~16:00
5G時代のCDNに!コスト削減と顧客体験向上を両立させるCDNとは?
今注目のIT用語の意味を事典でチェック!