web-dev-qa-db-ja.com

起動時またはユーザーがログオンしたときにWindowsバッチファイルを実行する

起動時にすべてのユーザーに対していくつかのバッチファイルを自動的に実行するサーバーアクセス権があります。

問題は:

  1. 他のユーザーはこのファイルを実行できず、ファイルを作成したユーザーとして実行する必要があります(理由がわからないのですか?おそらく管理者権限がないためです)

  2. ルーン文字を使用しても、パスワードの入力を求められます。パスワードの共有に問題はありませんが、タスクがどのように自動化されるかわかりません。

runas /savecred /user:Username "c:/xyz.bat"を試しましたが、失敗します。コマンドrunas/netonlyで機能しますが、パスワードの入力を求められます。

任意のユーザーに対してバッチスクリプトを実行する方法はありますか?

2
R1234

Windows ServerまたはWindowsのProfessionalエディションを実行している場合は、グループポリシーを使用してこれを行うことができます。スクリプトは、ログオンしているユーザーとして、誰でも、それぞれの権限で実行されます。特定のユーザーに関連付けられることはありません。

バッチスクリプトをC:\Windows\System32\GroupPolicy\User\Scripts\Logonに保存します。次に、グループポリシーエディター(gpedit.msc)を開き、ユーザー構成>Windows設定>スクリプト(ログオン/ログオフ)、メインパネルでログオンを選択します。 ログオンプロパティダイアログで追加をクリックし、次に参照をクリックして脚本。ログオン時に実行するスクリプトごとにこれを繰り返します。詳細については、 このMicrosoftの記事 を参照してください。

Adding logon scripts using Group Policy Editor


上記のプロセスは、ログオンしているユーザー向けであることに注意してください。ローカルシステムのアクセス許可を使用してシステムの起動時にスクリプトを実行する場合は、コンピューターの構成>Windowsの設定>スクリプト(スタートアップ/シャットダウン)を選択し、スタートアップを選択してから、上記の残りの手順に従います。システム起動用のスクリプトはC:\Windows\System32\GroupPolicy\Machine\Scripts\Startupに保存する必要があります。

3
bwDraco

スケジュールされたタスクを作成し、特定のユーザーとして実行します。

enter image description here

ユーザーが別の(事前構成された)ユーザーとしてファイルを実行できるようにするために、私は過去に同様の状況で SPCとして実行 を使用して成功しました。目的のユーザー名とパスワード、および実行する実行可能ファイルを使用してcryptfileを構成すると、特定の実行可能ファイルを実行できる以外に、アカウントへのアクセスを実際に許可しなくても、誰でも使用できるようになります。

0
TJennings

Windowsには Autoexec.bat というファイルがあり、ユーザーがログインした後にいくつかのコマンドを実行できます。権限については、通常のユーザーにロックされた場所にアプリケーションを配置することができます(はNTFSパーティションでした)ので、解決策はプログラムをドライブのルートに配置することです(たとえば、C:/)。次に、AFAIKは、次の場合にプログラムが許可を求めます。

  • これらは、管理者ユーザーのみがアクセスできるフォルダーにロックされています。
  • それらは、レジストリまたはオペレーティングシステムの他の部分を混乱させます(その時点でUACが起動します)。
0