العثور على SID في مستخدمي Active Directory والحواسيب باستخدام PowerShell

ابحث عن معرّف الأمان في مستخدمي وأجهزة الوصول النشط والكمبيوتر باستخدام PowerShell. معرّف الأمان أو SID هو رقم الهوية الفريد المخصص لكل مستخدم ووحدة أو جهاز كمبيوتر في شبكة النطاق التي تسيطر عليها. لذلك، على سبيل المثال، إذا حاولنا مرة أخرى إدارة الأذونات للملفات والمجلدات أو استكشفنا التسجيل، ربما رأينا قيمة طويلة من نوع ما، شيء مثل S-1-5-21-3011698416-3634052959-2884390752-500. إذا رأيت شيئًا من هذا القبيل من قبل، فقد واجهت بالفعل SID.

سيكون لكل مستخدم ووحدة أو جهاز كمبيوتر SID فريد. إذا لم نسمع من SID، قد نتساءل عن وظيفته وكيف يتداخل داخل الوصول النشط (AD). بعد كل شيء، عادةً لن نرى هذه المعرّفات الأمنية في العرض المباشر.

ستشرح هذه المقالة ما هو SID، كيفية العثور على SID في مستخدمي وأجهزة الوصول النشط والكمبيوتر، ومشاركة عدد من الأوامر للحصول على SID باستخدام Windows PowerShell.

العثور على SID في Active Directory

شروط تقرير SID

لاستخدام صفيف أوامر Active Directory وأمثلته المغطاة بهذه المقالة، تأكد من أن لدينا ما يلي:

  • على جهاز كمبيوتر ويندوز منضم إلى نطاق AD
  • تسجيل الدخول كحساب مستخدم AD بحقوق قراءة من الأقل للوصول النشط.
  • تثبيت واستيراد وحدة PowerShell Active Directory

جرب حل تقرير SID Active Directory لدينا مجانًا

جرّبونا مجاناً، الوصول إلى جميع الميزات. – 200+ قالب تقرير إعلانات متاحة. قم بتخصيص تقارير AD SID الخاصة بك بسهولة.




مقدمة عن معرّف الأمان

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.

من خلال جمع SID وحقوق المستخدم، يمنحنا ويندوز، المستخدم، رمز وصول في كل مرة نقوم فيها بتسجيل الدخول إلى نظامنا. يوفر هذا الرمز وصول الأمان ويمنحنا الصلاحيات والحقوق المناسبة لإدارة نظام ويندوز الخاص بنا. لذلك، يعتبر SID واحدًا من الأجزاء الأساسية في نموذج الأمان لويندوز.

بخلاف SIDs التي يتم إنشاؤها تلقائيًا، يحتوي ويندوز على عدد قليل من SIDs العالمية المعروفة جيدًا، مثل الجميع، السلطة المحلية، العالم، سلطة NT، و جميع الخدمات. يقوم الجدول التالي بسرد SIDs العالمية المعروفة جيدًا.

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.

إذا أردنا معرفة المزيد حول معرفات الأمان، انقر على هذا الرابط للحصول على توثيق مايكروسوفت الرسمي.

العثور على SID في كائنات Active Directory باستخدام PowerShell

باستخدام PowerShell، يمكننا العثور على مختلف SIDs لكل كائن على كل مستوى. تقع SID كخاصية لمستخدم أو مجموعة أو كائن كمبيوتر. سنستخدم أمر Select-Object لاستخراج خاصية SID من كائن PowerShell.

في الجزء التالي، سنبدأ بالحصول على SID للمستخدم المسجل حاليًا ونعمل طريقنا حتى القمة لجميع النطاقات في الغابة.

الحصول على SID الحالي لمستخدم Active Directory في PowerShell

يمكننا الحصول على SID المستخدم الحالي في PowerShell باستخدام أمر Get-LocalUser الذي يحصل على تفاصيل حساب المستخدم. على سبيل المثال، قم بتشغيل الأمر التالي للحصول على SID المستخدم المسجل حاليًا.

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

في النص البرمجي PowerShell أعلاه، Get-LocalUser يحصل على تفاصيل حساب المستخدم المحددة بمتغير البيئة $env:USERNAME.

$env:USERNAME هو متغير بيئي يحفظ معلومات حول بيئة نظام التشغيل والبرامج. يتضمن هذا البيانات مسار نظام التشغيل، موقع دليل تثبيت Windows، وعدد العمليات المستخدمة من قبل نظام التشغيل. يمكن لـ PowerShell الوصول إلى المتغيرات البيئية وإدارتها وتغييرها.

الحصول على SID المستخدم المحلي في PowerShell

على الخادم، تم حفظ حسابات المستخدم المحلية. يمكننا منح هذه الحسابات الوصول والأذونات على نظام واحد فقط، ولكن على تلك الآلة فقط. حسابات المستخدم المحلية هي مبادئ الأمان المستخدمة لحماية والتحكم في وصول الخدمة أو المستخدم إلى الموارد على خادم منفرد أو عضو.

يعيد Get-LocalUser SID للمستخدم المحلي عبر PowerShell، كما هو موضح أدناه. عند استخدام الأمر Get-LocalUser، لا نحتاج إلى تحميل واستيراد وحدة AD بعد الآن.

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

يحدد النص البرمجي PowerShell اسم المستخدم المحلي للحصول على معرف المستخدم المحلي.

احصل على معرف المستخدم في Active Directory باستخدام PowerShell

نظرًا لأننا سنقوم بتشغيل أمر Active Directory، سنحتاج إلى استيراد وحدة AD المستوردة.

Import-Module ActiveDirectory

يمكننا الحصول على معرف المستخدم في Active Directory باستخدام أمر Get-ADUser، مما يجلب تفاصيل حساب مستخدم AD واحد أو أكثر. قم بتشغيل الأمر أدناه.

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

في النص البرمجي PowerShell أعلاه، يقوم أمر Get-ADUser بالحصول على معرف مستخدم AD المحدد بواسطة معلمة الهوية. بالإضافة إلى ذلك، تختار المعلمة الاسم ومعرف المستخدم وخصائص اسم المستخدم الأساسية في PowerShell.جرب أدواتنا لتقارير وتدقيق Active Directory و Office 365

جرب أدوات تقارير وتدقيق Active Directory و Office 365

جربنا مجانًا. يوجد المئات من قوالب التقارير المتاحة. قم بتخصيص تقاريرك الخاصة بسهولة على AD و Azure AD و Office 355.




احصل على معرف SID للكمبيوتر في Active Directory باستخدام PowerShell

يمكننا الحصول ليس فقط على معرفات SID من المستخدمين ولكن أيضًا أجهزة الكمبيوتر المنضمة إلى المجال. يمكننا الحصول على معرف SID للكمبيوتر في Active Directory باستخدام الأمر Get-ADComputer. يمكننا الحصول على عدة معرفات SID من أجهزة كمبيوتر AD متعددة باستخدام معيار التصفية.

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

في سطر PowerShell أعلاه، يستخرج أمر Get-ADComputer في Active Directory تفاصيل حساب الكمبيوتر ويستخدم عامل التوصيل لتحديد اسم الكمبيوتر ومعرف SID للكمبيوتر في Active Directory.

احصل على معرف SID لمجموعة Active Directory في PowerShell

مثل المستخدمين وأجهزة الكمبيوتر، يمكننا أيضًا الحصول على معرّف SID لمجموعة نظرًا لأن المجموعات تعتبر كائنات AD. للحصول على معرف SID لمجموعة AD في المجال النشط، استخدم أمر Get-ADGroup الموجه.

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

يحصل أمر Get-ADGroup على حساب المجموعة المحدد بواسطة معرّف Identity في البرنامج النصي في باورشيل. بعد ذلك، حدد خصائص اسم و SID لمجموعة AD في المجال النشط باستخدام عامل التشغيل الموجه.

احصل على معرف SID لجميع المجالات في باورشيل

الغابة النشطة لمجموعة المستخدمين (AD forest) هي الحاوية المنطقية التي تضم المجالات والمستخدمين وأجهزة الكمبيوتر وقواعد المجموعة في تكوين Active Directory.

يمكننا العثور على معرف SID لجميع المجالات في المجال النشط باستخدام أمر Get-ADForest للمجال النشط كما هو موضح أدناه.

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

نتيجة العثور على معرف SID في كائنات Active Directory

يمكننا استخدام أدوات سطر الأوامر للدليل النشط مثل Get-ADUser, Get-ADComputer, و Get-ADGroup للعثور على SID في مستخدمي الدليل النشط والأجهزة الكمبيوتر. علاوة على ذلك، قمنا أيضًا بتضمين الحصول على SID لمستخدم محلي وللنطاق بأكمله باستخدام Get-LocalUser و Get-ADDomain، على التوالي.

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