これはWindowsですレジストリ自動実行キー私の現在(管理者グループ) ユーザー:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
これは「NT AUTHORITY\SYSTEM」ユーザー:
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run
これは単純なスクリプト「Test.cmd」です。
echo "Hello" >> C:\Test.txt
これを現在の使用者 Run
キーを追加すると動作しますが、システムユーザー、そうではありません。
ここで何が起こっているのか、どうすれば.cmdスクリプトを追加するWindows レジストリ経由でユーザー SYSTEM の権限で実行されますか?
Windows XP でテストしましたが、Windows 7 についても回答が得られれば幸いです。
答え1
最初の質問/投稿は間違っていると思います。HKEY_LOCAL_MACHINEの下にあるものはすべて適用されます関係なくログインに使用したユーザー アカウントのものです。したがって、最初の記述は正しくありません。ログインしたユーザーに関係なく、実行キーは次のレジストリ ブランチの下に存在します。
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
追加のユーザーは HKEY_USERS の下に存在します。管理者としてログインしているときに上記のキーを編集すると、HKEY_USERS の下の関連キーも編集されます (HKCU は HKEY_USERS の下のエントリの 1 つに対するプロキシにすぎないため)。
test.cmd スクリプトを HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\Run の下に置くと、どのユーザーがログオンしても実行されます。タイトルの最初の質問では、コマンドを「Windows の起動時に」実行したいと書かれていますが、これは起動プロセス中 (つまり、黒い画面に Windows ロゴが表示されているとき) のことですか、それともログオンプロセス?