Υλικό υπολογιστών

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> PC Computers

Τρόπος μετατροπής ονόματος χρήστη/ομάδας SID και χρήστη

```

// Μετατροπή συμβολοσειράς SID σε όνομα χρήστη/ομάδας.

συμβολοσειρά ConvertSidToString(πλευρά συμβολοσειράς) {

δοκιμάστε {

var domain =new StringBuilder(256);

var όνομα χρήστη =new StringBuilder(256);

var sidParsed =false;

var result =Win32Native.LookupAccountSid(null, sid, username, username.Capacity);

if (αποτέλεσμα &&όνομα χρήστη. Μήκος> 0) {

sidParsed =true;

}

else if (Win32Native.GetLastError() ==Win32Native.ERROR_NONE_MAPPED) {

// Το SID αναφέρεται σε έναν τοπικό χρήστη ή ομάδα

domain.Append(".");

sidParsed =Win32Native.LookupAccountSid(null, sid, username, username.Capacity, domain, domain.Capacity, null);

αν (!sidParsed) {

// Σε περίπτωση που το LookupAccountSid αποτύχει για κάποιο λόγο, απλώς επιστρέψτε τη συμβολοσειρά SID.

sidParsed =true;

όνομα χρήστη.Μήκος =0;

}

}

if (sidParsed) {

επιστροφή username.ToString();

}

άλλο {

επιστροφή null?

}

}

αλίευμα (Εξαίρεση ε) {

επιστροφή null?

}

}

// Μετατροπή ονόματος χρήστη/ομάδας σε συμβολοσειρά SID.

string ConvertStringToSid(όνομα συμβολοσειράς) {

δοκιμάστε {

var sid =νέο byte[256];

var sidLength =sid.Length;

var domainName =new StringBuilder(256);

var sidParsed =false;

var result =Win32Native.LookupAccountName(null, name, sid, ref sidLength, domainName, domainName.Capacity, null);

if (αποτέλεσμα &&μήκος πλευράς> 0) {

sidParsed =true;

}

if (sidParsed) {

επιστροφή νέου SecurityIdentifier(sid, 0).Value;

}

άλλο {

επιστροφή null?

}

}

αλίευμα (Εξαίρεση ε) {

επιστροφή null?

}

}

```

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα