خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
تبدیل SID به کاربر و گروه و بالعکس
پیشتر خصوص SID یا Security Identifier در مقالات جداگانه ای صحبت کرده ایم. اساسا، کاربران، گروه ها، security objects ها همگی دارای یک شناسه منحصر به فرد یا SID هستند. مثلا کاربر یا گروهی که هر کدام SID مربوط به خودش را دارد، برای دسترسی به منابع شبکه ای و حتی لوکال مورد استفاده قرار می گیرد. شما اگر کاربر، گروهی را از سیستم تان حذف کنید، حتی اگر گروه یا کاربر با همان نام ایجاد کنید، باز هم SID های آنها یکسان نخواهد بود چون مبنای اعمال کنترل ها و دسترسی ها همین SID می باشد.
SID چیست و کاربرد آن در ویندوز چیست
sysprep چیست و به چه منظور در ویندوز مورد استفاده قرار می گیرد
منظور از Security Principal و SID در اکتیودایرکتوری
برای تبدیل username به SID می توانید از ابزار Sysinternals toolset - PsGetSid استفاده کنید ولی مجبور خواهید شد که روی هر سیستم آن را نصب کنید. ولی اگر خواستید از این ابزار استفاده کنید، Syntax استفاده از این ابزار را در مثال های زیر می توانید مشاهده کنید:
یا در دستور زیر تبدیل username به Username است:
همانطور که در خروجی دستور فوق مشاهه می کنید، SID آن کاربر لوکال برابر با S-1-5-21-1175659216-1321616944-201305354-1005 می باشد که احتمالا برای شما متفاوت از این است. اگر نیاز به نمایش SID کاربر جاری سیستم تان دارید، از دستور زیر می توانید استفاده کنید:
با استفاده از دو NET classes به نام های System.Security.Principal.SecurityIdentifier و System.Security.Principal.NTAccount می توانید SID کاربر لوکال را بدست آورید:
شما حتی می توانید SID سایر کاربران دامین را هم پیدا کنید. در دستور باید نام دامین و نام ان را کاربر را قید کنید:
اما راه ساده تری استفاده از دستور Get-ADUser است. شما باید نام دامنه خود را در دستور زیر مشخص کنید:
با کمک دستور Get-ADGroup هم می توانید SID یک گروه در اکتیو دایرکتوری را بیابید.
بدست آوردن نام کاربری از روی SID با دستور Get-ADUser
بدست آوردن نام یگ گروه اکتیو دایرکتوری از روی SID با استفاده از دستور Get-ADGroup
در خروجی این دستور همانطور که مشاهده می کنید، این SID متعلق به یک computer جوین شده به دامین بود.
SID چیست و کاربرد آن در ویندوز چیست
sysprep چیست و به چه منظور در ویندوز مورد استفاده قرار می گیرد
منظور از Security Principal و SID در اکتیودایرکتوری
برای تبدیل username به SID می توانید از ابزار Sysinternals toolset - PsGetSid استفاده کنید ولی مجبور خواهید شد که روی هر سیستم آن را نصب کنید. ولی اگر خواستید از این ابزار استفاده کنید، Syntax استفاده از این ابزار را در مثال های زیر می توانید مشاهده کنید:
PsGetSid PC1\jjsmith
یا در دستور زیر تبدیل username به Username است:
PsGetSid S-1-5-21-1175651296-1316133944-203321314-1005
یافتن SID یک کاربر Local با دستورات پاورشل
برای دریافت SID کاربران لوکال یک کامپیوتر می توانید از ابزار wmic استفاده کنید که به شما امکان می دهد WMI namespace کامپیوتر را جستجو کنید. برای دریافت SID کاربر لوکال مثلا test_user، می توانید از دستور WMIC استفاده کنید:wmic useraccount where name='test_user' get sid
همانطور که در خروجی دستور فوق مشاهه می کنید، SID آن کاربر لوکال برابر با S-1-5-21-1175659216-1321616944-201305354-1005 می باشد که احتمالا برای شما متفاوت از این است. اگر نیاز به نمایش SID کاربر جاری سیستم تان دارید، از دستور زیر می توانید استفاده کنید:
wmic useraccount where name='%username%' get sid
با استفاده از دو NET classes به نام های System.Security.Principal.SecurityIdentifier و System.Security.Principal.NTAccount می توانید SID کاربر لوکال را بدست آورید:
$objUser = New-Object System.Security.Principal.NTAccount("LOCAL_USER_NAME")
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value
یافتن SID کاربران و گروه ها در اکتیو دایرکتوری
با کمک دستور زیر می توانید SID کاربر جاری دامین را بیابید:whoami /user
شما حتی می توانید SID سایر کاربران دامین را هم پیدا کنید. در دستور باید نام دامین و نام ان را کاربر را قید کنید:
wmic useraccount where (name='H.Mohammadi' and domain=′khoshamoz.ir′) get sid
اما راه ساده تری استفاده از دستور Get-ADUser است. شما باید نام دامنه خود را در دستور زیر مشخص کنید:
Get-ADUser -Identity 'jabrams' | select SID
با کمک دستور Get-ADGroup هم می توانید SID یک گروه در اکتیو دایرکتوری را بیابید.
Get-ADGroup -Filter {Name -like "fr-sales-*"} | Select SID
تبدیل SID به کاربر یا گروه
برای بدست آوردن نام کاربری از SID، می توانید از یکی از دستورات زیر استفاده کنید:wmic useraccount where sid='S-1-3-12-12451234567-1234567890-1234567-1434' get name
بدست آوردن نام کاربری از روی SID با دستور Get-ADUser
Get-ADUser -Identity S-1-3-12-12451234567-1234567890-1234567-1434
بدست آوردن نام یگ گروه اکتیو دایرکتوری از روی SID با استفاده از دستور Get-ADGroup
Get-ADGroup -Identity S-1-5-21-247647651-3965464288-2949987117-23145222
جستجو در اکتیو دایرکتوری با SID
اگر نمی دانید یک SID خاص متعلق به چه شیئی در اکتیو دایرکتوری است دقیقاً برای یافتن آن می توانید ازGet-AdUser ، Get-ADComputer یا Get-ADGroup استفاده کنید. شما می توانید از universal method برای جستجوی object های اکتیو دایرکتوری با SID و دستور Get-ADObject استفاده کنید که به نظرم خروجی این دستور بسیار جالب تر است:$sid = ‘S-1-5-21-4058294139-3471514954-3872061240-1132’
Get-ADObject -IncludeDeletedObjects -Filter "objectSid -eq '$sid'" | Select-Object name, objectClass
در خروجی این دستور همانطور که مشاهده می کنید، این SID متعلق به یک computer جوین شده به دامین بود.
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: