Announcement

Collapse
No announcement yet.

DOMAIN Name ermitteln (D 3.x)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DOMAIN Name ermitteln (D 3.x)

    Hallo<br>
    <br>
    Wie kann ich den <i>Domainname</i> der Domain ermitteln, in der mein WinNT-Rechner gerade angemeldet ist?!<br>
    Ich suche etwas ähnliches wie <font face=courier>GetUserName</font> oder <font face=courier>GetComputerName</font> was ich auch schon verwende...<br>
    <br>
    Thanx 4 ur help!<b>
    <br>
    &nbsp;&nbsp;&nbsp;Nico Stöckigt

  • #2
    Hallo,

    dafür ist die Win32-API-Funktion <b>LookupAccountName</b> zuständig

    Comment


    • #3
      Sorry, Nachfrage...<br>
      <br><font face="VERDANA"><font size="10">Ich bin als lokaler Administrator in der Domain angemeldet - in der Domain selbst habe ich nur Benutzerrechte.<br>
      Die Funktion </font><font face="courier"><b>LookupAccountName()</b></font><font face="VERDANA"> liefert mir weder eine <font face="courier"><b>SID</b></font> noch einen <i><b>DomainName</b></i> zurück.<br>
      Der Rückgabewert der Funktion ist </font><font face="courier"><b>False</b></font><font face="VERDANA">. Folgendes mache ich..:<br>
      <p><font face="courier">
      &nbsp;&nbsp;<b>function</b> GetDomainName(AComputerName, AUserName: <b>String</b>): <b>String</b>;<br>
      &nbsp;&nbsp;<b>var</b><br>
      &nbsp;&nbsp;&nbsp;&nbsp;FDomainName: PChar; <font color="#909090">// address of string for referenced domain</font><br>
      &nbsp;&nbsp;&nbsp;&nbsp;Sid: PSID; <font color="#909090">// address of security identifier</font><br>
      &nbsp;&nbsp;&nbsp;&nbsp;cbSid, <font color="#909090">// address of size of security identifier</font><br>
      &nbsp;&nbsp;&nbsp;&nbsp;peUse,<br>
      &nbsp;&nbsp;&nbsp;&nbsp;FDomainNameSize: Integer; <font color="#909090">// address of size of domain string</font><br>
      &nbsp;&nbsp;<b>begin</b><br>
      &nbsp;&nbsp;&nbsp;&nbsp;cbSid := GetSIDLengthRequired(1); <font color="#909090">// max. 1 SubAuthority</font><br>
      &nbsp;&nbsp;&nbsp;&nbsp;peUse := SidTypeUnknown; <font color="#909090">// SID is unknown</font><br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;FDomainNameSize := MAX_DOMAINNAME_LENGTH + 1; <font color="#909090">// -> 16</font><br>
      &nbsp;&nbsp;&nbsp;&nbsp;FDomainName := StrAlloc(FDomainNameSize);<br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;<b>if</b> LookupAccountName(PChar(AComputerName), PChar(AUserName),Sid, cbSid,<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FDomainName , FDomainNameSize, peUse)<br>
      <font color="#909090">//&nbsp;&nbsp;IsValidSID(SID); // = False</font><br>
      &nbsp;&nbsp;&nbsp;&nbsp;<b>then</b> Result := FDomainName<br>
      &nbsp;&nbsp;&nbsp;&nbsp;<b>else</b> Result := '<nv>';<br>
      &nbsp;&nbsp;&nbsp;&nbsp;StrDispose(FDomainName);<b r>
      &nbsp;&nbsp;<b>end</b>;<br>
      </p></font>
      <br><font face="VERDANA"><font size="10">
      muss ich mir explizit die Authorisation geben um auf SID's zugreifen zu können? - wenn ja wie mache ich das ?!.<br>
      <br>
      Gruß<br>
      &nbsp;&nbsp;&nbsp;Nico Stöckigt</font></font&gt

      Comment

      Working...
      X