Trouver SID dans Active Directory Users and Computers à l’aide de PowerShell

Trouvez le SID dans Active Directory Users and Computers en utilisant PowerShell. L’identifiant de sécurité ou SID est un numéro d’identification unique attribué à chaque utilisateur Windows, groupe ou ordinateur sur le réseau contrôlé par le domaine. Ainsi, par exemple, si nous avons déjà essayé de gérer les autorisations de fichiers et de dossiers ou parcouru le registre, nous avons peut-être vu une longue chaîne de valeur, quelque chose comme S-1-5-21-3011698416-3634052959-2884390752-500. Si vous avez déjà vu quelque chose comme ça auparavant, vous avez déjà rencontré le SID.

Chaque utilisateur, groupe ou ordinateur aura un SID unique. Si nous n’avons jamais entendu parler des SID, nous pourrions nous demander quel est leur objectif et comment ils se tissent à l’intérieur de l’Active Directory (AD). Après tout, nous ne verrons généralement jamais ces identifiants de sécurité en plain sight.

Cet article expliquera ce qu’est un SID, comment trouver le SID dans les utilisateurs et ordinateurs de l’annuaire actif, et partagera plusieurs commandes pour obtenir le SID en utilisant Windows PowerShell.

Trouver le SID dans Active Directory

Prérequis du rapport SID

Pour utiliser le tableau des commandes Active Directory et ses exemples couverts dans cet article, assurez-vous d’avoir ce qui suit:

  • Sur un PC Windows rejoint à un domaine AD
  • Connecté en tant que compte utilisateur AD avec au moins des droits de lecture sur l’annuaire actif.
  • Avoir le module Active Directory PowerShell installé et importé

Essayez notre solution de reporting SID Active Directory gratuitement

Essayez-nous gratuitement, Accès à toutes les fonctionnalités. – Plus de 200 modèles de rapports AD disponibles. Personnalisez facilement vos propres rapports SID AD.




Introduction à l’identificateur de sécurité

A Security Identifier or SID is a unique string of values assigned to each security principal and security group by an authority, such as a Windows domain controller. When a security group or principal is created, security identification is made automatically. Once created, the SID is saved in the security database and can be accessed as needed.

En combinant le SID et les droits d’utilisateur, Windows nous donne, en tant qu’utilisateur, un jeton d’accès à chaque fois que nous nous connectons à notre système. Ce jeton d’accès fournit le contexte de sécurité et nous accorde les autorisations et droits appropriés pour gérer notre système Windows. Par conséquent, le SID est l’une des parties essentielles du Modèle de sécurité de Windows.

Outre les SID générés automatiquement, Windows dispose de quelques SID universels bien connus, tels que Everyone, Autorité locale, Monde, NT Autorité et Tous les services. Le tableau suivant répertorie les SID universels bien connus.

Value Universal Well-Known SID Identifies
S-1-0-0 Null SID A group with no member objects. This SID is often used when a SID value is null or unknown.
S-1-1-0 World A group that includes everyone or all users.
S-1-2-0 Local Users who log on to local (physically connected)
S-1-2-1 Console Logon A group includes users logged on the physical console.
S-1-3-0 Creator Owner ID A SID to be replaced by the user’s security identifier who created a new object. This SID is used in inheritable ACEs.
S-1-3-1 Creator Group ID A SID is replaced by the primary-group SID of the user who created a new object. Use this SID in inheritable ACEs.
S-1-3-2 Creator Owner Server  
S-1-3-3 Creator Group Server  
S-1-3-4 Owner Rights A SID that represents the current owner of the object. When an ACE that carries this SID is applied to an object, the system ignores the object owner’s implicit READ_CONTROL and WRITE_DAC permissions for the object owner.
S-1-4 Non-unique Authority A Security Identifier that represents an identifier authority.
S-1-5 NT Authority A Security Identifier that represents an identifier authority.
S-1-5-80-0 All Services A group includes all service processes configured on the system. The operating system controls membership.

Si nous voulons en savoir plus sur les identificateurs de sécurité, cliquez sur ce lien pour sa documentation officielle de Microsoft.

Trouver SID dans les objets Active Directory en utilisant PowerShell

Avec PowerShell, nous pouvons trouver les différents SIDs de chaque objet à chaque niveau. Le SID est situé en tant que propriété d’un utilisateur, d’un groupe ou d’un objet ordinateur. Nous utiliserons la commande Select-Object pour extraire la propriété SID de l’objet PowerShell.

Dans la section suivante, nous commencerons par obtenir le SID de l’utilisateur actuellement connecté et remonterons jusqu’au sommet de tous les domaines dans une forêt.

Obtenir le SID de l’utilisateur actif actuel dans Active Directory avec PowerShell

Nous pouvons obtenir le SID de l’utilisateur actuel dans PowerShell en utilisant la cmdlet Get-LocalUser, qui récupère les détails du compte utilisateur. Par exemple, exécutez la commande ci-dessous pour obtenir le SID de l’utilisateur actuellement connecté.

Get-LocalUser -Name $env:USERNAME | Select-Object  sid

Dans le script PowerShell ci-dessus, Get-LocalUser récupère les détails du compte utilisateur spécifiés par la variable d’environnement $env:USERNAME.

$env:USERNAME est une variable d’environnement qui enregistre des informations sur l’environnement et les programmes du système d’exploitation. Le chemin du système d’exploitation, l’emplacement du répertoire d’installation de Windows et le nombre de processus utilisés par le système d’exploitation sont tous inclus dans ces données. PowerShell peut accéder, gérer et modifier les variables d’environnement.

Obtenir le SID de l’utilisateur local dans PowerShell

Sur le serveur, les comptes d’utilisateur locaux sont enregistrés. Nous pouvons donner accès à ces comptes et autoriser les permissions sur un seul système, mais seulement sur cette machine. Les comptes d’utilisateur locaux sont des principes de sécurité utilisés pour protéger et contrôler l’accès des services ou des utilisateurs aux ressources sur un serveur autonome ou membre.

Get-LocalUser retourne l’identifiant de sécurité (SID) de l’utilisateur local via PowerShell, comme indiqué ci-dessous. Lorsque vous utilisez la commande Get-LocalUser, nous n’avons pas encore besoin de charger et d’importer le module AD.

Get-LocalUser -Name 'johndoe' | Select-Object  sid

Le script PowerShell spécifie le nom de l’utilisateur local pour obtenir le SID de l’utilisateur local.

Obtenez l’identifiant de sécurité de l’utilisateur Active Directory dans PowerShell

Puisque nous allons exécuter une commande Active Directory, nous devrons importer le module AD importé.

Import-Module ActiveDirectory

Nous pouvons obtenir l’identifiant de sécurité de l’utilisateur Active Directory en utilisant le cmdlet Get-ADUser, en apportant un ou plusieurs détails du compte utilisateur AD. Exécutez la commande ci-dessous.

Get-AdUser -Identity toms | Select Name, SID, UserPrincipalName

Dans le script PowerShell ci-dessus, le cmdlet Get-ADUser obtient l’identifiant de sécurité (SID) de l’utilisateur AD spécifié par le paramètre Identité. De plus, le paramètre sélectionne les propriétés du nom, du SID de l’utilisateur AD et du nom principal de l’utilisateur dans PowerShell. Essayez nos outils de rapport et d’audit Active Directory & Office 365

Essayez nos outils de création de rapports et d’audit pour Active Directory et Office 365

Essayez-nous gratuitement. Des centaines de modèles de rapports sont disponibles. Personnalisez facilement vos propres rapports sur AD, Azure AD et Office 355.




Obtenez l’ID de sécurité Active Directory des ordinateurs dans PowerShell

Nous pouvons non seulement obtenir des ID de sécurité (SIDs) pour les utilisateurs, mais aussi pour les ordinateurs joints au domaine. Nous pouvons obtenir l’ID de sécurité Active Directory des ordinateurs à l’aide de la commande Get-ADComputer. Nous pouvons obtenir plusieurs ID de sécurité à partir de plusieurs ordinateurs AD en utilisant le paramètre Filter.

Get-ADComputer -Filter * | Select-Object Name, SID

Dans le script PowerShell ci-dessus, le cmdlet Get-ADComputer dans Active Directory récupère les détails du compte d’ordinateur et utilise l’opérateur pipe pour sélectionner le nom de l’ordinateur et l’ID de sécurité de l’ordinateur dans Active Directory.

Obtenez l’ID de sécurité des groupes Active Directory dans PowerShell

Comme les utilisateurs et les ordinateurs, nous pouvons également obtenir un SID d’un groupe puisque groupes sont considérés comme des objets AD. Pour obtenir le SID d’un groupe AD dans le répertoire actif, utilisez le Get-ADGroup cmdlet.

Get-ADGroup -Identity SalesLeader | Select-Object Name, SID

Le Get-ADGroup cmdlet obtient un compte de groupe spécifié par le Identity paramètre dans le script PowerShell. Ensuite, sélectionnez les propriétés Nom et SID du groupe AD dans le répertoire actif en utilisant l’opérateur pipe.

Obtenir le SID de tous les domaines dans PowerShell

Un forêt Active Directory (AD forest) est le conteneur logique qui abrite les domaines, les utilisateurs, les machines et les règles de groupe dans une configuration Active Directory.

Nous pouvons trouver le SID de tous les domaines dans le répertoire actif en utilisant le Get-ADForest cmdlet du répertoire actif comme ci-dessous.

(Get-ADForest).Domains| %{Get-ADDomain -Server $_} | Select-Object name, domainsid

Conclusion de la recherche du SID dans les objets Active Directory

Nous pouvons utiliser les cmdlets Active Directory tels que Get-ADUser, Get-ADComputer et Get-ADGroup pour trouver les SID des utilisateurs et des ordinateurs dans Active Directory. De plus, nous avons également inclus l’obtention du SID d’un utilisateur local avec Get-LocalUser et celui de l’ensemble du domaine avec Get-ADDomain.

Source:
https://infrasos.com/find-sid-in-active-directory-users-and-computers-using-powershell/