Type Accelerators
PowerShell Core 6.1には新しく次のType Acceleratorが追加された。ただし、このType AcceleratorはWindowsプラットフォームでのみ機能する。マルチプラットフォームで動作するスクリプトを組む場合にはこれらType Acceleratorを使うことはないと思う。
Type Accelerator | 対象 |
---|---|
[adsi] | System.DirectoryServices.DirectoryEntry |
[adsisearcher] | System.DirectoryServices.DirectorySearcher |
[wmi] | System.Management.ManagementObject |
[wmiclass] | System.Management.ManagementClass |
[wmisearcher] | System.Management.ManagementObjectSearcher |
今回新しく導入されたType Acceleratorsは特にADオブジェクトやWMIオブジェクトの構築時に便利。なお、Windows以外のプラットフォームでは今回導入されたType Acceleratorは利用できず、上記スクリーンショットのようにエラーが表示される。
MSIインストールパス
PowerShwll Core 6.1からはMSIパッケージでWindowsにインストールした場合のパスが次のように変更となった。
パス | 内容 |
---|---|
$env:ProgramFiles\PowerShell\6\ | 6.x系の安定版インストールパス |
$env:ProgramFiles\PowerShell\6-preview\ | 6.x系のプレビュー版インストールパス |
この変更はPowerShell CoreをWindows Update経由でアップデートした場合でも問題なく動作するようにするためだとされている。
POWERSHELL_TELEMETRY_OPTOUT
PowerShell Coreは起動時にMicrosoftへ基本テレメトリデータを送信している。送信されているデータはオペレーティングシステム名、オペレーティングシステムバージョン、PowerShellバージョンなど。Microsoftはこうしたデータに基づいてPowerShellがどのような環境で実行されているのかを調べ、新機能やバグ修正に関する優先順位決定時のデータとして利用している。
PowerShell Core 6.1にはこのデータ送信を抑制する機能が追加された。環境変数POWERSHELL_TELEMETRY_OPTOUTをtrueまたはyesまたは1に設定すると起動時における基本テレメトリデータの送信は行わないようになる。
VisualBasic
これまでのバージョンであればAdd-Typeコマンドレットを使うことでVisual Basicコードをコンパイルすることができたが、Add-TypeコマンドレットでVisual Basicが指定されることがほとんどなかったことから、Add-Typeコマンドレットのサポート対象からVisual Basicが外された。この結果、サイズが縮小している。
cd
これまでのバージョンであればcd(またはSet-Location)でドライブ名のみを指定して移動した場合、デフォルトロケーションへの移動が行われていた。PowerShell Core 6.1からはセッションが保持している最後のワーキングディレクトリへ移動するようになった。
-lp
PowerShell Core 6.1からは-LiteralPathパラメータをもっているすべてのコマンドレットで-lpパラメータを指定可能になった。