CMD/BAT - CMD через Registry

Ответить
Аватара пользователя
salat

CMD/BAT - CMD через Registry

Сообщение salat »

Иммется такая штука в виде ключа реестра.





HTML код:

Код: Выделить всё

 [HKEY_CLASSES_ROOT\*\shell\runas\command] 
 @="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant \"%username%\":F" 
 "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant \"%username%\":F" 
 [HKEY_CLASSES_ROOT\Directory\shell\runas\command]
 @="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant \"%username%\":F /t"
 "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant \"%username%\":F /t"



На месте %username% должо быть имя пользователя. На прямую естественно работает а через реестр нет.

Как это дело запустить? Или может у реестра есть своя переменная для получения имени юзера? Ну что то типа LogonUI.



Если в кратце, то как записать в реестр текущее имя пользователя в виде строки.
Аватара пользователя
Georgio

Re: CMD/BAT - CMD через Registry

Сообщение Georgio »

Так работает:







Код:

Код: Выделить всё

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c \"takeown /f \"%1\" && icacls \"%1\" /grant %%username%%:F\""
"IsolatedCommand"="cmd.exe /c \"takeown /f \"%1\" && icacls \"%1\" /grant %%username%%:F\""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c \"takeown /f \"%1\" /r /d y && icacls \"%1\" /grant %%username%%:F /t\""
"IsolatedCommand"="cmd.exe /c \"takeown /f \"%1\" /r /d y && icacls \"%1\" /grant %%username%%:F /t\""
Аватара пользователя
salat

Re: CMD/BAT - CMD через Registry

Сообщение salat »

Цитата:



Так работает



Вот я болван. Причем как всегда думаешь правильно, но почему то все равно уверен в обратном.

Спасибо.



Я кстати решил эту задачу хитровы*бано через паскаль. Использовал GetUserName
Аватара пользователя
Iska

Re: CMD/BAT - CMD через Registry

Сообщение Iska »

Цитата salat:



На прямую естественно работает а через реестр нет.
CMD/BAT - CMD через Registry




Работает и через реестр — если использовать не REG_SZ, как у Вас, а правильный формат — «REG_EXPAND_SZ».
Ответить

Вернуться в «Скриптовые языки администрирования Windows»