{PowerShell}{〜〜シリーズ}{標準エラー出力}{標準出力}{write}{コマンドレット}{出力}(7)

{Write-...コマンドレットシリーズ K#804C/06B6}

コマンドレット 出力ストリーム 番号 () コンソール出力 補足
Write-Host Information 6 デフォルトで有 5.0より前はストリームへの出力無し
Write-Output Success 1 デフォルトで有 Unix系OS上では標準出力にも送られる
Write-Error Error 2 デフォルトで有 Unix系OS上では標準エラー出力にも送られる
Write-Warning Warning 3 デフォルトで有
Write-Verbose Verbose 4 デフォルトで
Write-Debug Debug 5 デフォルトで
Write-Information Information 6 デフォルトで
N/A All (全てのストリーム) * N/A
{PowerShell}{制限}{PowerShell 5.1}(3)

{PowerShell 5.1の制限 K#804C/A2E0}

個人的に辛くて泣きそうになったもの

  • エンコーディングに対応するUTF-8がBOM付きのみ(スクリプト内でコード変換しないならBOM無しも使える)
  • リダイレクトするデータが必ずテキストエンコーディングの対象になる(外部プログラムから受け取ったバイナリデータを簡単には保存できない)
{PowerShell}{ハッシュテーブル}{配列}(3)

{このシリーズおもろい K#804C/9C4E}

{PowerShell}{多段SSH}{Posh-SSH}{Tera Term マクロ}{ゴミ}{パスワード}(6)

{あれ K#804C/135D}

パスワードが必要な踏み台サーバーと目的のホストに多段SSHログインして、catコマンドとかで出力した複数ファイルの内容をgzipにパイプで渡し、その出力をPowerShellからローカルにリダイレクトして、ホストや踏み台にゴミを出さずローカルに1個の圧縮ファイルとしてダウンロードしたいので、試してみる。

分かっていること

  • sshコマンドでは、パスワードの自動入力ができない
    • 私のいる環境では、公開鍵をサーバーに置けないから公開鍵認証は使えない
  • Tera Term マクロでは、デバッグモードにしないとバイナリデータをローカルに書き込めない
{PowerShell}

{}