Los usuarios se identifican en el sistema operativo Windows no por nombres, sino por identificadores de seguridad especiales o Identificador de seguridad - SID. La solución del problema de determinar el SID del usuario seleccionado no requiere el uso de software adicional y se lleva a cabo por medios estándar del sistema.
Instrucciones
Paso 1
Llame al menú principal del sistema haciendo clic en el botón "Inicio" y vaya al cuadro de diálogo "Ejecutar". Escriba regedit en la línea "Abrir" y confirme el inicio de la utilidad Editor del Registro haciendo clic en el botón Aceptar. Expande la rama
HKEY_LOCAL_MACHINE / Software / Microsoft / WindowsNT / CurrentVersion / ProfileList
y busque todos los ID de usuario (SID). Vaya a la clave ProfikeImagePath y busque el valor de nombre de usuario de SID correspondiente. Salga de la utilidad del Editor del registro.
Paso 2
La operación inversa, cuando se conoce el SID del usuario y es necesario determinar el nombre de su cuenta, se puede realizar mediante el comando reg.exe. En este caso, la sintaxis del comando se ve así:
reg consulta HKEY_LOCAL_MACHINE / Software / Microsoft / WindowsNT / CurrentVersion / ProfileList / ProfileImagePath.
Paso 3
Utilice la utilidad GetSID incorporada para determinar el identificador único del usuario seleccionado. La sintaxis del comando se ve así:
drive_name: > getsid
Uso: getsid / server1 account / server2 account.
Paso 4
Un método alternativo para obtener mediante programación el SID del usuario deseado es utilizar la clase SecurityIdentifier en. NET Framework 2.0. En este caso, el identificador se puede mostrar como una cadena, una matriz de bytes o una combinación de los valores de WellKnownSidType y SID de dominio. Una condición adicional para obtener el resultado deseado es una llamada a la clase WindowsIdentity. La sintaxis de dicho comando se ve así:
usando el sistema;
utilizando System. Security. Principal;
espacio de nombres GetSID
{
programa de clase
{
static void Main (cadena argumentos)
{
WindowsIdentity wid = Windowsidentity. GetCurrent ();
Console. WriteLine (wid. Name + SID es 0, wid. User. Value);
Console. Read ();
} } }.