Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   CMD через Registry (http://forum.oszone.net/showthread.php?t=278036)

salat 19-02-2014 17:10 2311908

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.

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

Georgio 19-02-2014 21:08 2312044

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


Код:

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 19-02-2014 21:36 2312064

Цитата:

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

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

Iska 20-02-2014 01:14 2312176

Цитата:

Цитата salat
На прямую естественно работает а через реестр нет. »

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


Время: 20:33.

Время: 20:33.
© OSzone.net 2001-