Windowsタスクスケジューラによって5分ごとに呼び出されるWindowsバットがあります。そこでネットワーク ドライブに接続しています。この
net use G: \hostname\shared mypassword /user:myuserid /persistent:yes
のようなものですが、問題なく動作しますが、bat ファイルにパスワードを入れたくありません。プレーンtxtとして。とにかくパスワードを保護したり、暗号化されたパスワードを入れたり、安全な場所に保管したりすることはありますか?
2 に答える
環境変数を使用します。
Net use .... %password%
次に、バッチが実行されるコンテキストで変数を定義します。これは、スクリプトがモバイルであるため、スクリプト ソースよりも優れています。このマシンからそのマシンにコピーでき、ソース管理などで終了する可能性があります。ローカル ホスト攻撃に対しては安全ではありません。つまり、あるユーザーがスクリプト内のパスワードを見ることができた場合、そのパスワードは環境内でも見つかる可能性があります。
PowerShell に切り替える場合は、より高度なソリューションがあります。https://social.technet.microsoft.com/wiki/contents/articles/4546.working-with-passwords-secure-strings-and-credentials-in-windows-powershell.aspx
Md5ジェネレーター(または独自に作成したハッシュ コード ジェネレーター) を使用して、コンピューター内の任意のファイルからパスワードを生成できます。実行するたびに、バッチ ファイルは、ジェネレーターによってその特定のファイルからパスワードを生成します。
パスワードはプレーン テキストではなくなり、ジェネレーターと対応するファイルに隠されます。
それが役に立てば幸い。