web-dev-qa-db-ja.com

Windows XPで「実行専用」のバッチファイルを作成できますか?

Windows XPシステムで、ユーザーは実行はできるが読み取り(入力、編集など)はできないバッチファイルを設定することはできますか?

「ファイルの実行」を許可し、「データの読み取り」を許可しないで、アクセス許可を試してみましたが、機能しないようです。

ありがとう。

6
Alex O

まず第一に-すべての参加者に大いに感謝します!

ソリューションに進む前に、そもそもなぜそれが必要だったのかを詳しく説明しましょう。

データベーススクリプトを実行していくつかのテーブルを更新するバッチファイルがあります。スクリプトはデータベースに接続するためにパスワードを必要とするため、バッチファイルで指定されました。
ユーザーは本番システムでスクリプトを実行する必要がありましたが、パスワードを設定することはできませんでした。

解決策には次のものが含まれていました。
1)バッチファイルのアクセス許可は、指定されたアカウントに対してのみアクセスを許可するように設定されました。
2)その特定のアカウントでそのバッチファイルを実行するタスクがWindowsスケジューラに設定されました。スケジュールされたタスクのアクセス許可により、問題のユーザーへの読み取りおよび実行アクセスが許可されます。タスクは「無効」に設定されました。
3)バッチファイルを実行する必要があるときはいつでも、対応するタスクがユーザーによって手動で開始されます。

追加のボーナスとして、タスクはリモートで開始できます。

schtasks /run /s remote_system /tn task_name

繰り返しになりますが、ご回答ありがとうございます。

4
Alex O

デフォルトでは、バッチファイルは、実行しているマシンに対して十分な権限を持っている人なら誰でも、少なくとも表示/読み取り可能です。

読み取り不可能なファイルを作成する必要がある場合は、別のファイルを使用する必要があります。すべてのスクリプト(vbs、batch、powershell、jscript)は、ファイルを実行できるすべての人が表示できます。

実行可能ファイルも表示できます。ファイルの内容を何らかの形で隠すことができるのは、それらの表示方法の違いだけです。

スクリプトファイルは、定義上、テキストベースの命令リストであるため、テキストエディタで簡単に表示できます。

更新(コメントごとに追加):暗号化の問題は、スクリプトの実行時に暗号化を解除する必要があることです。

誰がスクリプトを読まないようにするかを決める必要があると思います。どのような状況でも、だれでも、またはほとんどの平均的な人だけがスクリプトを表示できないようにする必要がありますか。

平均的なジョーに表示されないようにするのに十分な場合は、batfilesのEditエントリをレジストリから削除し、スクリプトが最小限の出力で実行されることを確認してください。誰からも遠ざける必要がある場合は、他の方法で実行する必要があります。

7
music2myear

[〜#〜] btec [〜#〜] のようなものを使用して、バッチファイルをいつでもexeに変換できます。その内容の。

2
Blomkvist

高度なアクセス許可とその機能については、こちらをご覧ください http://www.ntfs.com/ntfs-permissions-file-advanced.htm

1
Mucker