ممکن است این سئوال برای شما هم پیش آمده باشد که آیا این امکان وجود دارد که SID کاربران یا Computer Account ها را عوض کنیم یا خیر ؟ ما این مسئله را به دو قسمت تقسیم می کنیم ، قسمت اول این مورد است که شما یک کامپیوتر بصورت Stand alone دارید و این کامپیوتر بر روی خود چندین User دارد ، در چنین حالتی از نظر تئوری و فنی امکان تغییر دادن SID وجود دارد به گونه ای که در فایل SAM سیستم می توانید تعییراتی اعمال کنید .
البته منظور از فایل SAM همان کلیدهای رجیستری مربوط به آن است که در مسیر HKEY__LOCAL__MACHINE\Security قرار دارد. اما انجام اینکار و اعمال تغییرات در کلیدهای رجیستری Security نیازمند این است که شما درکی از اعداد باینری و قالب کاری آنها داشته باشید ، اما در کنار اینها ابزارهایی هستند که می توانند همینکار را انجام دهند که از جمله آنها می توانید به ابزار NewSID اشاره کنیم.
این ابزار می تواند SID های کاربران و Computer های Local را عوض کند که در حقیقت بیشتر برای مواردی که می خواهیم در شبکه SID های تکراری نداشته باشیم و Duplication در آنها به وجود نیاید از این ابزار استفاده می کنیم. توجه کنید که این ابزار کار خاصی انجام نمی دهد ، این ابزار هیچ کاری به SID قبلی شما ندارد و فقط SID جدید را تولید و به کاربر یا Computer میچسباند و به هیچ منبع خاص شبکه و سیستم دسترسی نمی دهد.
با توجه به اینکه در ساختار Local سیستم همه منابع را خودش مدیریت می کند شاید مشکل خاصی در عوض کردن SID ها پیش نیاید زیرا منابع زیادی وجود ندارد ، اما در اکتیودایرکتوری قضیه کاملا متفاوت هست ، تمامی SID ها در قالب Database ای به نام NTDS.DIT قرار گرفته اند و همه آنها بر اساس یک الگو تعریف و تعیین می شوند که این الگو توسط RID Master تعریف می شود .
اگر شما SID را تغییر دهید باید تابع قوانین RID Master باشد ، در کنار همه این مسائل با عوض شدن SID کاربر تمامی دسترسی های کاربر مورد نظر نیز در شبکه نیز تحت تاثیر قرار می گیرد زیرا مبنای اعمال دسترسی ها در شبکه SID است . بنابراین نتیجه میگیرم که منطقی نیست که ما بتوانیم SID های کاربران در شبکه دامین را تغییر دهیم و اینکار با توجه به جستجوهایی که بنده انجام داده ام تقریبا غیر ممکن است . اما همین عمل برای کاربران Local سیستم به وسیله ابزاری به نام NewSID از شرکت Sysinternals قابل انجام است. البته باز هم منتظر نظرات شما دوستان هستیم.
ممنونم استاد.
آره این رو میدونم که باید تو Domain بزنم چون این دستور تا active directory نصب نباشه پاسخی بهت نمیده. متشکرم.
دستور شما هم درست بود استاد. دوباره امتحان کردم و جواب داد. فقط اسم سرور رو باید تنها بنویسیم و در ادامه نیازی به نوشتن دامین کاملش نیست.
ولی در زمانی که join به دامین نباشه منم دستوری پیدا نکردم علیرغم اینکه جستجو هم کردم. حالا فردا باز اگه پیدا کنم همینجا براتون میذارم.
در Domain Controller باید بزنید ... در Local دستوری فعلا پیدا نکردم یعنی هنوز نگشتم.
سلام ؛ ممنونم محمد جان. دستت درد نکنه.
ولی استاد دستور شما اجرا نمیشد انگاری و پاسخ رو نمیداد. با اجازه تون یه جستجو کردم و این دستور کار می کرد:
حالا جهت اطمینان میخواین خودتون هم یه تست بفرمایین.
حالا اکه کامپیوتری عضو دامین نبود و Activedirectory نداشت چی؟ چجوری باید این رو پیدا کنیم؟
سلام ، خیر به هیچ عنوان این کاربرها SID هاشون عوض نمیشه چون کاربر Local هستند ... بله کامپیوتر به تنهایی یک SID داره ، شما از طریق دومین می تونید با دستور زیر SID رو بدست بیارید :
سلام آقای مهندس نصیری
دست گلتون درد نکنه
محمد جان فقط یه ابهام برای من وجود داره اینه که:
فرض کنید تو یه کامپیوتر که هنوز join به Domain نشده ما 2 تا یوزر داریم. یکی administrator و یکی هم mohammad . وقتی که به domian میایم و join میکنیم این دستگاه رو این یوزرها هم SID هاشون عوض میشه یعنی؟
اونوقت یه کامپیوتر هم به تنهایی دارای SID هستش؟ البته آقا امید هم پرسیده بودن ولی اگه بخوایم SID یه کامپیوتر رو ببینیم کدوم خط از دستورات whoami/all رو باید نگاه کنیم؟ منظورم اینه که یه کامپیوتر بطور مستقل و جدا از هر گونه نام کاربری SIDش رو میشه ببینیم؟
متشکرم.
زماني كه ما بوسيله ي sysprep ميايم sid رو عوض مي كنيم در اصل sid كامپيوتر عوض مي كنيم؟؟؟؟
بله داره
سلام استاد مرسی بابت مقاله خوبتون
یه سوال خود کامپیوتر هم sid داره؟
فقط یک نکته محمد جان، شرکت Wininternls در سال 2006 توسط مایکروسافت خریداری شد و بسته Sysinternals زمانی ارائه شد که تحت نام مایکروسافت کار میکردن. البته مارک رازینوویچ هم که جزء قدیمی های مایکروسافت هستش.