Runbook実行時、設定された文字コードを調べるとちょっとおもしろかった(最初の設定≠Default設定)だったのでメモ
-
Automationアカウントを作成(もしまだなら)
- リージョン:東日本にした。これが影響しているかは未調査
-
[Runbookの追加]
-
グラフィックRunbookでない、ワークフローでもない、普通のPowershellで新しくRunbookを作成
-
以下を貼り付けて実行(テストウィンドウでも可)
# 何も設定しない最初の (initial) 設定
Write-Output "# Initial"
Write-Output $OutputEncoding
# Default に設定
Write-Output "# [Text.Encoding]::Default"
$OutputEncoding = [Text.Encoding]::Default
Write-Output $OutputEncoding
# UTF8 に設定
Write-Output "# [Text.Encoding]::UTF8"
$OutputEncoding = [Text.Encoding]::UTF8
Write-Output $OutputEncoding
出力は以下の通り。何も設定しない状態(Initial)と、[Text.Encoding]::Default
を明示して設定した状態は異なる
# Initial
IsSingleByte : True
BodyName : us-ascii
EncodingName : US-ASCII
HeaderName : us-ascii
WebName : us-ascii
WindowsCodePage : 1252
IsBrowserDisplay : False
IsBrowserSave : False
IsMailNewsDisplay : True
IsMailNewsSave : True
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : True
CodePage : 20127
# [Text.Encoding]::Default
IsSingleByte : True
BodyName : iso-8859-1
EncodingName : Western European (Windows)
HeaderName : Windows-1252
WebName : Windows-1252
WindowsCodePage : 1252
IsBrowserDisplay : True
IsBrowserSave : True
IsMailNewsDisplay : True
IsMailNewsSave : True
EncoderFallback : System.Text.InternalEncoderBestFitFallback
DecoderFallback : System.Text.InternalDecoderBestFitFallback
IsReadOnly : True
CodePage : 1252
# [Text.Encoding]::UTF8
BodyName : utf-8
EncodingName : Unicode (UTF-8)
HeaderName : utf-8
WebName : utf-8
WindowsCodePage : 1200
IsBrowserDisplay : True
IsBrowserSave : True
IsMailNewsDisplay : True
IsMailNewsSave : True
IsSingleByte : False
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : True
CodePage : 65001