Toon posts:

[WIN32] LogonUser error

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil een programma draaien als zijnde een andere user...

ik roep dus dit programma aan dat een ander programma start met een andere windows user.

Nou gebruik ik het commando LogonUser, maar ik krijg een foutmelding namelijk 1314 welke betekend:
ERROR_PRIVILEGE_NOT_HELD

Dit probleem staat ook in de MSDN library maar er staat geen oplossing bij. Heeft een van jullie dit al eens geprobeerd en weet de oplossing voor dit probleem.

  • The End
  • Registratie: Maart 2000
  • Laatst online: 16:26

The End

!Beginning

Wat zijn de parameters die je meegeeft aan de functie?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:57

.oisyn

Moderator Devschuur®

Demotivational Speaker

topictitel gewijzigd... het probleem heeft namelijk niets met C++ te maken

een geef eens wat meer info, een stukje code oid

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 21:27

pietje63

RTFM

klinkt interessant
had ik ooit zoiets nodig (bepaald spel van mijn broertje werkte alleen als admin; maar hij mocht geen admin zijn van mij)

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Verwijderd

Topicstarter
DIt is de code die op dit moment gebruikt wordt:
code:
1
2
3
4
5
6
7
8
if (!LogonUser( "Administrator", /*szComputerName*/ "W2KDOM.local", "password",
               LOGON32_LOGON_INTERACTIVE,
               LOGON32_PROVIDER_DEFAULT, &hToken))
     {
        
      printf("Error %d", GetLastError() );
         __leave;
     }

Waarbij dit dus niet wil lukken... Ik zou hier eigenlijk een handle moeten krijgen naar de ingelogde user waarna ik verder kan met het impersonaten van deze user.

IK krijg nu dus constant de foutmelding 1314 welke betekend ERROR_PRIVILEGE_NOT_HELD

dus moet ik dat privilege toekennen aan de user maar dat krijg ik ook niet voor elkaar... Ik krijg dan weer foutmeldingen.

Het privilige dat de user namelijk moet krijgen is: SE_TCB_NAME maaar dat krijg ik niet toegekend aan de user.

In de MSDN library staat dat op winXP dit privilige uitstaat en het dus altijd zou moeten kunnen.

  • The End
  • Registratie: Maart 2000
  • Laatst online: 16:26

The End

!Beginning

Heb je dit ook gelezen:
The account being logged on, that is, the account specified by lpszUsername, must have the necessary account rights. For example, to log on a user with the LOGON32_LOGON_INTERACTIVE flag, the user (or a group to which the user belongs) must have the SE_INTERACTIVE_LOGON_NAME account right. For a list of the account rights that affect the various logon operations, see Account Rights.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 19:44

Gerco

Professional Newbie

nu wil ik niet vervelend zijn, maar is dit niets?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
C:\>runas
RUNAS-syntaxis:

RUNAS [/profile] [/env] [/netonly] /user:<gebruikersnaam> programma

   /profile   als het gebruikersprofiel moet worden geladen
   /env     huidige omgeving gebruiken i.p.v. gebruikersomgeving.
   /netonly   alleen gebruiken als de opgegeven referenties alleen
             voor externe toegang zijn.
   /user         <gebruikersnaam> moet de indeling GEBRUIKER@DOMEIN of
             DOMEIN\GEBRUIKER hebben
   program     opdrachtregel voor EXE-bestand. Zie voorbeelden hieronder.

Voorbeelden:
> runas /profile /user:mijncomputer\administrator cmd
> runas /profile /env /user:mijndomein\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:gebruiker@domein.microsoft.com "notepad
      \"mijn bestand.txt\""

Opmerking:  Wachtwoord van gebruiker alleen opgeven wanneer erom gevraagd wordt.

Opmerking: GEBRUIKER@DOMEIN is incompatibel met /netonly.

[edit]
Ik zie net dat je hierbij het wachtwoord niet kan opgeven? nou ja, het is iets :P

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!

Pagina: 1