```
// Konverter en SID-streng til et bruger-/gruppenavn.
streng ConvertSidToString(strengsid) {
prøv {
var domæne =new StringBuilder(256);
var brugernavn =new StringBuilder(256);
var sidParsed =falsk;
var resultat =Win32Native.LookupAccountSid(null, sid, brugernavn, brugernavn.Capacity);
if (resultat &&brugernavn.Længde> 0) {
sideParsed =sand;
}
else if (Win32Native.GetLastError() ==Win32Native.ERROR_NONE_MAPPED) {
// SID refererer til en lokal bruger eller gruppe
domæne.Append(".");
sidParsed =Win32Native.LookupAccountSid(null, sid, brugernavn, brugernavn.Capacity, domain, domain.Capacity, null);
if (!sidParsed) {
// Hvis LookupAccountSid fejler af en eller anden grund, skal du bare returnere SID-strengen.
sideParsed =sand;
brugernavn.Længde =0;
}
}
if (sidParsed) {
returner brugernavn.ToString();
}
andet {
returner null;
}
}
catch (undtagelse e) {
returner null;
}
}
// Konverter et bruger-/gruppenavn til en SID-streng.
streng ConvertStringToSid(strengnavn) {
prøv {
var sid =ny byte[256];
var sidLength =sid.Length;
var domænenavn =new StringBuilder(256);
var sidParsed =falsk;
var result =Win32Native.LookupAccountName(null, name, sid, ref sidLength, domainName, domainName.Capacity, null);
if (resultat &&sideLængde> 0) {
sideParsed =sand;
}
if (sidParsed) {
returnere ny SecurityIdentifier(sid, 0).Value;
}
andet {
returner null;
}
}
catch (undtagelse e) {
returner null;
}
}
```