L'utilisateur administrateur


Comment faire pour déterminer si l'utilisateur est connecté en tant qu'administrateur. Auteur inconnu.
const
& nbsp & nbsp SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority =
& ! & ! & ! & nbsp (Valeur: (0, 0, 0, 0, 0, 5))
const
& nbsp & nbsp SECURITY_BUILTIN_DOMAIN_RID = $00000020
& nbsp & nbsp DOMAIN_ALIAS_RID_ADMINS = $00000220
fonction de IsAdmin: Boolean
var
& nbsp & nbsp hAccessToken: THandle
& nbsp & nbsp ptgGroups: PTokenGroups
& nbsp & nbsp dwInfoBufferSize: DWORD
& nbsp & nbsp psidAdministrators: PSID
& nbsp & nbsp x: Integer
& nbsp & nbsp bSuccess: BOOL
begin
& nbsp & nbsp Result := False
& nbsp & nbsp bSuccess := OpenThreadToken(GetCurrentThread, TOKEN_QUERY, Vrai,
& ! & ! & ! & nbsp hAccessToken)
& nbsp & nbsp si pas bSuccess puis
& nbsp & nbsp commencer
& ! & ! & ! & nbsp si GetLastError = ERROR_NO_TOKEN puis
& ! & ! & ! & nbsp bSuccess := OpenProcessToken(fonction getcurrentprocess, TOKEN_QUERY,
& ! & ! & ! & ! & ! & nbsp hAccessToken)
& nbsp & nbsp fin
& nbsp & nbsp si bSuccess puis
& nbsp & nbsp commencer

& ! & ! & ! & nbsp GetMem(ptgGroups, 1024)
& ! & ! & ! & nbsp bSuccess := GetTokenInformation(hAccessToken, TokenGroups,
& ! & ! & ! & ! & ! & nbsp ptgGroups, 1024, dwInfoBufferSize)
& ! & ! & ! & nbsp CloseHandle(hAccessToken)
& ! & ! & ! & nbsp si bSuccess puis
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp AllocateAndInitializeSid(SECURITY_NT_AUTHORITY, 2,
& ! & ! & ! & ! & ! & ! & ! & nbsp SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS,
& ! & ! & ! & ! & ! & ! & ! & nbsp 0, 0, 0, 0, 0, 0, psidAdministrators)
& ! & ! & ! & ! & ! & nbsp pour x := 0 pour ptgGroups.Isgrouped la - 1 do
& ! & ! & ! & ! & ! & ! & ! & nbsp si EqualSid(psidAdministrators, ptgGroups.Les groupes[x].Sid)
& ! & ! & ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Résultat := True
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Pause
& ! & ! & ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & nbsp FreeSid(psidAdministrators)
& ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp FreeMem(ptgGroups)
& nbsp & nbsp fin
fin









L'utilisateur administrateur


L'utilisateur administrateur : Plusieurs milliers de conseils pour vous faciliter la vie.


Comment faire pour determiner si l'utilisateur est connecte en tant qu'administrateur. Auteur inconnu.
const
& nbsp & nbsp SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority =
& ! & ! & ! & nbsp (Valeur: (0, 0, 0, 0, 0, 5))
const
& nbsp & nbsp SECURITY_BUILTIN_DOMAIN_RID = $00000020
& nbsp & nbsp DOMAIN_ALIAS_RID_ADMINS = $00000220
fonction de IsAdmin: Boolean
var
& nbsp & nbsp hAccessToken: THandle
& nbsp & nbsp ptgGroups: PTokenGroups
& nbsp & nbsp dwInfoBufferSize: DWORD
& nbsp & nbsp psidAdministrators: PSID
& nbsp & nbsp x: Integer
& nbsp & nbsp bSuccess: BOOL
begin
& nbsp & nbsp Result := False
& nbsp & nbsp bSuccess := OpenThreadToken(GetCurrentThread, TOKEN_QUERY, Vrai,
& ! & ! & ! & nbsp hAccessToken)
& nbsp & nbsp si pas bSuccess puis
& nbsp & nbsp commencer
& ! & ! & ! & nbsp si GetLastError = ERROR_NO_TOKEN puis
& ! & ! & ! & nbsp bSuccess := OpenProcessToken(fonction getcurrentprocess, TOKEN_QUERY,
& ! & ! & ! & ! & ! & nbsp hAccessToken)
& nbsp & nbsp fin
& nbsp & nbsp si bSuccess puis
& nbsp & nbsp commencer

& ! & ! & ! & nbsp GetMem(ptgGroups, 1024)
& ! & ! & ! & nbsp bSuccess := GetTokenInformation(hAccessToken, TokenGroups,
& ! & ! & ! & ! & ! & nbsp ptgGroups, 1024, dwInfoBufferSize)
& ! & ! & ! & nbsp CloseHandle(hAccessToken)
& ! & ! & ! & nbsp si bSuccess puis
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp AllocateAndInitializeSid(SECURITY_NT_AUTHORITY, 2,
& ! & ! & ! & ! & ! & ! & ! & nbsp SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS,
& ! & ! & ! & ! & ! & ! & ! & nbsp 0, 0, 0, 0, 0, 0, psidAdministrators)
& ! & ! & ! & ! & ! & nbsp pour x := 0 pour ptgGroups.Isgrouped la - 1 do
& ! & ! & ! & ! & ! & ! & ! & nbsp si EqualSid(psidAdministrators, ptgGroups.Les groupes[x].Sid)
& ! & ! & ! & ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Resultat := True
& ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Pause
& ! & ! & ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & nbsp FreeSid(psidAdministrators)
& ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp FreeMem(ptgGroups)
& nbsp & nbsp fin
fin


L'utilisateur administrateur

L'utilisateur administrateur : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation