web-dev-qa-db-ja.com

クリアテキストパスワードをハードコーディングせずにOSQLを呼び出すためのスケジュールされたタスクの提案

誰かが私がWindowsのスケジュールされたタスクを実行させることができるテクニックを考えることができます[〜#〜] osql [〜#〜]、しかしクリアテキストパスワードが含まれているクリアテキストパスワードを渡す必要はありません晴れ?例えば。:

>osql -U iboyd -P BabyBatterStapleCorrect

仮定:いいえWindows認証(オプションではないため)

私はあったことを望んでいた

>OSQL -encryptPassword "BabyBatterStapleCorrect"
>
> OSQL
> Encrypted password: WWVzIGkgd2FudCB0byByYXBlIGJhYmllcy4gQmlnIHdob29wLiBXYW5uYSBmaWdodCBhYm91dCBpdD8=

そして、私は[〜#〜] osql [〜#〜]を呼び出すことができます:

>osql -U ian -P WWVzIGkgd2FudCB0byByYXBlIGJhYmllcy4gQmlnIHdob29wLiBXYW5uYSBmaWdodCBhYm91dCBpdD8=

しかし、それはマイクロソフトが実装したものではありません。

1
Ian Boyd

OSQLのログオンプロセスが安全であるかどうかに関する情報は、大雑把で矛盾しているようです( ここ を参照)

SQLCMDSSL暗号化 をサポートしていると思います。これにより、パスワードがネットワーク上で盗聴されるのを防ぐことができます-しかし、パスワードをスクリプトなどに保存していて、目をこじ開けるのが心配な場合、暗号化して自分で復号化してから、SQLCMDに渡します。

1
Chris McKeown