LookupAccountName schlägt mit 1332 auf Windows 7 64-bit

Habe ich kleine Anwendung, die versucht, um die SID für einen Benutzer auf einem Windows 7 64 bit. Die Anwendung kompiliert wird als 64-bit.

  PSID         Sid;
  DWORD        cbReferencedDomainName, cbSid;
  LPTSTR       ReferencedDomainName;
  SID_NAME_USE eUse;
  DWORD dwRc = 0;

  printf("Lookup %s\n",lpszAccountName);
  cbReferencedDomainName = cbSid = 0;
  if (LookupAccountName(NULL, lpszAccountName, 0, &cbSid, 
                        0, &cbReferencedDomainName, &eUse)) {
    printf("LookupAccountName passed\n");

    return 0;
  }

  dwRc = GetLastError();
  printf("LookupAccountName RC (%d)\n",dwRc);

Leite ich den Benutzer Namen in uid@hostname-format. Die API schlägt fehl, für jeden Benutzer, der auf dem Rechner mit GetLastError Rückkehr 1332 - "Zuordnungen von Kontennamen und Sicherheitskennungen wurden nicht durchgeführt.". Bitte helfen Sie.

  • Falsches format, es ist nicht eine E-Mail-Adresse. Verwenden domain\username statt.
  • Danke. Die Maschine ist nicht in einer Domäne. Ich habe versucht Computername\Benutzer aber auch nicht.
  • Verwenden .\username zu vermeiden, den Namen der Maschine falsch. Vergessen Sie nicht, verwenden Sie zwei backslashes in einem C-Programm.
  • MSDN-Website (msdn.microsoft.com/en-us/library/windows/desktop/...), sagt die API unterstützt [email protected] format auch. Versuchte .\Benutzername auch und dass auch nicht weiter.
  • Ich habe festgestellt, dass für ein Nutzer-Konto lokal auf dem Computer, die Angabe '.\username' funktioniert nicht (führt zu Fehler 1332), sondern nur 'username' funktioniert. Wenn Sie versuchen, um ein Domänen-Konto in der form DOMÄNE\Benutzer Fehler geführt 1332 wegen meinem Rechner nicht Teil der Domäne, der user war ich versucht, zu suchen. Hinzufügen meine Maschine in der Domäne das problem gelöst.
InformationsquelleAutor Shashi | 2014-03-13
Schreibe einen Kommentar