как выполнить cmd от имени администратора в .reg-файле для смены владельца

как выполнить cmd от имени администратора в .reg-файле для смены владельца

Я борюсь, чтобы это работало правильно. Этот .reg при импорте работает на поверхности, однако при выполнении я получаю сообщение "Этот идентификатор безопасности не может быть назначен владельцем этого объекта"

Я предполагаю, что это связано с тем, что cmd не запущен от имени администратора. Может кто-нибудь посоветовать, как изменить команду? Я полагаю, исходя из прошлых встреч с похожими требованиями, вам нужно сначала использовать powershell, чтобы открыть cmd или что-то в этом роде?

Вот регфайл

[HKEY_CLASSES_ROOT\*\shell\RestoreOwnership]
"HasLUAShield"=""
"MUIVerb"="Restore Ownership"
"NoWorkingDirectory"=""
"NeverDefault"=""
"SubCommands"=""


[HKEY_CLASSES_ROOT\*\shell\RestoreOwnership\Shell]


[HKEY_CLASSES_ROOT\*\shell\RestoreOwnership\Shell\RestoreOwnershipSYSTEM]
"HasLUAShield"=""
"MUIVerb"="Restore to System"


[HKEY_CLASSES_ROOT\*\shell\RestoreOwnership\Shell\RestoreOwnershipSYSTEM\command]
@="cmd.exe /c icacls \"%1\" /setowner \"SYSTEM\" /t /c & pause"
"IsolatedCommand"="cmd.exe /c icacls \"%1\" /setowner \"SYSTEM\" /t /c & pause"


[HKEY_CLASSES_ROOT\*\shell\RestoreOwnership\Shell\RestoreOwnershipTrustedInstaller]
"HasLUAShield"=""
"MUIVerb"="Restore to TrustedInstaller"


[HKEY_CLASSES_ROOT\*\shell\RestoreOwnership\Shell\RestoreOwnershipTrustedInstaller\command]
@="cmd.exe /c icacls \"%1\" /setowner \"NT Service\\TrustedInstaller\" /t /c & pause"
"IsolatedCommand"="cmd.exe /c icacls \"%1\" /setowner \"NT Service\\TrustedInstaller\" /t /c & pause"


[HKEY_CLASSES_ROOT\Directory\shell\RestoreOwnership]
"HasLUAShield"=""
"MUIVerb"="Restore Ownership"
"NoWorkingDirectory"=""
"NeverDefault"=""
"SubCommands"=""


[HKEY_CLASSES_ROOT\Directory\shell\RestoreOwnership\Shell]


[HKEY_CLASSES_ROOT\Directory\shell\RestoreOwnership\Shell\RestoreOwnershipSYSTEM]
"HasLUAShield"=""
"MUIVerb"="Restore to System"


[HKEY_CLASSES_ROOT\Directory\shell\RestoreOwnership\Shell\RestoreOwnershipSYSTEM\command]
@="cmd.exe /c icacls \"%1\" /setowner \"SYSTEM\" /t /c & pause"
"IsolatedCommand"="cmd.exe /c icacls \"%1\" /setowner \"SYSTEM\" /t /c & pause"


[HKEY_CLASSES_ROOT\Directory\shell\RestoreOwnership\Shell\RestoreOwnershipTrustedInstaller]
"HasLUAShield"=""
"MUIVerb"="Restore to TrustedInstaller"


[HKEY_CLASSES_ROOT\Directory\shell\RestoreOwnership\Shell\RestoreOwnershipTrustedInstaller\command]
@="cmd.exe /c icacls \"%1\" /setowner \"NT Service\\TrustedInstaller\" /t /c & pause"
"IsolatedCommand"="cmd.exe /c icacls \"%1\" /setowner \"NT Service\\TrustedInstaller\" /t /c & pause"

Ну, у меня СИСТЕМА работает.

[HKEY_CLASSES_ROOT\*\shell\RestoreOwnership]
"MUIVerb"="Restore Ownership"
"HasLUAShield"=""
"SubCommands"=""


[HKEY_CLASSES_ROOT\*\shell\RestoreOwnership\shell\RestoreOwnershipSYSTEM]
@="Restore Ownership SYSTEM"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\*\shell\RestoreOwnership\shell\RestoreOwnershipSYSTEM\command]
@="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"SYSTEM\" /t /c /l & pause' -Verb runAs\""
"IsolatedCommand"="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"SYSTEM\" /t /c /l & pause' -Verb runAs\""


[HKEY_CLASSES_ROOT\*\shell\RestoreOwnership\shell\RestoreOwnershipTrustedInstaller]
@="Restore Ownership TrustedInstaller"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\*\shell\RestoreOwnership\shell\RestoreOwnershipTrustedInstaller\command]
@="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"NT Service\\TrustedInstaller\" /t /c /l & pause' -Verb runAs\""
"IsolatedCommand"="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"NT Service\\TrustedInstaller\" /t /c /l & pause' -Verb runAs\""

К сожалению, TrustedInstaller все еще терпит неудачу

Invalid parameter "Service\TrustedInstaller"

Я знаю, что это должно быть что-то глупое и простое, чего мне не хватает...

решение1

Окончательный ответ. Все крутилось вокруг форматирования.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Ownership]
"HasLUAShield"=""
"MUIVerb"="Ownership"
"NoWorkingDirectory"=""
"NeverDefault"=""
"SubCommands"=""

[HKEY_CLASSES_ROOT\*\shell\Ownership\Shell]

[HKEY_CLASSES_ROOT\*\shell\Ownership\Shell\flyout01]
"HasLUAShield"=""
"MUIVerb"="Take ownership"

[HKEY_CLASSES_ROOT\*\shell\Ownership\Shell\flyout01\command]
@="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c takeown /f \\\"%1\\\" && icacls \\\"%1\\\" /grant *S-1-3-4:F /t /c /l & pause' -Verb runAs\""
"IsolatedCommand"="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c takeown /f \\\"%1\\\" && icacls \\\"%1\\\" /grant *S-1-3-4:F /t /c /l & pause' -Verb runAs\""

[HKEY_CLASSES_ROOT\*\shell\Ownership\Shell\flyout02]
"CommandFlags"=dword:00000020
"HasLUAShield"=""
"MUIVerb"="Restore to administrators"

[HKEY_CLASSES_ROOT\*\shell\Ownership\Shell\flyout02\command]
@="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"Administrators\" /t /c /l & pause' -Verb runAs\""
"IsolatedCommand"="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"Administrators\" /t /c /l & pause' -Verb runAs\""

[HKEY_CLASSES_ROOT\*\shell\Ownership\Shell\flyout03]
"HasLUAShield"=""
"MUIVerb"="Restore to system"

[HKEY_CLASSES_ROOT\*\shell\Ownership\Shell\flyout03\command]
@="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"SYSTEM\" /t /c /l & pause' -Verb runAs\""
"IsolatedCommand"="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"SYSTEM\" /t /c /l & pause' -Verb runAs\""

[HKEY_CLASSES_ROOT\*\shell\Ownership\Shell\flyout04]
"HasLUAShield"=""
"MUIVerb"="Restore to trustedinstaller"

[HKEY_CLASSES_ROOT\*\shell\Ownership\Shell\flyout04\command]
@="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"\"\"NT Service\\TrustedInstaller\"\"\" /t /c /l & pause' -Verb runAs\""
"IsolatedCommand"="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"\"\"NT Service\\TrustedInstaller\"\"\" /t /c /l & pause' -Verb runAs\""

[HKEY_CLASSES_ROOT\Directory\shell\Ownership]
"HasLUAShield"=""
"MUIVerb"="Ownership"
"NoWorkingDirectory"=""
"NeverDefault"=""
"SubCommands"=""

[HKEY_CLASSES_ROOT\Directory\shell\Ownership\Shell]

[HKEY_CLASSES_ROOT\Directory\shell\Ownership\Shell\flyout01]
"HasLUAShield"=""
"MUIVerb"="Take ownership"

[HKEY_CLASSES_ROOT\Directory\shell\Ownership\Shell\flyout01\command]
@="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c takeown /f \\\"%1\\\" && icacls \\\"%1\\\" /grant *S-1-3-4:F /t /c /l & pause' -Verb runAs\""
"IsolatedCommand"="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c takeown /f \\\"%1\\\" && icacls \\\"%1\\\" /grant *S-1-3-4:F /t /c /l & pause' -Verb runAs\""

[HKEY_CLASSES_ROOT\Directory\shell\Ownership\Shell\flyout02]
"CommandFlags"=dword:00000020
"HasLUAShield"=""
"MUIVerb"="Restore to administrators"

[HKEY_CLASSES_ROOT\Directory\shell\Ownership\Shell\flyout02\command]
@="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"Administrators\" /t /c /l & pause' -Verb runAs\""
"IsolatedCommand"="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"Administrators\" /t /c /l & pause' -Verb runAs\""

[HKEY_CLASSES_ROOT\Directory\shell\Ownership\Shell\flyout03]
"HasLUAShield"=""
"MUIVerb"="Restore to system"

[HKEY_CLASSES_ROOT\Directory\shell\Ownership\Shell\flyout03\command]
@="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"SYSTEM\" /t /c /l & pause' -Verb runAs\""
"IsolatedCommand"="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"SYSTEM\" /t /c /l & pause' -Verb runAs\""

[HKEY_CLASSES_ROOT\Directory\shell\Ownership\Shell\flyout04]
"HasLUAShield"=""
"MUIVerb"="Restore to trustedinstaller"

[HKEY_CLASSES_ROOT\Directory\shell\Ownership\Shell\flyout04\command]
@="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"\"\"NT Service\\TrustedInstaller\"\"\" /t /c /l & pause' -Verb runAs\""
"IsolatedCommand"="powershell -windowstyle hidden -command \"Start-Process cmd -ArgumentList '/c icacls \\\"%1\\\" /setowner \"\"\"NT Service\\TrustedInstaller\"\"\" /t /c /l & pause' -Verb runAs\""

Связанный контент