変更した所有権を TrustedInstaller に復元する
システムファイルの所有者を変更した後に、TrustedInstaller に所有者を戻します。
あまり意味のないことかもしれないけど、ファイルによっては所有権が変更されているとセキュリティ的によろしくない場合があるかも。
でもまぁ、システムファイルをいじる人はそんなにいないと思うのでこんな方法もあるんだなぁぐらいで適当に読み流してください。
- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
変更前
変更後
復元後
- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
*コマンド実行前の準備
コマンドの実行には、AdvancedRun.exe が必要です。
ダウンロードしてAdvancedRun.exeをSystem32へコピーしてください。
追加したコンテキストメニューのデータの値を編集します。
または、こちら。
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\ExCmd\shell\RunSys\command]
@="AdvancedRun.exe /EXEFilename \"%1\" /RunAs 8 /Run"
RunAs 4 を RunAs 8 に変更します。
"C:\Program Files\WindowsTerminal\OpenConsole.exe"
を右クリでシステム権限で実行。
* 標準ではターミナルの場所が違うのでOpenConsole.exeを探して実行。
* wt.exe は起動しません。
- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
* コマンドの編集と実行
icacls "%1" /grant Administrators:F && sc config TrustedInstaller start= demand && net start TrustedInstaller && icacls "%1" /setowner "NT SERVICE\TrustedInstaller" && icacls "%1" /inheritance:d && icacls "%1" /remove Administrators && icacls "%1" /grant Administrators:(RX) && icacls "%1" /remove SYSTEM && icacls "%1" /grant SYSTEM:(RX) && icacls "%1" /grant "NT SERVICE\TrustedInstaller":F
"%1" を変更したいファイルのパスと置き換えてください。(8ヶ所)
Administrators は自身のユーザー名と置き換えてください。
編集後、OpenConsole.exe の窓へ貼り付けて実行。
これで TrustedInstaller へ復元できます。
- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
備考 :
システムドライブ内で変更するだけならSYSTEMはいじる必要ないんだけど、別ドライブへコピーして編集するとSYSTEMのアクセス権が変更されてしまうので念のためSYSTEMもコマンドに入れてます。
- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
うまくいかなかった場合 :
失敗したときはその都度アクセス権をリセットしてください。
icacls "%1" /t /q /c /reset
この時は通常のターミナルまたはCMDで大丈夫です。
失敗してコマンドを繰り返していると
要求したサービスは既に開始されています。
とエラーになる場合があります。
net stop TrustedInstaller
を実行するか、しばらく時間をおいてから試してください。
*システムリソース、レジストリの編集は自己責任でお願いします。