BLOGTIMES
2018/11/04

Windows でも mkpasswd したい

  tcl  cli  windows  bat 
このエントリーをはてなブックマークに追加

Linux でランダムなパスワードを生成するために expect に付属している mkpasswd*1 を使っている人は多いと思います。
今日はこれを単純に Windows のコマンドラインで使うことができないかと思って、いろいろと試行錯誤してみました。

mkpasswd はバイナリでなく Tcl スクリプト

mkpasswd は単純なアプリなので「どこかに mkpasswd.exe が落ちているのでは?」と思ったのですが、そう単純な話はありませんでした。
実は mkpasswd の実体は Tcl スクリプト(Executable file example/mkpasswd)だったのです。

仕方が無いので、これをランタイムと一体化してビルドする方法がないかと思って調べてみたら「tclkitを使って単一exeファイルを作る。」というエントリを見つけました。
ちょっと古いですが、基本的には現在でもこれと同じ方法が使えます

ビルドに必要となる tclkitsh や sdx については、以下で配布されているものを利用することにしました。

一撃でビルドできる bat にしてみた

ビルドの手順は以外と煩雑なので、Windows のバッチファイルに纏めてみました。

以下のファイルをダウンロードして実行すると、mkpasswd.exe が生成されます。
いちおうダウンロードしたファイルの SHA256 を見ているので、おかしなファイルは生成されないはずですが利用は自己責任です。
また、オリジナル版ではローカルユーザーのパスワードを変更する機能がついていますが、この部分は必要ないのでパッチを当てて削除してあります。

build_mkpasswd.bat


トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/10552
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン