Published On: 2022-02-13|Last Updated: 2022-06-26|Categories: Linux, PowerShell, Programming, Windows|
Failed to convert string with iconv, 7
Segmentation fault (core dumped)

Ubuntu から Windows に接続するとなんかもうとにかくファイルに触るとこれを吐く。なんなら存在しないファイルに触ろうとしても吐く。[System.IO.File]::ReadAllBytes() でも吐く。

ほぼ同じ内容を Windows 側のスクリプトファイルに保存し、Linux から接続して呼び出すと問題は発生しない。

iconv が出てくる辺り、Linux 対応のためにパッチのようなコードになっているのかもしれない。とにかく PowerShell はエンコーディング周りが整理されていない印象で、少しでも込み入った環境で使うと恐竜時代かのような景色が目の前に広がる。Plan9 はまだ開発されてない時代なのかな?

こうなると Linux から同期的に Windows のスクリプトを呼び出し、成功の真偽が得られれば良いので PsExec のようなツールで十分になってしまう。winexe がマルウェア扱いされて削除されてしまう状況では PowerShell でリモート接続してスクリプトを呼び出せるだけマシかもしれないが、たかがそれだけのためにツールとしては大き過ぎる。

似たような症状の方々:

関連