日記+コメント付きブックマーク+他人にも役に立つかもしれない情報など。
(更新情報: RSS(ツッコミ付き) / RSS(ツッコミ抜き) / LIRS)
- p (01/03)
- Thiramil (10/26)
- 久々にいまむらを食べたい通りすがり (09/28)
- Fluxadir (05/16)
- Antiprestin (11/08)
2017/07/19
_ [Windows][システム運用] Windows 標準機能で BASE64 エンコード・デコードする
今日の Windows には PowerShell という強力なスクリプト環境が用意されているおかげで、OS ビルトイン機能で BASE64 のエンコード・デコードが可能である。
そこで、ファイルをドロップすると BASE64 エンコード・デコードを行うバッチファイルを書いた。
b64encode.bat
powershell -command "$raw = '%1'; $b64 = \"$raw.b64.txt\"; [System.IO.File]::WriteAllText($b64, [Convert]::ToBase64String([System.IO.File]::ReadAllBytes($raw)))"
b64decode.bat
powershell -command "$b64 = '%1'; $raw = $b64 -replace '.b64.txt', ''; if ($raw -eq $b64) { $raw = \"$b64.bin\" }; [System.IO.File]::WriteAllBytes($raw, [Convert]::FromBase64String([System.IO.File]::ReadAllText($b64)))"
これにより、「ファイル送受信は禁止されているがテキストコピペは可」という VDI 環境において、小容量であれば任意のファイル送受信が可能ということになり、ちょっと便利なケースがある反面場合によっては情報漏洩の抜け穴となる恐れもある。
では VDI では PowerShell を動作禁止すべきなのかというと、VDI 側でだけ禁止しても端末側でも禁止しないと意味がない。端末側で PowerShell を禁止してもメールを作成してその下書きのソースを開くといった抜け道もある。
現実的なのはコピペ可能な容量を常識的な利用では困らない程度 (1KB 等) に制限することでしょうか。