Flasher писал(а):Про stdout пока не думал. Есть какие-то идеи? Что там из полезного окромя cmd у нас выводит?
В первую очередь - cscript. Для меня - Autoit, конечно.
Ну вот, например, очень специфический запрос KopBuH по получению SID. Теперь его можно вытащить скриптом через WMI. Скрипт (get_sid.vbs):
Код: Выделить всё
On Error Resume Next
Set strUserName = ""
Set WshShell = WScript.CreateObject( "WScript.Shell" )
Set WshSysEnv = WshShell.Environment( "PROCESS" )
strUserName = WshSysEnv( "USERNAME" )
Set objWMIService = GetObject( "winmgmts://./root/CIMV2" )
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_UserAccount", "WQL", &h30)
For Each objItem In colItems
If LCase( objItem.Name ) = LCase( strUserName ) Then
WScript.Stdout.Write objItem.SID
End If
Next
Строка запуска в Autorun:
Код: Выделить всё
ProcessExecGetOutput SID cscript.exe "//Nologo get_sid.vbs"
SetEnv /EV USER_SID %SID%
KopBuH писал(а):но иногда почему то вылазиют странные сообщения плагина при выходе из ТС. причем не всегда
Странно, не наблюдал ничего такого странного.
KopBuH писал(а):является ли такой код правильным:
Можно в любой комбинации, минимально If..Endif.
Тут возникает другой вопрос - а зачем нужно условие%ShowHiddensOnStart% = 0, если оно ничего не делает.
KopBuH писал(а):P.S.: Loopback, добавил бы в autorun.example.cfg пару примеров работы с RegRead
Есть идеи? Нужно что-то применимое для многих.