مدیریت اکتیو دایرکتوری با استفاده از Snap-in ADUC یک واحد سازمانی ایجاد کنید. مدیریت اکتیو دایرکتوری با استفاده از Windows PowerShell

هوش

    Windows6.1-KB958830-x64-RefreshPkg.msu

    Windows6.1-KB958830-x86-RefreshPkg.msu

    تاریخ انتشار:

    • **ابزارهای مدیریت سرور از راه دور برای Windows 7 SP1 را فقط می‌توان بر روی رایانه‌های دارای نسخه‌های Windows 7 یا Windows 7 SP1 Professional، Enterprise و Ultimate نصب کرد.**

      Remote Server Administration Tools for Windows 7 SP1 به مدیران IT این امکان را می دهد تا نقش ها و ویژگی هایی را که بر روی رایانه های راه دوری که Windows Server 2008 R2 SP1 یا Windows Server 2008 R2 (و Windows Server 2008 یا Windows Server 2003 برای برخی نقش ها و ویژگی ها) نصب شده اند را مدیریت کنند. یک کامپیوتر راه دور که ویندوز 7 یا ویندوز 7 سرویس پک 1 (SP1) دارد. این ابزارها از مدیریت از راه دور رایانه های در حال اجرا پشتیبانی می کنند سیستم های ویندوز Server 2008 R2 SP1، Windows Server 2008 R2 و Windows Server 2008 (برای برخی از نقش ها و ویژگی ها) هنگام نصب Server Core یا زمانی که نصب کاملاین سیستم عامل ها شما می توانید از Remote Server Administration Tools برای Windows 7 SP1 برای مدیریت از راه دور نقش ها و ویژگی های انتخاب شده Windows Server 2003 استفاده کنید، اگرچه گزینه ای برای نصب Server Core برای این سیستم عامل وجود ندارد.

      این ویژگی از نظر عملکرد با ابزارهای مدیریت برای ویندوز سرور 2003 و ابزارهای مدیریت سرور از راه دور برای ویندوز ویستا SP1 قابل مقایسه است.

    سیستم مورد نیاز

      سیستم عامل پشتیبانی شده

      ویندوز 7؛ Windows 7 Service Pack 1

      • Remote Server Administration Tools برای Windows 7 SP1 را می توان بر روی رایانه های دارای نسخه های Windows 7 یا Windows 7 SP1 Professional، Enterprise و Ultimate نصب کرد. داده شده است نرم افزارقابل نصب است فقطدر رایانه‌هایی که نسخه‌های حرفه‌ای، Enterprise و Ultimate Windows 7 یا Windows 7 Service Pack 1 (SP1) را اجرا می‌کنند. نمی توان آن را روی سرورهای هدفی که قصد مدیریت آنها را دارید نصب کرد.

        از این صفحه می توانید نسخه های 32 و 64 بیتی Remote Server Administration Tools را برای Windows 7 SP1 دانلود کنید. نسخه‌ای را دانلود و نصب کنید که با معماری رایانه‌ای که قصد دارید ابزارهای مدیریت را روی آن نصب کنید، مطابقت دارد. کاربرانی که نمی دانند از کدام معماری در رایانه خود استفاده می شود - x86 یا x64، باید به بخش مراجعه کنند.

        می‌توانید از Remote Server Administration Tools برای Windows 7 SP1 برای مدیریت نقش‌ها و ویژگی‌هایی که در طول نصب Server Core یا نصب کامل یک Windows Server 2008 R2 SP1 64 بیتی یا سیستم عامل Windows Server 2008 R2 اجرا می‌شوند، استفاده کنید. مدیریت از راه دور نیز برای برخی از نقش ها و ویژگی هایی که در ویندوز سرور 2008 یا ویندوز سرور 2003 اجرا می شوند، پشتیبانی می شود.

        Remote Server Administration Tools برای Windows 7 Service Pack 1 (SP1) نباید روی رایانه ای که دارای Windows Server 2003 Administration Tools یا Windows 2000 Server® Administration Tools است نصب شود. قبل از نصب Remote Server Administration Tools برای Windows 7 SP1، تمام نسخه های Administration Tools Pack یا Remote Server Administration Tools را از رایانه خود حذف نصب کنید.

        فقط یک نسخه از Remote Server Administration Tools برای Windows 7 SP1 را می توان بر روی کامپیوتر نصب کرد. قبل از نصب بسته جدید، باید هر گونه کپی موجود از Remote Server Administration Tools برای Windows 7 SP1 را حذف کنید. این شامل کپی‌هایی نیز می‌شود زبان های مختلف.

        برای جزئیات بیشتر در مورد ابزارهای مدیریت سرور از راه دور برای Windows 7 SP1 و سیستم عامل‌های پشتیبانی‌شده که می‌توانید از ابزارها در آنها استفاده کنید، مراجعه کنید.

    دستورالعمل نصب

      • نصب ابزارهای مدیریت سرور از راه دور برای ویندوز 7 SP1

        مدیراندر رایانه ای که می خواهید بسته ابزار مدیریت را روی آن نصب کنید یا با استفاده از حساب داخلی وارد رایانه شوید مدیر.

        توجه!قبل از نصب Remote Server Administration Tools برای Windows 7 SP1، تمام نسخه های Administration Tools Pack یا Remote Server Administration Tools را از رایانه خود حذف نصب کنید.

        توجه!فقط یک نسخه از Remote Server Administration Tools برای Windows 7 SP1 را می توان بر روی کامپیوتر نصب کرد. قبل از نصب بسته جدید، باید هر گونه کپی موجود از Remote Server Administration Tools برای Windows 7 SP1 را حذف کنید. این شامل کپی به زبان های مختلف نیز می شود. برای دستورالعمل‌های مربوط به حذف نمونه‌های موجود Remote Server Administration Tools برای Windows 7 SP1، رجوع کنید به در این صفحه

        1. Remote Server Administration Tools را برای Windows 7 SP1 در رایانه ای که Windows 7 یا Windows 7 SP1 دارد از مرکز دانلود مایکروسافت دانلود کنید.

        2. پوشه ای را که بسته را دانلود کرده اید باز کنید، روی آن دوبار کلیک کنید تا آن را استخراج کنید و Remote Server Administration Tools for Windows 7 SP1 Installation Wizard را اجرا کنید.

        . توجه!برای شروع نصب بسته ابزار مدیریت، باید مجوز و شرایط گارانتی محدود را بپذیرید.

        3. تمام دستورالعمل های جادوگر را دنبال کنید و روی دکمه کلیک کنید آماده استتا پس از اتمام نصب عملیات خود را تکمیل کند.

        4. دکمه را فشار دهید شروع کنید، مورد را انتخاب کنید کنترل پنلو کلیک کنید برنامه ها.

        5. در منطقه برنامه ها و کامپوننت هایک گزینه را انتخاب کنید

        6. اگر User Account Control از شما خواسته است که اجازه باز کردن کادر گفتگوی Windows Features را بدهید، کلیک کنید ادامه دهید.

        7. در کادر محاوره ای اجزای ویندوزعنصر را گسترش دهید

        8. ابزارهای مدیریت از راه دور را که می خواهید نصب کنید انتخاب کنید.

        9. دکمه را فشار دهید باشه.

        10. منوی خود را سفارشی کنید شروع کنیدبه طوری که میانبر در آن نمایش داده شود اداره(در غیاب آن):

        روی دکمه کلیک کنید شروع کنیدکلیک راست کرده و command را انتخاب کنید خواص;

        روی برگه منوی شروعروی دکمه کلیک کنید تنظیم کنید;

        در کادر محاوره ای سفارشی کردن منوی استارتلیست را به آیتم پیمایش کنید ادارهو کادر را علامت بزنید نمایش در همه برنامه ها و منوهای استارت. روی دکمه کلیک کنید باشه. میانبرهای نصب شده توسط Remote Server Administration Tools برای Windows 7 SP1 به لیست اضافه شده است. ادارهمنو شروع کنید.

        نصب مجدد یا حذف ابزارهای مدیریت سرور از راه دور برای Windows 7 SP1

        اگر Remote Administration Tool را از رایانه‌ای که دارای Windows 7 یا Windows 7 Service Pack 1 (SP1) است حذف کرده‌اید، می‌توانید با دنبال کردن مراحل زیر آن را دوباره نصب کنید.

        نصب مجدد ابزارهای مدیریت از راه دور فردی

        1. روی دکمه کلیک کنید شروع کنید، مورد را انتخاب کنید کنترل پنلو کلیک کنید برنامه ها.

        2. در منطقه برنامه ها و کامپوننت هاگزینه را انتخاب کنید ویژگی های ویندوز را روشن یا خاموش کنید.

        3. اگر پنجره User Account Control برای باز کردن یک کادر محاوره ای اجازه می خواهد اجزای ویندوز، دکمه را فشار دهید ادامه دهید.

        4. در کادر محاوره ای اجزای ویندوزعنصر را گسترش دهید ابزارهای مدیریت سرور از راه دور.

        5. ابزارهای مدیریت از راه دوری را که می‌خواهید نصب کنید انتخاب کنید، یا چک باکس‌های ابزارهایی را که می‌خواهید حذف کنید پاک کنید. روی دکمه کلیک کنید باشه.

        حذف کامل Remote Server Administration Tools برای Windows 7 SP1

        باید عضو گروه باشد مدیراندر رایانه ای که می خواهید بسته ابزار مدیریت را حذف کنید یا با استفاده از حساب داخلی به رایانه وارد شوید مدیر.

        می توانید کل بسته ابزار مدیریت را با استفاده از یک برنامه کاربردی از رایانه خود حذف کنید حذف نصب یک برنامهدر کنترل پنل

        حذف نصب بسته ابزار مدیریت

        1. روی دکمه کلیک کنید شروع کنید، مورد را انتخاب کنید کنترل پنل، و سپس در منطقه برنامه هاعنصر کلیک کنید حذف نصب یک برنامه.

        2. روی عنصر کلیک کنید مشاهده به روز رسانی های نصب شده.

        3. یک مورد را انتخاب کنید به روز رسانی مایکروسافت ویندوز (958830).

        4. دکمه را فشار دهید حذف کنید.

Active Directory یک سرویس دایرکتوری مایکروسافت برای خانواده سیستم عامل های ویندوز NT است.

این سرویس به مدیران اجازه می دهد تا از سیاست های گروهی برای اطمینان از یکنواختی تنظیمات محیط کار کاربر، نصب نرم افزار، به روز رسانی و غیره استفاده کنند.

ماهیت اکتیو دایرکتوری چیست و چه مشکلاتی را حل می کند؟ ادامه مطلب

اصول سازماندهی شبکه های همتا به همتا و چند همتا

اما مشکل دیگری پیش می آید، اگر user2 در PC2 تصمیم به تغییر رمز عبور خود بگیرد چه؟ سپس اگر user1 رمز عبور حساب را تغییر دهد، user2 در PC1 قادر به دسترسی به منبع نخواهد بود.

مثال دیگر: ما 20 ایستگاه کاری با 20 اکانت داریم که می خواهیم به یک اکانت خاص دسترسی داشته باشیم.

اگر 20 نفر نباشند بلکه 200 نفر باشند چه؟

همانطور که می دانید مدیریت شبکه با این رویکرد به جهنم مطلق تبدیل می شود.

بنابراین، رویکرد گروه کاری برای شبکه های اداری کوچک با حداکثر 10 رایانه شخصی مناسب است.

اگر بیش از 10 ایستگاه کاری در شبکه وجود داشته باشد، رویکردی که در آن به یک گره شبکه حقوقی برای انجام احراز هویت و مجوز تفویض شده است، منطقی توجیه می شود.

این گره کنترل کننده دامنه - Active Directory است.

کنترل کننده دامنه

کنترلر یک پایگاه داده از حساب ها را ذخیره می کند، به عنوان مثال. این حساب ها را برای PC1 و PC2 ذخیره می کند.

حالا تمام شد حساب هایک بار روی کنترلر ثبت می شوند و نیاز به حساب های محلی بی معنی می شود.

اکنون، هنگامی که کاربر وارد رایانه شخصی می شود و نام کاربری و رمز عبور خود را وارد می کند، این داده ها به صورت خصوصی به کنترل کننده دامنه منتقل می شود که مراحل احراز هویت و مجوز را انجام می دهد.

پس از آن، کنترلر برای کاربری که وارد شده است چیزی مانند پاسپورت صادر می کند، که متعاقباً با آن در شبکه کار می کند و به درخواست سایر رایانه های شبکه، سرورهایی که می خواهد به منابع آنها متصل شود، ارائه می دهد.

مهم! Domain Controller کامپیوتری است که Active Directory را اجرا می کند و دسترسی کاربر به منابع شبکه را کنترل می کند. منابع (مانند چاپگرها، پوشه‌های مشترک)، خدمات (به عنوان مثال ایمیل)، افراد (حساب‌های کاربر و گروه کاربر)، رایانه‌ها (حساب‌های رایانه‌ای) را ذخیره می‌کند.

تعداد چنین منابع ذخیره شده می تواند به میلیون ها شی برسد.

نسخه های زیر MS Windows می توانند به عنوان یک کنترل کننده دامنه عمل کنند: Windows Server 2000/2003/2008/2012 به جز Web-Edition.

دامین کنترلر علاوه بر اینکه مرکز احراز هویت شبکه است، مرکز کنترل تمامی کامپیوترها نیز می باشد.

بلافاصله پس از روشن شدن، کامپیوتر شروع به تماس با کنترل کننده دامنه، مدت ها قبل از ظاهر شدن پنجره احراز هویت می کند.

بنابراین، نه تنها کاربری که لاگین و رمز عبور را وارد می کند، احراز هویت می شود، بلکه رایانه مشتری نیز احراز هویت می شود.

نصب اکتیو دایرکتوری

بیایید به نمونه ای از نصب اکتیو دایرکتوری در ویندوز سرور 2008 R2 نگاه کنیم. بنابراین، برای نصب نقش Active Directory، به "Server Manager" بروید:

نقش "افزودن نقش" را اضافه کنید:

نقش Active Directory Domain Services را انتخاب کنید:

و اجازه دهید نصب را شروع کنیم:

پس از آن ما یک پنجره اعلان در مورد نقش نصب شده دریافت می کنیم:

پس از نصب نقش کنترل کننده دامنه، به نصب خود کنترلر می پردازیم.

در قسمت جستجوی برنامه روی "شروع" کلیک کنید، نام جادوگر DCPromo را وارد کنید، آن را راه اندازی کنید و کادر تنظیمات نصب پیشرفته را علامت بزنید:

روی «بعدی» کلیک کنید و از میان گزینه‌های ارائه شده، یک دامنه و جنگل جدید ایجاد کنید.

نام دامنه را وارد کنید، برای مثال example.net.

ما نام دامنه NetBIOS را بدون منطقه می نویسیم:

سطح عملکرد دامنه ما را انتخاب کنید:

با توجه به ویژگی های عملکرد کنترل کننده دامنه، ما یک سرور DNS نیز نصب می کنیم.

مکان های پایگاه داده، فایل گزارش و حجم سیستم بدون تغییر باقی می مانند:

رمز عبور مدیر دامنه را وارد کنید:

ما صحت پر کردن را بررسی می کنیم و اگر همه چیز درست است، روی "بعدی" کلیک کنید.

پس از این، فرآیند نصب آغاز می شود که در پایان آن پنجره ای ظاهر می شود که به شما اطلاع می دهد که نصب با موفقیت انجام شده است:

معرفی اکتیو دایرکتوری

در این گزارش دو نوع مورد بحث قرار گرفته است شبکه های کامپیوتری، که می تواند با استفاده از سیستم عامل های مایکروسافت ایجاد شود: گروه کاری و دامنه اکتیو دایرکتوری.

هر کاربر مبتدی که با علامت اختصاری AD مواجه می شود، از خود می پرسد که Active Directory چیست؟ Active Directory یک سرویس دایرکتوری است که توسط مایکروسافت برای شبکه های دامنه ویندوز توسعه یافته است. در اکثر سیستم عامل های ویندوز سرور به عنوان مجموعه ای از فرآیندها و خدمات گنجانده شده است. در ابتدا، این سرویس فقط با دامنه ها سروکار داشت. با این حال، با شروع ویندوز سرور 2008، AD به نام طیف گسترده ای از خدمات هویت مبتنی بر دایرکتوری تبدیل شد. این باعث می شود Active Directory برای مبتدیان تجربه یادگیری بهتری داشته باشد.

تعریف پایه

سروری که Active Directory Domain Directory Services را اجرا می کند، کنترل کننده دامنه نامیده می شود. همه کاربران و رایانه‌های موجود در دامنه شبکه ویندوز را تأیید و مجوز می‌دهد، سیاست‌های امنیتی را برای همه رایانه‌های شخصی تخصیص داده و اجرا می‌کند، و نرم‌افزار را نصب یا به‌روزرسانی می‌کند. به عنوان مثال، هنگامی که کاربر به رایانه‌ای وارد می‌شود که به یک دامنه ویندوز متصل است، Active Directory رمز عبور ارائه‌شده را بررسی می‌کند و تعیین می‌کند که آیا موضوع یک مدیر سیستم است یا یک کاربر استاندارد. همچنین مدیریت و ذخیره سازی اطلاعات را فعال می کند، مکانیزم های احراز هویت و مجوز را فراهم می کند، و چارچوبی را برای استقرار سایر خدمات مرتبط ایجاد می کند: خدمات گواهی، خدمات دایرکتوری فدرال و سبک، و مدیریت حقوق.

اکتیو دایرکتوری از LDAP نسخه 2 و 3، نسخه Kerberos مایکروسافت و DNS استفاده می کند.

اکتیو دایرکتوری - چیست؟ به زبان ساده در مورد مجتمع

نظارت بر داده های شبکه یک کار وقت گیر است. حتی در شبکه های کوچک، کاربران معمولاً در یافتن فایل های شبکه و چاپگرها مشکل دارند. بدون نوعی دایرکتوری، شبکه های متوسط ​​تا بزرگ قابل مدیریت نیستند و اغلب در یافتن منابع با مشکل مواجه می شوند.

نسخه های قبلی مایکروسافت ویندوز شامل خدماتی برای کمک به کاربران و مدیران در یافتن اطلاعات بود. Network Neighborhood در بسیاری از محیط‌ها مفید است، اما نقطه ضعف آشکار آن، رابط سخت و غیرقابل پیش‌بینی آن است. WINS Manager و Server Manager را می توان برای مشاهده لیستی از سیستم ها استفاده کرد، اما آنها برای کاربران نهایی در دسترس نبودند. مدیران از User Manager برای افزودن و حذف داده ها از نوع کاملاً متفاوتی از شی شبکه استفاده کردند. مشخص شد که این برنامه‌ها برای شبکه‌های بزرگ ناکارآمد هستند و این سوال را مطرح می‌کنند که چرا شرکت‌ها به Active Directory نیاز دارند؟

کاتالوگ به کلی ترین معنای آن است لیست کاملاشیاء دفترچه تلفن نوعی دایرکتوری است که اطلاعات افراد، مشاغل و سازمان های دولتی و ... را ذخیره می کندآنها معمولاً نام، آدرس و شماره تلفن را ضبط می کنند.تعجب می کند اکتیو دایرکتوری - چیست، به زبان سادهمی توان گفت که این فناوری شبیه به یک دایرکتوری است، اما بسیار انعطاف پذیرتر است. AD اطلاعات مربوط به سازمان ها، سایت ها، سیستم ها، کاربران، اشتراک ها و هر موجودیت شبکه دیگری را ذخیره می کند.

مقدمه ای بر مفاهیم Active Directory

چرا یک سازمان به Active Directory نیاز دارد؟ همانطور که در مقدمه Active Directory ذکر شد، این سرویس اطلاعات مربوط به اجزای شبکه را ذخیره می کند.راهنمای Active Directory for Beginners توضیح می دهد که این به مشتریان اجازه می دهد تا اشیاء را در فضای نام خود پیدا کنند.این تی این اصطلاح (که درخت کنسول نیز نامیده می شود) به منطقه ای اشاره دارد که یک جزء شبکه می تواند در آن قرار گیرد. به عنوان مثال، فهرست مطالب یک کتاب فضای نامی ایجاد می کند که در آن می توان فصل هایی را به شماره صفحات اختصاص داد.

DNS یک درخت کنسول است که نام هاست را به آدرس های IP ماننددفترچه‌های تلفن فضای نامی برای حل نام شماره‌های تلفن فراهم می‌کنند.چگونه این اتفاق در اکتیو دایرکتوری می افتد؟ AD یک درخت کنسول برای حل نام اشیاء شبکه به خود اشیا ومی‌تواند طیف وسیعی از موجودیت‌ها، از جمله کاربران، سیستم‌ها و سرویس‌ها را در یک شبکه حل کند.

اشیاء و صفات

هر چیزی که اکتیو دایرکتوری آن را ردیابی کند یک شی در نظر گرفته می شود.به زبان ساده می توان گفت که این در اکتیو دایرکتوری است هر کاربر، سیستم، منبع یا سرویس است. یک شی از اصطلاح رایج استفاده می شود زیرا AD قادر به ردیابی بسیاری از عناصر است و بسیاری از اشیاء می توانند ویژگی های مشترک را به اشتراک بگذارند. یعنی چی؟

ویژگی ها اشیاء را در اکتیو دایرکتوری توصیف می کنند، به عنوان مثال، همه اشیاء کاربر برای ذخیره نام کاربری ویژگی هایی را به اشتراک می گذارند. این در مورد توضیحات آنها نیز صدق می کند. سیستم ها نیز اشیاء هستند، اما دارای مجموعه ای جداگانه از ویژگی ها هستند که شامل نام میزبان، آدرس IP و مکان است.

مجموعه ای از ویژگی های موجود برای هر نوع خاصی از شی را طرحواره می نامند. کلاس های شی را از یکدیگر متمایز می کند. اطلاعات طرحواره در واقع در Active Directory ذخیره می شود. این که این رفتار پروتکل امنیتی بسیار مهم است با این واقعیت نشان می‌دهد که طراحی به مدیران اجازه می‌دهد تا ویژگی‌هایی را به کلاس‌های شی اضافه کنند و آنها را در سراسر شبکه در تمام گوشه‌های دامنه بدون راه‌اندازی مجدد هیچ کنترل‌کننده دامنه توزیع کنند.

ظرف LDAP و نام

کانتینر نوع خاصی از شی است که برای سازماندهی عملیات یک سرویس استفاده می شود. این یک موجودیت فیزیکی مانند یک کاربر یا یک سیستم را نشان نمی دهد. در عوض، برای گروه بندی عناصر دیگر استفاده می شود. اشیاء کانتینری را می توان در کانتینرهای دیگر تودرتو کرد.

هر عنصر در AD یک نام دارد. اینها آنهایی نیستند که شما به آنها عادت دارید، مثلاً ایوان یا اولگا. اینها اسامی متمایز LDAP هستند. نام‌های متمایز LDAP پیچیده هستند، اما به شما این امکان را می‌دهند که هر شیء را بدون در نظر گرفتن نوع آن، به‌طور منحصربه‌فرد شناسایی کنید.

درخت اصطلاحات و وب سایت

درخت اصطلاح برای توصیف مجموعه ای از اشیاء در اکتیو دایرکتوری استفاده می شود. این چیه؟ به عبارت ساده، این را می توان با استفاده از یک تداعی درختی توضیح داد. هنگامی که ظروف و اشیاء به صورت سلسله مراتبی با هم ترکیب می شوند، تمایل به تشکیل شاخه ها دارند - از این رو نام آن. یک اصطلاح مرتبط فرعی پیوسته است که به تنه اصلی شکسته نشده درخت اشاره دارد.

در ادامه استعاره، اصطلاح "جنگل" مجموعه ای را توصیف می کند که بخشی از فضای نام یکسان نیست، اما دارای طرح کلی، پیکربندی و کاتالوگ جهانی. اشیاء در این ساختارها در صورت اجازه امنیت برای همه کاربران در دسترس هستند. سازمان هایی که به چندین دامنه تقسیم می شوند باید درختان را در یک جنگل واحد گروه بندی کنند.

سایت یک مکان جغرافیایی است که در Active Directory تعریف شده است. سایت‌ها با زیرشبکه‌های IP منطقی مطابقت دارند و به این ترتیب، می‌توانند توسط برنامه‌ها برای یافتن نزدیک‌ترین سرور در شبکه استفاده شوند. استفاده از اطلاعات سایت از Active Directory می تواند ترافیک شبکه های WAN را به میزان قابل توجهی کاهش دهد.

مدیریت اکتیو دایرکتوری

کامپوننت snap Users Active Directory. این راحت ترین ابزار برای مدیریت اکتیو دایرکتوری است. مستقیماً از گروه برنامه Administrative Tools در منوی Start قابل دسترسی است. این برنامه مدیر سرور و مدیر کاربر ویندوز NT 4.0 را جایگزین و بهبود می بخشد.


ایمنی

Active Directory نقش مهمی در آینده شبکه های ویندوز ایفا می کند. مدیران باید بتوانند از دایرکتوری خود در برابر مهاجمان و کاربران محافظت کنند در حالی که وظایف را به مدیران دیگر محول می کنند. همه اینها با استفاده از مدل امنیتی Active Directory امکان پذیر است که یک لیست کنترل دسترسی (ACL) را با هر کانتینر و ویژگی شی در دایرکتوری مرتبط می کند.

سطح بالاکنترل به یک مدیر اجازه می‌دهد تا به کاربران و گروه‌های مختلف مجوزهای مختلفی را بر روی اشیاء و ویژگی‌های آنها اعطا کند. آنها حتی می توانند ویژگی هایی را به اشیاء اضافه کنند و آن ویژگی ها را از گروه های کاربری خاصی پنهان کنند. برای مثال، می‌توانید ACL را طوری تنظیم کنید که فقط مدیران بتوانند تلفن‌های خانگی دیگر کاربران را مشاهده کنند.

مدیریت تفویض شده

یک مفهوم جدید برای سرور ویندوز 2000 مدیریت تفویض شده است. این به شما امکان می دهد بدون اعطای حقوق دسترسی اضافی، وظایفی را به سایر کاربران اختصاص دهید. مدیریت تفویض شده را می توان از طریق اشیاء خاص یا زیردرخت های دایرکتوری پیوسته اختصاص داد. خیلی بیشتر است روش موثراعطای اختیار بر شبکه ها

در جایی که به شخصی تمام حقوق مدیر دامنه جهانی اختصاص داده شده است، کاربر فقط می تواند در یک زیر درخت خاص مجوز بگیرد. اکتیو دایرکتوری از وراثت پشتیبانی می کند، بنابراین هر شی جدید ACL کانتینر خود را به ارث می برد.

اصطلاح "رابطه امانی"

اصطلاح "رابطه امانتداری" هنوز استفاده می شود، اما کارکردهای متفاوتی دارد. هیچ تفاوتی بین اعتمادهای یک طرفه و دو طرفه وجود ندارد. پس از همه، تمام روابط اعتماد اکتیو دایرکتوری دو طرفه هستند. علاوه بر این، همه آنها گذرا هستند. بنابراین، اگر دامنه A به دامنه B و B به C اعتماد دارد، یک رابطه اعتماد ضمنی خودکار بین دامنه A و دامنه C وجود دارد.

حسابرسی در اکتیو دایرکتوری - به عبارت ساده چیست؟ این یک ویژگی امنیتی است که به شما امکان می دهد تعیین کنید چه کسی سعی در دسترسی به اشیاء دارد و این تلاش چقدر موفقیت آمیز است.

استفاده از DNS (سیستم نام دامنه)

این سیستم که به عنوان DNS شناخته می شود، برای هر سازمانی که به اینترنت متصل است ضروری است. DNS تفکیک نام را بین نام‌های رایج، مانند mspress.microsoft.com و آدرس‌های IP خام، که اجزای لایه شبکه برای ارتباط استفاده می‌کنند، ارائه می‌کند.

اکتیو دایرکتوری به طور گسترده از فناوری DNS برای جستجوی اشیا استفاده می کند. این یک تغییر قابل توجه نسبت به سیستم عامل های قبلی ویندوز است که نیاز به حل نام های NetBIOS توسط آدرس های IP دارند و به WINS یا سایر تکنیک های تشخیص نام NetBIOS متکی هستند.

اکتیو دایرکتوری زمانی که با سرورهای DNS دارای ویندوز 2000 استفاده می شود بهترین عملکرد را دارد. مایکروسافت با ارائه جادوگران مهاجرت که سرپرست را در طول فرآیند هدایت می کند، مهاجرت به سرورهای DNS مبتنی بر ویندوز 2000 را برای مدیران آسان تر کرده است.

ممکن است از سایر سرورهای DNS استفاده شود. با این حال، این امر مستلزم صرف وقت بیشتر مدیران برای مدیریت پایگاه داده های DNS است. تفاوت های ظریف چیست؟ اگر ترجیح می دهید از سرورهای DNS دارای ویندوز 2000 استفاده نکنید، باید اطمینان حاصل کنید که سرورهای DNS شما با پروتکل جدید به روز رسانی پویا DNS مطابقت دارند. سرورها برای یافتن کنترلرهای دامنه به به روز رسانی پویا سوابق خود متکی هستند. این ناخوشایند است. پس از همه، eاگر به روز رسانی پویا پشتیبانی نمی شود، باید پایگاه داده ها را به صورت دستی به روز کنید.

دامنه های ویندوز و دامنه های اینترنتی اکنون کاملاً سازگار هستند. به عنوان مثال، نامی مانند mspress.microsoft.com کنترل کننده های دامنه Active Directory مسئول دامنه را شناسایی می کند، بنابراین هر کلاینت با دسترسی DNS می تواند کنترل کننده دامنه را پیدا کند.مشتریان می‌توانند از وضوح DNS برای جستجوی هر تعداد سرویس استفاده کنند، زیرا سرورهای Active Directory فهرستی از آدرس‌های DNS را با استفاده از ویژگی‌های جدید به‌روزرسانی پویا منتشر می‌کنند. این داده به عنوان یک دامنه تعریف شده و از طریق سوابق منابع خدمات منتشر می شود. SRV RR فرمت را دنبال کنید service.protocol.domain.

سرورهای اکتیو دایرکتوری سرویس LDAP را برای میزبانی شی ارائه می دهند و LDAP از TCP به عنوان پروتکل لایه انتقال زیرین استفاده می کند. بنابراین، مشتری به دنبال یک سرور اکتیو دایرکتوری در دامنه mspress.microsoft.com به دنبال ورودی DNS برای ldap.tcp.mspress.microsoft.com خواهد بود.

کاتالوگ جهانی

اکتیو دایرکتوری یک کاتالوگ جهانی (GC) ویک منبع واحد برای جستجوی هر شی در شبکه یک سازمان فراهم می کند.

کاتالوگ جهانی سرویسی در سرور ویندوز 2000 است که به کاربران این امکان را می دهد تا هر شیء اشتراک گذاری شده را پیدا کنند. این عملکرد بسیار برتر از برنامه Find Computer موجود در نسخه های قبلی ویندوز است. پس از همه، کاربران می توانند هر شی را در Active Directory جستجو کنند: سرورها، چاپگرها، کاربران و برنامه ها.

در شماره نوامبر ComputerPress شما را با ویژگی های کلیدی آشنا کردیم Windows PowerShell- یک محیط خط فرمان و زبان برنامه نویسی جدید از مایکروسافت. امروز ما به استفاده از این محیط برای مدیریت یک اکتیو دایرکتوری شرکتی (AD) خواهیم پرداخت.

مختصری در مورد PowerShell

Windows PowerShell یک خط فرمان و زبان برنامه نویسی جدید از مایکروسافت است. PowerShell جزء Windows Server 2008 است (فقط باید آن را در Server Manager انتخاب کنید) و برای دانلود از www.microsoft.com/powershell برای Windows XP، Windows Server 2003 و Windows Vista در دسترس است.

اگر با Windows PowerShell آشنایی ندارید، توصیه می کنیم ابتدا مقاله “Windows PowerShell. مختصری در مورد اصل مطلب” در ComputerPress شماره 11’2007. در این نشریه، ما خود را به تکرار مختصری از اصول محدود می کنیم و بلافاصله به موضوع اصلی مقاله می رویم.

بنابراین، دستورات PowerShell cmdlet نامیده می شوند و از یک فعل (به عنوان مثال، دریافت، تنظیم، جدید، حذف، حرکت، اتصال) و یک اسم مفرد تشکیل شده اند که هدف عمل را توصیف می کند. یک خط فاصله بین آنها قرار می گیرد. به نظر می رسد چیزی شبیه به: فرآیند دریافت، سرویس توقف و غیره.

دستورات معمولاً با یک لوله همراه هستند که با یک نوار عمودی (|) نشان داده می شود. این علامت به این معنی است که کل مجموعه اشیاء از دستور قبلی به ورودی دستور بعدی منتقل می شود.

این شی گرایی بسیار راحت است زیرا دستکاری اشیا و پیوند دادن دستورات را به یکدیگر آسان می کند. در این مقاله، توضیح خواهیم داد که چگونه این رویکرد مدیریت دایرکتوری سازمانی مبتنی بر Active Directory را آسان‌تر می‌کند.

راه های کار با اکتیو دایرکتوری

دایرکتوری Active Directory اساس شبکه های شرکتی مبتنی بر ویندوز سرور 2000، 2003 و 2008 است. در آنجا همه حساب های کاربری، اطلاعات مربوط به گروه ها، رایانه های شبکه و صندوق های پستی ذخیره می شوند. ایمیلو خیلی بیشتر

تمام این ثروت باید مدیریت شود، که ابزارهای مربوطه موجود در ویندوز سرور برای آن در نظر گرفته شده است، اما این PowerShell است که خودکار کردن اقدامات انبوه را آسان می کند. تعداد زیادیاشیاء

سه راه اصلی برای کار با Active Directory در Windows PowerShell وجود دارد:

  • با استفاده از رابط های سرویس دایرکتوری اکتیو (ADSI) - این روش پیچیده ترین است، اما در هر نصب PowerShell کار می کند و به ماژول های اضافی نیاز ندارد. همچنین نزدیکترین روش به روش کنترلی است که در زبان برنامه نویسی VBScript استفاده می شود.
  • با استفاده از ارائه دهنده اکتیو دایرکتوری موجود در پسوندهای PowerShell - این روش به شما امکان می دهد یک دایرکتوری را به عنوان یک دیسک بر روی رایانه خود نصب کنید و با استفاده از دستورات مناسب در آن حرکت کنید: dir، cd و غیره. این روش نیاز به نصب یک ماژول اضافی از وب سایت codeplex دارد.
  • استفاده از cmdlet های مدیریت Active Directory راحت ترین راه برای دستکاری اشیاء دایرکتوری است، اما به نصب اضافی ماژول های مربوطه نیز نیاز دارد.

ADSI

رابط های سرویس اکتیو دایرکتوری (ADSI) برای هر کسی که سعی در نوشتن اسکریپت در VBScript داشته است آشنا است. در PowerShell، این رابط با استفاده از چیزی به نام آداپتور پیاده سازی می شود. با مشخص کردن نام آداپتور (ADSI) و مسیر شیء موجود در دایرکتوری در زبان کوئری LDAP (پروتکل Lightweight Directory Access Protocol - پروتکلی برای کار با دایرکتوری ها که از AD نیز پشتیبانی می کند) در پرانتز مربع، به از دایرکتوری شیء کنید و سپس می توانید متدهای آن را فراخوانی کنید.

به عنوان مثال، اجازه دهید به یکی از کانتینرهای دایرکتوری متصل شده و یک حساب کاربری جدید در آن ایجاد کنیم.

$objOU = "LDAP://mydc:389/ou=CTO,dc=Employees,dc=testdomain,dc=local"

بنابراین اکنون متغیر $objOU حاوی اطلاعاتی در مورد کانتینر است (نام متغیرهای PowerShell با علامت دلار شروع می شود).

بیایید روش را فراخوانی کنیم ایجاد کنیدو یک کاربر جدید در کانتینر ایجاد کنید:

$objUser = $objOU.Create("user"، "cn=Dmitry Sotnikov")

اکنون می توانیم ویژگی های مختلفی را تنظیم کنیم:

$objUser.Put("sAMAccountName"، "dsotnikov")

و در نهایت به دایرکتوری نشان می دهیم که این تغییرات باید اعمال شوند:

$objUser.SetInfo()

مزایای استفاده از آداپتور ADSI عبارتند از:

  • وجود آن در هر توزیع PowerShell. اگر PowerShell را نصب کرده اید و دایرکتوری دارید که باید با آن کار کنید، هر آنچه را که نیاز دارید دارید.
  • با استفاده از رویکردی نزدیک به VBScript. اگر تجربه گسترده ای در کار با دایرکتوری ها در برنامه های VBScript یا دات نت دارید، باید از این رویکرد راحت باشید.

متأسفانه این روش معایبی نیز دارد:

  • پیچیدگی پیچیده ترین راه برای کار با دایرکتوری است. نوشتن مسیر یک شی به عنوان یک کوئری LDAP بی اهمیت نیست. هر کاری با ویژگی ها مستلزم تعیین نام داخلی آنها است، به این معنی که باید به خاطر داشته باشید که مشخصه ای که شهر کاربر را نشان می دهد "شهر" نیست، بلکه "l" و غیره نامیده می شود.
  • دست و پا گیر بودن - همانطور که از مثال مشاهده می شود، ساده ترین عملیات ایجاد یک حساب کاربری حداقل چهار خط طول می کشد، از جمله عملیات سرویس اتصال به کانتینر و اعمال تغییرات. بنابراین، حتی عملیات نسبتا ساده شبیه به سناریوهای پیچیده می شود.

ارائه دهنده AD

PowerShell به شما اجازه می دهد تا سیستم های مختلف را به عنوان دیسک های اضافی روی رایانه خود با استفاده از ارائه دهندگان به اصطلاح نمایش دهید. به عنوان مثال، PowerShell شامل یک ارائه دهنده رجیستری است و ما می توانیم با استفاده از دستورات cd و dir که همه می شناسیم و دوست داریم، در رجیستری حرکت کنیم (برای طرفداران یونیکس، دستور ls نیز پشتیبانی می شود).

ارائه دهنده اکتیو دایرکتوری همراه با PowerShell وجود ندارد، اما می توانید آن را با مراجعه به وب سایت پروژه PowerShell Community Extensions نصب کنید: http://www.codeplex.com/PowerShellCX.

این یک پروژه منبع باز است که تعداد زیادی دستور را به سیستم PowerShell اضافه می کند و همچنین یک ارائه دهنده AD را نصب می کند.

استفاده از یک ارائه دهنده اکتیو دایرکتوری

پس از نصب افزونه ها با تایپ Get-PSDrive می بینیم که درایو دایرکتوری فعال فعلی به درایوهای قبلی اضافه شده است.

حال می توانیم با تایپ cd و تعیین نام دامنه به این دایرکتوری برویم و در هر کانتینری از دستور dir برای دیدن محتویات آن استفاده کنیم.

علاوه بر این، می توانید سایر دستورات مدیریت فایل آشنا (مثلاً del) را فراخوانی کنید.

مزایای بدون شک استفاده از ارائه دهنده عبارتند از:

ارائه طبیعی ساختار دایرکتوری - دایرکتوری AD ماهیت سلسله مراتبی دارد و شبیه به یک سیستم فایل است.

سهولت یافتن اشیا - استفاده از cd و dir بسیار راحت تر از ایجاد یک پرس و جو در LDAP است.

از جمله کاستی هایی که قابل توجه است:

  • دشواری ایجاد تغییرات در اشیاء - ارائه دهنده کمک می کند تا به راحتی به شیء دسترسی پیدا کنید، اما برای تغییر هر چیزی، ما دوباره باید از همان اشیاء دایرکتوری مانند روش ADSI استفاده کنیم و برای این کار باید در سطح پایین کار کنیم. سطح روش ها و ویژگی های خدمات AD؛
  • نیاز به نصب اضافی - ارائه دهنده در PowerShell گنجانده نشده است و برای استفاده از آن باید افزونه های PowerShell را دانلود و نصب کنید.
  • منبع شخص ثالث - افزونه های PowerShell محصول مایکروسافت نیستند. آنها توسط علاقه مندان به پروژه ایجاد شده اند. شما آزاد هستید که از آنها استفاده کنید، اما برای پشتیبانی فنی باید به جای مایکروسافت با وب سایت پروژه تماس بگیرید.

AD Cmdlets

علاوه بر ارائه دهنده ای که در بالا توضیح داده شد، مجموعه ای از cmdlet ها (اغلب به آنها AD cmdlet یا QAD cmdlet نیز گفته می شود) برای کار با AD وجود دارد که از سایت http://www.quest.com/activeroles_server/arms.aspx در دسترس است.

Cmdlet ها از افعال عملیات استاندارد (get-, set-, rename-, remove-, new-, move-, connect-) و اسم شیء با پیشوند QAD (-QADUser, -QADGroup, -QADComputer, -QADObject) تشکیل شده اند.

به عنوان مثال، برای ایجاد یک حساب کاربری جدید، باید دستور زیر را اجرا کنید:

مزایای این روش عبارتند از:

  • سادگی - استفاده از cmdlet ها پیچیدگی دایرکتوری، طرح بندی و ویژگی های داخلی آن را از شما پنهان می کند. شما با اشیاء دایرکتوری در سطح نام اشیاء واضح (کاربر، گروه، رایانه)، خصوصیات آنها (نام، رمز عبور، شهر، بخش) و اقدامات روی آنها (دریافت، تنظیم، حذف، انتقال، جدید) کار می کنید.
  • ایجاز و رسا - همانطور که دیدیم، اکثر اقدامات با استفاده از cmdlet ها را می توان به صورت عملیات تک خطی ساده و طبیعی بیان کرد.
  • نیاز به نصب اضافی - cmdlet ها مانند ارائه دهنده در PowerShell گنجانده نشده اند و برای استفاده از آنها باید کتابخانه مربوطه را دانلود و نصب کنید.
  • منبع شخص ثالث - cmdlet های کار با AD محصول مایکروسافت نیستند. آنها توسط نرم افزار Quest شریک مایکروسافت ایجاد شده اند. شما آزاد هستید که از آنها استفاده کنید، اما برای پشتیبانی فنی باید نه به مایکروسافت، بلکه به انجمن های Active Directory در وب سایت PowerGUI.org مراجعه کنید.

به نظر ما، این کاستی ها با سادگی و طبیعی بودن استفاده بیش از حد جبران می شود، بنابراین با استفاده از این رویکرد خاص مثال های کاربردی ارائه خواهد شد.

مدیریت اکتیو دایرکتوری

بیایید نگاهی بیندازیم که چگونه PowerShell به شما اجازه می دهد تا عملیات دایرکتوری AD را انجام دهید:

  • کسب اطلاعات؛
  • تغییر خواص؛
  • کار با گروه ها؛
  • ایجاد اشیاء جدید؛
  • تغییر ساختار دایرکتوری

گرفتن اطلاعات

بازیابی اطلاعات در PowerShell با استفاده از cmdlet با فعل Get انجام می شود.

به عنوان مثال، برای دریافت لیستی از همه کاربران، تایپ کنید:

برای گروه ها:

برای سوابق کامپیوتری:

اگر به همه رکوردها نیاز ندارید، اما به برخی از رکوردها نیاز ندارید، می توانید آنها را با استفاده از پارامترهای فرمان انتخاب کنید.

دریافت لیستی از کاربران

همه گروه ها از کانتینر کاربران:

Get-QADGroup -SearchRoot scorpio.local/users

همه کاربران بخش فروش دفتر مسکو که نام آنها با حرف A شروع می شود:

Get-QADUser -شهر مسکو -اداره فروش -نام a*

در عین حال می توانید به PowerShell بگویید که می خواهید اطلاعات دریافتی را به چه شکلی مشاهده کنید.

جدول با نام، شهرها و ادارات کارمندان:

Get-QADUser | قالب-نام جدول، شهر، بخش

در مورد مرتب‌سازی بر اساس شهر نیز همین کار وجود دارد:

Get-QADUser | مرتب سازی شهر | Format-Table DisplayName, City, Department

مرتب سازی مقادیر و انتخاب فیلدها برای خروجی

برای فهرست کردن همان اطلاعات، به سادگی از دستور Format-List استفاده کنید:

Get-QADUser | قالب-لیست نام، شهر، بخش

صادرات اطلاعات به یک فایل CSV (مقادیر جدا شده با کاما):

Get-QADUser | نام، شهر، بخش | را انتخاب کنید Out-CSV users.csv

ایجاد گزارش با فرمت HTML:

Get-QADUser | نام، شهر، بخش | را انتخاب کنید ConvertTo-HTML | Out-File users.html

بنابراین، با یک خط از یک دستور ساده PowerShell، می توانید گزارش های پیچیده را در قالبی مناسب برای خود ایجاد کنید.

PowerShell به شما اجازه می دهد تا ویژگی های مجموعه را تغییر دهید
با یک دستور ضبط می کند

تغییر خواص

بعد از اینکه با بازیابی اطلاعات از دایرکتوری راحت شدیم، زمان تغییر چیزی در آن فرا رسید.

ویژگی های شی را می توان با استفاده از دستورات Set-* دستکاری کرد.

به عنوان مثال، بیایید شماره تلفن من را تغییر دهیم:

Set-QADUser 'Dmitry Sotnikov' -Phone '111-111-111'

اما، البته، آنچه جالب تر است، تغییرات گسترده است. برای این کار می‌توانیم از خط لوله PowerShell استفاده کنیم، یعنی فهرستی از اشیاء مورد نیاز خود را با استفاده از دستورات Get دریافت کرده و برای ایجاد تغییرات به دستور Set ارسال کنیم.

به عنوان مثال، دفتر Perm ما به محل جدید نقل مکان کرد. بیایید همه کاربران Perm را بگیریم و یک شماره تلفن جدید به آنها اختصاص دهیم:

Get-QADUser -City Perm | Set-QADUser -PhoneNumber '+7-342-1111111'

برای دستکاری های پیچیده تر، می توانید از cmdlet ForEach-Object استفاده کنید. به عنوان مثال، ما به هر کاربر توضیحی متشکل از بخش و شهر او اختصاص می دهیم:

Get-QADUser | ForEach-Object ( Set-QADUser $_ -Description (S_.City + " " + $_.Department))

متغیر $_ در این مثال نشان دهنده شی مجموعه فعلی است.

PowerShell یک تجربه راحت را فراهم می کند
با گروه های کاربری

کار با گروه ها

کار با گروه ها و عضویت آنها یکی دیگر از عملیات انبوه است که اغلب می خواهید آن را خودکار کنید. PowerShell این قابلیت را فراهم می کند.

دریافت اعضای گروه با استفاده از cmdlet Get-QADGroupMember انجام می شود:

مدیران Get-QADGroubMember

اضافه کردن یک شی به یک گروه نیز آسان است:

Add-QADGroupMember Scorpio\Managers -Member dsotnikov

به طور مشابه، حذف از یک گروه با استفاده از cmdlet Remove-QADGroupMember انجام می شود.

اما، البته، مفیدترین آنها دستکاری انبوه است. بیایید همه مدیران را به گروه مناسب اضافه کنیم:

Get-QADUser -Title Manager | Add-QADGroupMember Scorpio\Managers

بیایید عضویت گروه را کپی کنیم:

Get-QADGroupMember Scorpio\Managers | Add-QADGroupMember Scorpio\Managers_Copy

ما از یک فیلتر استفاده می کنیم تا نه همه اعضای گروه، بلکه فقط کسانی که معیار خاصی را دارند (مثلاً در منطقه مورد نظر قرار دارند) کپی کنیم:

Get-QADGroupMember Scorpio\Managers | کجا ($_.City -eq ‘Ekaterinburg’) | Add-QADGroupMember Scorpio\Ekaterinburg_Managers

توجه کنید که چگونه کاربران را با استفاده از دستور Where و یک شرط منطقی فیلتر کردیم (عملگر منطقی -eq عملگر برابری در PowerShell است. از انگلیسیبرابر).

ایجاد اشیاء

همانطور که قبلاً دیدیم ایجاد اشیا با دستورات New انجام می شود:

New-QADUser -ParentContainer scorpio.local/Employees -Name 'Dmitry Sotnikov'

New-QADGroup -ParentContainer scorpio.local/Employees -Name 'Managers' -Type Security -Scope Global

شما می توانید هر ویژگی دیگری را در طول فرآیند ایجاد پست تنظیم کنید:

New-QADUser -ParentContainer scorpio.local/Employees -Name 'Dmitry Sotnikov' -samAccountName dsotnikov -City 'Saint-Petersburg' -Password 'P@ssword'

برای فعال کردن یک ورودی، کافی است آن را به Enable-QADUser وارد کنید (فراموش نکنید رمز عبور تنظیم کنید - در غیر این صورت عملیات با شکست مواجه خواهد شد):

New-QADUser -ParentContainer scorpio.local/Employees -Name ‘Dmitry Sotnikov’ -Password ‘P@ssword’ | فعال کردن-QADUser

Import-CSV new_users.csv | ForEach-Object ( New-QADUser -ParentContainer scorpio.local/users -Name ($_.Familia + ', ' + $_.Imya) -samAccountName ($_.Imya + $_.Familia) -Department $_.Department -عنوان $_.Title)

لطفاً توجه داشته باشید که ما نام حساب را در لحظه از نام خانوادگی و نام کاربر می نویسیم.

نمونه ای از استفاده از فایل وارداتی
رکوردها

تغییر ساختار دایرکتوری

و در نهایت، البته، می توانید ساختار دایرکتوری را کنترل کنید.

به عنوان مثال، می توانید کانتینرهای جدید ایجاد کنید:

New-QADObject -type OrganizationUnit -ParentContainer scorpio.local -Name NewOU

و اجسام را یکی یکی به داخل آنها منتقل کنید:

Move-QADObject MyServer -To scorpio.local/servers

یا عمده فروشی:

Get-QADUser -Disabled | Move-QADObject -To scorpio.local/Disabled

فایل را وارد کنید و حساب های جدید ایجاد کنید

ما به راحتی می توانیم حساب های مناسب را انتخاب کنیم
معیارهای خاص، و آنها را به ظرف دیگری منتقل کنید

و خیلی بیشتر

ما تنها بخش کوچکی از سناریوهای مدیریت دایرکتوری فعال را در نظر گرفته ایم. برای دریافت لیست کامل cmdlet ها برای AD، دستور زیر را اجرا کنید:

دریافت فرمان *-QAD*

برای دریافت کمک برای هر دستور:

Get-Help Get-QADUser

برای اینکه بفهمیم یک شی تولید شده توسط یک فرمان چه ویژگی هایی دارد:

دریافت کاربر | عضو شوید

قابلیت‌های PowerShell تقریباً بی‌پایان است، اما یافتن آنها نیز نسبتاً آسان است.

نتیجه گیری

همانطور که دیدیم، PowerShell یک ابزار عالی مدیریت Active Directory است. برخی از ویژگی ها (ADSI) در هر نصب پاورشل موجود است. برخی (ارائه دهنده و cmdlet) به ماژول های اضافی نیاز دارند. همه آنها فرصت های بسیار خوبی را برای خودکارسازی مدیریت فهرست شرکتی شما فراهم می کنند که به معنای کاهش خطرات، رهایی از کارهای روزمره و افزایش کارایی شما در محل کار است.

نکته اصلی این است که این فناوری ها از قبل در دسترس هستند و می توانند به شما در مدیریت سیستم های مورد اعتماد امروز کمک کنند. در خاتمه، اجازه دهید به نقل از واسیلی گوسف، مدیر سیستم EvrazFinance Management Company CJSC: "در شرکت ما، تقریباً در همه جاهای دیگر، Active Directory یکی از پرکاربردترین و حیاتی ترین خدمات است. با PowerShell و AD Cmdlet ها، انجام بسیاری از کارها از طریق خط فرمان به جای ADUC (کاربران و رایانه های اکتیو دایرکتوری) آسان تر شده است. توجه داشته باشید ویرایش کنید.). اتوماسیون اکتیو دایرکتوری هرگز به این آسانی و در دسترس نبوده است.

اختصاص داده شده به استفاده از PowerShell برای مدیریت AD. به عنوان یک نقطه شروع، نویسنده تصمیم گرفت 10 وظیفه معمول مدیریت AD را انجام دهد و ببیند چگونه می توان آنها را با استفاده از PowerShell ساده کرد:

  1. رمز عبور کاربر را بازنشانی کنید
  2. اکانت ها را فعال و غیرفعال کنید
  3. باز کردن قفل حساب کاربری
  4. حذف اکانت
  5. گروه های خالی را پیدا کنید
  6. کاربران را به یک گروه اضافه کنید
  7. لیست اعضای گروه
  8. حساب های کامپیوتری قدیمی را پیدا کنید
  9. اکانت کامپیوتر را غیرفعال کنید
  10. کامپیوترها را بر اساس نوع پیدا کنید

علاوه بر این، نویسنده یک وبلاگ دارد (البته با استفاده از PowerShell)، توصیه می کنیم نگاهی بیندازید - jdhitsolutions.com/blog. و می توانید به روزترین اطلاعات را از توییتر او دریافت کنید twitter.com/jeffhicks.
بنابراین، در زیر ترجمه مقاله “10 کار برتر اکتیو دایرکتوری حل شده با PowerShell” آورده شده است.

مدیریت اکتیو دایرکتوری (AD) با استفاده از Windows PowerShell ساده تر از آن چیزی است که فکر می کنید، و من می خواهم آن را به شما ثابت کنم. شما به سادگی می توانید اسکریپت های زیر را بردارید و از آنها برای حل تعدادی از وظایف مدیریت AD استفاده کنید.

الزامات

برای استفاده از PowerShell برای مدیریت AD، باید چندین الزام را رعایت کنید. من قصد دارم نحوه کار cmdlet های AD را با استفاده از یک کامپیوتر ویندوز 7 به عنوان مثال نشان دهم.
برای استفاده از cmdlet ها، باید یک دامین کنترلر Windows Server 2008 R2 داشته باشید، یا می توانید سرویس دروازه مدیریت Active Directory را در DC های قدیمی دانلود و نصب کنید. لطفا قبل از نصب، مستندات را به دقت مطالعه کنید. راه اندازی مجدد سی دی مورد نیاز است.
در سمت کلاینت، (RSAT) را برای ویندوز 7 یا ویندوز 8 دانلود و نصب کنید. در ویندوز 7، باید در را باز کنید کنترل پنل هافصل برنامه هاو انتخاب کنید ویژگی های ویندوز را روشن یا خاموش کنید. پیدا کنید ابزارهای مدیریت سرور از راه دورو بخش را گسترش دهید ابزارهای مدیریت نقش. موارد مناسب را برای AD DS و AD LDS Tools انتخاب کنید، به خصوص توجه داشته باشید که مورد باید انتخاب شود ماژول Active Directory برای Windows PowerShellهمانطور که در شکل 1 نشان داده شده است. (در ویندوز 8 همه ابزارها به طور پیش فرض انتخاب می شوند). اکنون آماده کار هستیم.

شکل 1 فعال کردن ابزارهای AD DS و AD LDS

من با یک حساب کاربری با حقوق سرپرست دامنه وارد شده ام. اکثر cmdlet هایی که نشان خواهم داد به شما امکان می دهند اعتبارنامه های جایگزین را مشخص کنید. در هر صورت توصیه می کنم راهنما را بخوانید ( دریافت کمک) و نمونه هایی که در زیر نشان خواهم داد.
یک جلسه PowerShell را شروع کنید و ماژول را وارد کنید:

PS C:\> Import-Module ActiveDirectory

واردات یک PSDrive جدید ایجاد می کند، اما ما از آن استفاده نمی کنیم. با این حال، می توانید ببینید که چه دستوراتی در ماژول وارد شده در دسترس هستند.

PS C:\> get-command -module ActiveDirectory

زیبایی این دستورات این است که اگر بتوانم از یک دستور روی یک شی AD استفاده کنم، می توان از آن روی 10، 100 و حتی 1000 استفاده کرد. بیایید ببینیم برخی از این cmdlet ها چگونه کار می کنند.

وظیفه 1: رمز عبور کاربر را بازنشانی کنید

بیایید با یک کار معمولی شروع کنیم: بازنشانی رمز عبور کاربر. شما می توانید این کار را به راحتی و با استفاده از cmdlet انجام دهید Set-ADAccountPassword. بخش مشکل این است که رمز عبور جدید باید به عنوان یک رشته محافظت شده واجد شرایط باشد: یک قطعه متن که رمزگذاری شده و در حافظه برای مدت زمان جلسه PowerShell ذخیره می شود. ابتدا بیایید یک متغیر با رمز عبور جدید ایجاد کنیم:
PS C:\> $new=Read-Host "رمز عبور جدید را وارد کنید" -AsSecureString

سپس یک رمز عبور جدید وارد کنید:

اکنون می توانیم اکانت (با استفاده از samAccountname– بهترین گزینه) و یک رمز عبور جدید تنظیم کنید. در اینجا یک مثال برای کاربر جک فراست آورده شده است:

PS C:\> Set-ADAccountPassword jfrost -NewPassword $new

متأسفانه، یک اشکال در این cmdlet وجود دارد: -پاسترو, -وایف، و -تأیید کنیدکار نکن اگر میانبر را ترجیح می دهید، این را امتحان کنید:

PS C:\> Set-ADAccountPassword jfrost -NewPassword (ConvertTo-SecureString -AsPlainText -String "P@ssw0rd1z3" -force)

در نتیجه، من باید دفعه بعد که جک وارد سیستم می شود رمز عبور خود را تغییر دهد، بنابراین با استفاده از حساب کاربری را تغییر می دهم Set-ADUser.

PS C:\> Set-ADUser jfrost -ChangePasswordAtLogon $True

نتایج اجرای cmdlet روی کنسول نوشته نمی شود. اگر لازم است این کار انجام شود، استفاده کنید - درسته. اما من می توانم با بازیابی نام کاربری با استفاده از cmdlet بفهمم که آیا عملیات موفقیت آمیز بوده است یا خیر Get-ADUserو مشخص کردن ملک رمز عبور منقضی شده است، همانطور که در شکل 2 نشان داده شده است.


برنج. 2. نتایج Get-ADUser Cmdlet با ویژگی PasswordExpired

خط آخر: بازنشانی رمز عبور کاربر با استفاده از PowerShell اصلاً سخت نیست. اعتراف می کنم که تنظیم مجدد رمز عبور نیز از طریق اسنپ آسان است کاربران و رایانه های Active Directoryکنسول ها کنسول مدیریت مایکروسافت (MMC).اما استفاده از PowerShell در صورتی مناسب است که شما نیاز به تفویض یک کار دارید، نمی‌خواهید Snap-in فوق الذکر را اجرا کنید یا یک رمز عبور را به عنوان بخشی از یک فرآیند بزرگ IT خودکار تنظیم می‌کنید.

وظیفه 2: فعال و غیرفعال کردن حساب ها

حالا بیایید اکانت را غیرفعال کنیم. بیایید کار را با جک فراست ادامه دهیم. این کد از پارامتر استفاده می کند -وایف، که می توانید آن را در comadlet های دیگری بیابید که تغییراتی را برای آزمایش فرمان من بدون اجرای آن ایجاد می کنند.

PS C:\> Disable-ADAccount jfrost -whatif اگر: انجام عملیات "Set" روی هدف "CN=Jack Frost, OU=staff,OU=Testing,DC=GLOBOMANTICS,DC=local".

حالا بیایید آن را به طور واقعی غیرفعال کنیم:

PS C:\> Disable-ADAAccount jfrost

و وقتی زمان فعال سازی اکانت فرا می رسد کدام cmdlet به ما کمک می کند؟

PS C:\>Enable-ADAAccount jfrost

این cmdlet ها را می توان در یک عبارت خط لوله استفاده کرد و به شما این امکان را می دهد تا هر تعداد حساب را که دوست دارید فعال یا غیرفعال کنید. به عنوان مثال، این کد تمام حساب های موجود در بخش فروش را غیرفعال می کند

PS C:\> get-aduser -filter "department -eq "sales"" | غیرفعال کردن حساب کاربری

البته یک فیلتر برای Get-ADUserبسیار پیچیده است، اما این جایی است که استفاده از پارامتر -وایفهمراه با cmdlet غیرفعال کردن-ADAccountبه کمک می آید

وظیفه 3: قفل حساب کاربری را باز کنید

موقعیتی را در نظر بگیرید که جک هنگام تلاش برای وارد کردن رمز عبور جدید، حساب خود را قفل کرد. به جای تلاش برای یافتن حساب کاربری او از طریق رابط کاربری گرافیکی، روند باز کردن قفل را می توان با استفاده از یک دستور ساده انجام داد.

PS C:\> Unlock-ADAAccount jfrost

cmdlet از پارامترها نیز پشتیبانی می کند -وایفو -تأیید کنید.

وظیفه 4: حذف حساب

مهم نیست که چند کاربر را حذف کنید - این کار با استفاده از cmdlet آسان است حذف-ADUser. من نمی خواهم جک فراست را حذف کنم، اما اگر بخواهم از کد زیر استفاده می کنم:

PS C:\> Remove-ADUser jfrost -whatif اگر: انجام عملیات "Remove" روی هدف "CN=Jack Frost,OU=staff,OU=Testing,DC=GLOBOMANTICS,DC=local".

یا می توانم چندین کاربر را وارد کرده و با یک دستور ساده آنها را حذف کنم:

PS C:\> get-aduser -filter "enabled -eq "false"" -property WhenChanged -SearchBase "OU=Employees, DC=Globomantics,DC=Local" | کجا ($_.WhenChanged -le (Get-Date).AddDays(-180)) | Remove-ADuser -whatif

این دستور تمام اکانت های غیرفعال شده Employees OU را که برای 180 روز یا بیشتر تغییر نکرده اند، پیدا و حذف می کند.

وظیفه 5: یافتن گروه های خالی

مدیریت گروه ها یک کار بی پایان و بی قدر است. راه های زیادی برای یافتن گروه های خالی وجود دارد. بسته به سازمان شما، برخی از عبارات ممکن است بهتر از دیگران کار کنند. کد زیر همه گروه‌های موجود در دامنه، از جمله گروه‌های داخلی را پیدا می‌کند.

PS C:\> get-adgroup -filter * | Where (-Not ($_ | get-adgroupmember)) | نام را انتخاب کنید

اگر گروه هایی با صدها عضو دارید، استفاده از این دستور می تواند زمان زیادی را ببرد. Get-ADGroupMemberهر گروه را بررسی می کند. اگر بتوانید محدود یا سفارشی کنید بهتر است.
در اینجا یک رویکرد دیگر وجود دارد:

PS C:\> get-adgroup -filter " Members -notlike "*" -AND GroupScope -eq "Universal"" -SearchBase "OU=Groups,OU=Employees,DC=Globomantics, DC=local" | انتخاب نام، گروه*

این دستور همه چیز را پیدا می کند گروه های جهانی(گروه های جهانی) که در OU Groups عضویت ندارند و برخی از ویژگی ها را نمایش می دهند. نتیجه در شکل 3 نشان داده شده است.


برنج. 3. جستجو و فیلتر کردن گروه های جهانی

وظیفه 6: افزودن کاربران به یک گروه

بیایید جک فراست را به گروه فناوری اطلاعات شیکاگو اضافه کنیم:

PS C:\> add-adgroupmember "chicago IT" -Members jfrost

بله، به همین سادگی است. همچنین می‌توانید به راحتی صدها کاربر را به گروه‌ها اضافه کنید، اگرچه من این را کمی ناخوشایند می‌دانم:

PS C:\> Add-ADGroupMember "Chicago Employees" -member (get-aduser -filter "city -eq "Chicago"")

من از عبارت پرانتزی خط لوله برای یافتن همه کاربرانی که دارایی شهر در شیکاگو هستند استفاده کردم. کد داخل پرانتز اجرا می شود و اشیاء حاصل به پارامتر –Member ارسال می شود. هر شی کاربر به گروه Chicago Employees اضافه می شود. فرقی نمی کند با 5 یا 5000 کاربر سر و کار داشته باشیم، به روز رسانی عضویت های گروه فقط چند ثانیه طول می کشد. این عبارت را می توان با استفاده از آن نیز نوشت ForEach-Objectچه چیزی ممکن است راحت تر باشد:

PS C:\> Get-ADUser -filter "city -eq "Chicago"" | foreach (Add-ADGroupMember "Chicago Employees" -Member $_)

وظیفه 7: اعضای گروه را فهرست کنید

شاید بخواهید بدانید چه کسانی در یک گروه خاص هستند. به عنوان مثال، شما باید به صورت دوره ای دریابید که چه کسی عضو گروه Domain Admins است:

PS C:\> Get-ADGroupMember "Domain Admins"

شکل 4 نتیجه را نشان می دهد.


برنج. 4. اعضای گروه Domain Admins

cmdlet شی AD را برای هر عضو گروه نمایش می دهد. با گروه های تو در تو چه کنیم؟ گروه من شیکاگو همه کاربران مجموعه ای از گروه های تو در تو است. برای دریافت لیستی از تمام حساب ها، فقط باید از پارامتر استفاده کنم - بازگشتی.

PS C:\> Get-ADGroupMember "Chicago All Users" -Recursive | DistinguishedName را انتخاب کنید

اگر می خواهید راه دیگری را انتخاب کنید - پیدا کنید که کاربر در کدام گروه است - از ویژگی user استفاده کنید MemberOf:

PS C:\> get-aduser jfrost -property Memberof | -ExpandProperty MemberOf CN=NewTest،OU=Groups،OU=Employees، DC=GLOBOMANTICS،DC=local CN=Chicago Test،OU=Groups،OU=کارمندان، DC=GLOBOMANTICS،DC=local CN=Chicago IT،OU= گروه ها، OU=کارمندان، DC=GLOBOMANTICS،DC=محلی CN=کاربران فروش شیکاگو،OU=گروه ها،OU=کارمندان، DC=GLOBOMANTICS،DC=محلی

من از پارامتر استفاده کردم -ExpandPropertyبرای نمایش اسامی MemberOfمانند خطوط

وظیفه 8: حساب های رایانه قدیمی را پیدا کنید

این سوال زیاد از من پرسیده می شود: "چگونه حساب های کامپیوتری قدیمی را پیدا کنم؟" و من همیشه پاسخ می دهم: "چه چیزی برای شما منسوخ شده است؟" شرکت ها تعاریف متفاوتی از زمانی دارند که یک حساب رایانه (یا کاربر، هر چیز دیگری) منسوخ در نظر گرفته شود و دیگر مشمول آن نباشد. استفاده بیشتر. برای من، من به آن دسته از حساب هایی که رمز عبور آنها برای مدت زمان مشخصی تغییر نکرده است، توجه می کنم. این مدت برای من 90 روز است - اگر رایانه در این مدت رمز عبور را به همراه دامنه تغییر نداده باشد، به احتمال زیاد آفلاین و قدیمی است. Cmdlet استفاده شده است Get-ADComputer:

PS C:\> get-adcomputer -filter "Passwordlastset -lt "1/1/2012"" -properties *| نام، رمز عبور را انتخاب کنید

این فیلتر با مقدار سخت کار می کند، اما این کد برای تمام حساب های رایانه ای که از اول ژانویه 2012 رمز عبور خود را تغییر نداده اند، به روز می شود. نتایج در شکل 5 نشان داده شده است.


برنج. 5. حساب های کامپیوتری قدیمی را پیدا کنید

گزینه دیگر: فرض کنید شما حداقل در سطح عملکرد دامنه ویندوز 2003 هستید LastLogontimeStamp. این مقدار تعداد 100 بازه نانوثانیه از 1 ژانویه 1601 است و در GMT ذخیره می شود، بنابراین کار با این مقدار کمی مشکل است:

PS C:\> get-adcomputer -filter "LastlogonTimestamp -gt 0" -properties * | انتخاب نام،lastlogontimestamp، @(Name="LastLogon";Expression=(::FromFileTime ($_.Lastlogontimestamp)))،passwordlastset | LastLogonTimeStamp را مرتب کنید


برنج. 6. مقدار LastLogonTimeStamp را به یک قالب آشنا تبدیل کنید

برای ایجاد یک فیلتر، باید تاریخ را به عنوان مثال 1 ژانویه 2012 به فرمت صحیح تبدیل کنم. تبدیل در FileTime انجام می شود:

PS C:\> $cutoff=(Get-Date "1/1/2012").ToFileTime() PS C:\> $cutoff 129698676000000000

اکنون می توانم از این متغیر در فیلتر استفاده کنم Get-ADComputer:

PS C:\> Get-ADComputer -Filter "(lastlogontimestamp -lt $cutoff) -or (lastlogontimestamp -notlike "*")" -property * | Name,LastlogonTimestamp,PasswordLastSet را انتخاب کنید

کد بالا همان کامپیوترهایی را که در شکل 5 نشان داده شده است را پیدا می کند.

وظیفه 9: حساب رایانه را غیرفعال کنید

شاید وقتی حساب‌های غیرفعال یا قدیمی پیدا می‌کنید، بخواهید آنها را غیرفعال کنید. انجام این کار بسیار آسان است. ما از همان cmdlet استفاده می کنیم که برای کار با حساب های کاربری استفاده می کردیم. با استفاده می توانید آن را روشن کنید samAccountnameحساب کاربری

PS C:\> Disable-ADAccount -Identity "chi-srv01$" -whatif اگر: انجام عملیات "Set" روی هدف "CN=CHI-SRV01, CN=Computers,DC=GLOBOMANTICS,DC=local".

یا با استفاده از عبارت pipeline:

PS C:\> get-adcomputer "chi-srv01" | غیرفعال کردن-ADAccount

من همچنین می‌توانم از کد خود برای پیدا کردن حساب‌های قدیمی و غیرفعال کردن همه آنها استفاده کنم:

PS C:\> get-adcomputer -filter "Passwordlastset -lt "1/1/2012"" -properties *| غیرفعال کردن-ADAccount

وظیفه 10: کامپیوترها را بر اساس نوع پیدا کنید

همچنین اغلب از من سؤال می شود که چگونه حساب های رایانه را بر اساس نوع پیدا کنم، مانند سرورها یا ایستگاه های کاری. این نیاز به کمی خلاقیت از طرف شما دارد. هیچ چیز در AD وجود ندارد که سرور را از مشتری متمایز کند، به جز شاید سیستم عامل. اگر رایانه شما از ویندوز سرور 2008 استفاده می کند، باید چند مرحله اضافی را انجام دهید.
ابتدا باید لیستی از سیستم عامل ها را دریافت کنید و سپس حساب ها را بر اساس سیستم عامل های موجود فیلتر می کنیم.

PS C:\> Get-ADComputer -Filter * -Properties OperatingSystem | OperatingSystem -unique | را انتخاب کنید مرتب سازی سیستم عامل

نتایج در شکل 7 نشان داده شده است.


برنج. 7. بازیابی لیست سیستم عامل

من می‌خواهم همه رایانه‌هایی را که دارای سیستم عامل سرور هستند پیدا کنم:

PS C:\> Get-ADComputer -Filter "OperatingSystem -like "*Server*"" -properties OperatingSystem,OperatingSystem ServicePack | نام،Op* | را انتخاب کنید قالب-لیست

نتایج در شکل 8 نشان داده شده است.

مانند سایر cmdlet های AD Get، می توانید پارامترهای جستجو را سفارشی کنید و در صورت لزوم درخواست را به OU های خاص محدود کنید. تمام عباراتی که نشان داده ام را می توان در عبارات بزرگتر PowerShell ادغام کرد. برای مثال، می‌توانید مرتب‌سازی کنید، گروه‌بندی کنید، فیلترها را اعمال کنید، به CSV صادر کنید، یا گزارش‌های HTML ایجاد و ایمیل کنید - همه از PowerShell! در این مورد، شما مجبور نخواهید بود که یک اسکریپت واحد بنویسید.
در اینجا یک امتیاز وجود دارد: گزارش مربوط به سن رمز عبور کاربر، ذخیره شده در یک فایل HTML:

PS C:\> Get-ADUser -Filter "Enabled -eq "True" -AND PasswordNeverExpires -eq "False"" -Properties PasswordLastSet,PasswordNeverExpires,PasswordExpired | DistinguishedName,Name,pass*,@(Name="PasswordAge"; Expression=((Get-Date)-$_.PasswordLastSet)) |مرتب سازی PasswordAge -نزولی | ConvertTo-Html -Title "Password Age Report" | Out-File c:\Work\pwage.htm !}

اگرچه این عبارت ممکن است کمی ترسناک به نظر برسد، اما استفاده از آن با حداقل دانش از PowerShell آسان است. و تنها یک توصیه آخر باقی می ماند: نحوه تعریف یک ویژگی سفارشی به نام PasswordAge. مقدار نشان دهنده شکاف بین امروز و ویژگی PasswordLastSet است. سپس نتایج را برای ملک جدیدم مرتب می کنم. شکل 9 خروجی دامنه آزمایشی کوچک من را نشان می دهد.

به روز رسانی:
پست حاوی ترجمه مقاله در پورتال است