PowerShellの文字コードをUTF8からデフォルトANSIにするオプション関する情報になります。
テキストファイルを置換する作業があったのですが、元のファイルがANSIで何も考えずに置換するとUTF8になったので、元のファイルの文字コードを維持するために、ちょっと調べました。
参考になる情報がこちら
文字エンコードについて - PowerShell | Microsoft Docs
PowerShellにおいて文字コードは意外と重要で、以前もあるシステムに取り込んだ後、文字化けしているというのが原因が文字コードでした。
バージョンが変わってデフォルト値が変わっていたのが原因だったようです。
まず説明です。
===
Windows PowerShell での文字エンコード
PowerShell 5.1 では、 Encoding パラメーターは次の値をサポートしています。
Ascii Ascii (7 ビット) 文字セットを使用します。
BigEndianUnicode は、ビッグエンディアンのバイト順で UTF-16 を使用します。
BigEndianUTF32 は、ビッグエンディアンのバイト順で 32 UTF-8 を使用します。
Byte 文字のセットをバイトシーケンスにエンコードします。
Default は、システムのアクティブなコードページ (通常は ANSI) に対応するエンコーディングを使用します。
Oem は、システムの現在の OEM コードページに対応するエンコーディングを使用します。
String``Unicode と同じです。
Unicode は、リトルエンディアンのバイト順で UTF-16 を使用します。
Unknown``Unicode と同じです。
UTF32 は、リトルエンディアンのバイト順で 32 UTF-8 を使用します。
UTF7 UTF-7 を使用します。
UTF8 UTF-8 (BOM 付き) を使用します。
一般に、Windows PowerShell では、既定で Unicode utf-8 エンコードが使用されます。 ただし、 のコマンドレットで使用される既定のエンコードWindows PowerShell一貫性が保たれたわけではありません。
===
Windows PowerShell では、既定で Unicode utf-8 エンコードが使用されるとあります。
私もそうですが、ANSIからUTF-8にファイルの文字列置換後に変更されていました。
表示上の問題はなかったのですが、元のファイルの文字コードを維持するために、オプションでANSIを指定します。
> $PSDefaultParameterValues['*:Encoding'] = 'default'
これでANSIとしてファイルを置換できました。参考までに。