Avatar
vodslon
Člen
Avatar
vodslon:

Ahoj,

Win služba Session 0, umím pustit process, který se ukáže u uživáka na ploše. Služba běží System učet, co má práva zapisovat. Potřebuji pustit ze služby process, který uvidí user a jeho GUI, ale poběží pod učtem Systemu, prostě někám vytvořit token a vůbec nejsem schopný (možná to horko) přijít na to jak to udělat. Za radu moc děkuji.

Zřejmně by to měly dělat metody CreateProcessAsUser nebo CreateProcessTo­kenW. Myslím, že by to mělo jít, aby si služba pustila pod sebou program se svejma cred a poslala to user na plochu.

 
Odpovědět 31.8.2015 15:14
Avatar
vodslon
Člen
Avatar
Odpovídá na vodslon
vodslon:

Mohl bych to vyřešit pomocí PsExec.exe -s -d -i 1, kde vlastně tu appku pustím jako system a pomocí -i 1 jí určím session na které se má zobrazit, ale nechci používat Psexec, chtěl bych to vyřešit přes Win API, ale bohužel zatím koukám, že ani zde nikdo nemá nápad :)

 
Nahoru Odpovědět 1.9.2015 8:47
Avatar
Milan Křepelka
Redaktor
Avatar
Milan Křepelka:

Musím tedy říci, že mám problém rozkódovat tvůj jazyk. Mluvíš asi česky, ale rozumět ti není.

http://stackoverflow.com/…-net/7250145#…

 
Nahoru Odpovědět  +1 1.9.2015 9:30
Avatar
vodslon
Člen
Avatar
Odpovídá na Milan Křepelka
vodslon:

:) když to po sobě čtu, tak se stydím, ale už to mám vyřešené.

Vytvořím Token, který se stahuje k Winlogonu uživatele. A tomu potom nastavím pomocí

SetTokenInformation(hUserTokenDup, TOKEN_INFORMATION_CLASS.TokenSessionId, ref dwSessionIdset, (UInt32)IntPtr.Size);

Číslo sessiony toho užíváka, takže process běží jako Gui pod užívákem, ale má učet a tedy i práva Systemu.

 
Nahoru Odpovědět 1.9.2015 10:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.