ایجاد چندین یوزر در گروه های متفاوت در اکتیو دایرکتوری
به نام خدا
سلام و عرض خسته نباشید
من مدتی هست که دنبال اسکریپت یا کامندی هستم که بتونم تعدادی یوزر رو در تعدادی گروه توو اکتیو دایرکتوری اضافه کنم اما موفق نشدم اون چیزی که میخوام رو پیدا کنم (به جز استفاده از اکسل یا هر batch fileای، یا اسکریپت های چند خطی) مثلا یوزر های salesXX (1-50) در گروه sales و (ITXX (1-50 در گروه IT راستش یک بار یک نفر رو دیدم که با دستور for این کار رو انجام داد اما سینتکس دستور رو کاملا به یاد نمیارم.. پیشاپیش از راهنمایی هاتون ممنونم،،،
5 پاسخ
عقلانی نیست! ولی نیازی به تایپیست و نشستن و نوشتن هم نیست!!
طبق آموزش زیر از کاربراتون که هر چند تا هستن خروجی بگیرید در قالب فایل CSVDE.
جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE
سپس فایل مربوطه را Edit کنید یا بدون نیاز به ویرایش خاصی در فایل، نام همون فایل را در Script وارد کنید و مرحله چهارم را انجام دهید.
ممنون اما نیاز به ویرایش داره،، اما چطور میتونم common name های مد نظر خوم رو به تعداد لازم تولید کنیم توو این روش؟؟!
فکر کنم بشه اسکریپت %user, "cn=sale%variable%,ou=homenetworking,dc=home,dc=local",sales%variable رو ۵۰با دستور forیا هر چیز ممکنی تکرار کنم، بتونم با csvde یوزر هامو اضافه کنم بعد هرکدومو به گروه خودش کراپ کنم! یا اینکه مستقیم به dsadd ریدایرکت کنم!!!
اما سینتکسش رو نمیتونم پیدا کنم!:\
ممنون اما شما فرض کنید م ۵۰۰۰ کاربر بخواهیم اضافه کنیم... عقلانی نیست ۵۰۰۰یوزر رو بشینیم بنویسیم توو notpad. :دی کسی با تابع for کار نکرده!!؟
شما می توانید از PowerShell Scripts استفاده کنید:
1. برای شروع باید یک فایل CSVDE بسیار ساده بسازید، Notepad را باز کنید و به صورت زیر کاربر های مورد نیازتون را به فایل اضافه کنید، دقت کنید که باید SamAccountName کاربرها را وارد کنید. و سپس این فایل را با پسوند (csv.) در پوشه ای به نام Scripts که در درایو (:C) قبلا ساختیم ذخیره کنید.
2. PowerShell را به صورت Run as Administrator اجرا کنید، در این جا باید چک کنید که ExecutionPolicy در چه وضعییتی می باشد. داخل PS تایپ کنید:
Get-ExecutionPolicy
اگر پاسخی که به شما داده شد Restricted بود در ادامه داخل PS تایپ کنید:
Set-ExecutionPolicy RemoteSigned
و اینبار با اجرای Get-ExecutionPolicy خواهیم داشت:
PS C:\Users\Administrator> Get-ExecutionPolicy RemoteSigned
3. دوباره Notepad را باز کنید و متن زیر را در آن وارد کنید و فایل مذکور را با اسمی مناسب با پسوند (PS1.) در پوشه Scripts ذخیره کنید.
Import-module ActiveDirectory Import-CSV "C:\Scripts\Users.csv" | % { Add-ADGroupMember -Identity TestGroup -Member $_.UserName }
در شکل فوق TestGroup نام گروهی است که می خواهیم کاربران مورد نظر را به آن اضافه کنیم. قبل از مرحله پایانی به کنسول Active Directory Users and Computers می رویم و مشاهده می کنیم که کاربری هنوز عضو گروه TestGroup نمی باشد.
4. در مرحله پایانی در داخل PowerShell تایپ می کنیم:
C:\Scripts\Group-Test.ps1
و این مسیری است که فایل را در آن قرار داده ایم. حال به کنسول Active Directory بر می گردیم و می بینیم که کاربران به گروه مورد نظر اضافه شده اند.
باسلام
بنظرم دستورات زیر کارت را راه بندازد.
Add all members of the Finance group to the Sales group: C:\> set _finance="CN=Finance Dept,OU=Europe,DC=itpro,DC=ir" C:\> set _sales="CN=Sales Dept,OU=Europe,DC=itpro,DC=ir" C:\> dsget group %_finance% -members | dsmod group %_sales% -addmbr Add all users from the Europe organizational unit (OU) to the existing group AfricaMarket: C:\> set _europe="OU=Europe,DC=itpro,DC=ir" C:\> set _AfricaMkt ="CN=AfricaMarket,OU=Africa,DC=itpro,DC=ir" C:\> dsquery user %_europe% | dsmod group %_AfricaMkt% -addmbr Add the user Fred to all administrator distribution list groups: C:\> set _dls="OU=Distribution Lists,DC=itpro,DC=ir" C:\> set _fred="cn=fred,ou=staff,dc=itpro,dc=ir" C:\> dsquery group %_dls% -name adm* | dsmod group -addmbr %_fred% Add the user Fred to the finance group C:\> dsmod group %_finance% -addmbr %_fred%