CMD через Registry
Иммется такая штука в виде ключа реестра.
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.
Если в кратце, то как записать в реестр текущее имя пользователя в виде строки.
|
Так работает:
Код:
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\""
|
Вот я болван. Причем как всегда думаешь правильно, но почему то все равно уверен в обратном.
Спасибо.
Я кстати решил эту задачу хитровы*бано через паскаль. Использовал GetUserName
|
Цитата:
Цитата salat
На прямую естественно работает а через реестр нет. »
|
Работает и через реестр — если использовать не REG_SZ, как у Вас, а правильный формат — «REG_EXPAND_SZ».
|
Время: 20:33.
© OSzone.net 2001-