نحوه ایجاد، حذف، تغییر نام، غیرفعال کردن و جوین به کامپیوترها در اکتیودایرکتوری با استفاده از PowerShell
PowerShell ISE بهترین ابزار برای کار با اسکریپت های PowerShell است.
ابزار PowerShell ISE را با Administrator با فشار دادن “Windows+R” و وارد کردن “runas /profile /user:Administrator PowerShell_ISE” در پنجره Run راه اندازی کنید.
(همچنین میتوانید روی نماد PowerShell ISE کلیک راست کرده و گزینه Run as administrator را انتخاب کنید.) وقتی از شما خواسته شد رمز عبور مدیر را وارد کنید.
در Microsoft Windows Server 2008 R2، باید این ماژول را با اجرای دستور زیر فعال کنید:
این ماژول در ویندوز سرور 2012 به بد بصورت پیش فرض فعال میباشد.
-
Join a Computer to a Domain
متداول ترین کار، اتصال یک کامپیوتر به یک کنترل کننده دامنه است. برای پیوستن رایانه شخصی به دامنه اکتیو دایرکتوری، اسکریپت PowerShell زیر را به صورت Loclly اجرا کنید:
$dc = "ENTERPRISE" # Specify the domain to join. $pw = "Password123" | ConvertTo-SecureString -asPlainText –Force # Specify the password for the domain admin. $usr = "$dc\T.Simpson" # Specify the domain admin account. $creds = New-Object System.Management.Automation.PSCredential($usr,$pw) Add-Computer -DomainName $dc -Credential $creds -restart -force -verbose # Note that the computer will be restarted automatically.
رایانه مجدداً راه اندازی می شود و سپس به دامنه می پیوندد.
برای پیوستن یک کامپیوتر به یک DC از راه دور، باید این اسکریپت را به این صورت تقویت کنید:
$dc = "ENTERPRISE" $pw = "Password123" | ConvertTo-SecureString -asPlainText -Force $usr = "$dc\T.Simpson" $pc = "R07GF" # Specify the computer that should be joined to the domain. $creds = New-Object System.Management.Automation.PSCredential($usr,$pw) Add-Computer -ComputerName $pc -LocalCredential $pc\admin -DomainName $dc -Credential $creds -Verbose -Restart -Force
متغیر pc $ و پارامتر –LocalCredential برای احراز هویت رایانه در دامنه استفاده می شود.
توجه داشته باشید که برای استفاده از این روش باید فایروال را در رایانه محلی غیرفعال کنید.
-
Join Multiple Computers to a Domain
میتوانید بیش از یک رایانه را با مشخص کردن آنها در خط فرمان بهعنوان فهرستی با کاما یا وارد کردن نام آنها از یک فایل متنی به دامنه اضافه کنید.
در اینجا نحوه تعیین رایانه ها در یک لیست محدود شده با کاما آورده شده است:
$dc = "ENTERPRISE" $pw = "Password123" | ConvertTo-SecureString -asPlainText -Force $usr = "$dc\T.Simpson" $pc = "WKS034, WKS052, WKS057" # Specify the computers that should be joined to the domain. $creds = New-Object System.Management.Automation.PSCredential($usr$pw) Add-Computer -ComputerName $pc -LocalCredential $pc\admin -DomainName $dc -Credential $creds -Restart -Force
و در اینجا نحوه استفاده از یک فایل متنی با لیست رایانههایی که باید به آنها متصل شوند، آمده است:
$dc = "ENTERPRISE" $pw = "Password123" | ConvertTo-SecureString -asPlainText -Force $usr = "$dc\T.Simpson" $pc = Get-Content -Path C:\Computers.txt # Specify the path to the computers list. $creds = New-Object System.Management.Automation.PSCredential($usr,$pw) Add-Computer -ComputerName $pc -LocalCredential $pc\admin -DomainName $dc -Credential $creds -Restart -Force
-
Remove a Computer from a Domain with PowerShell
برای حذف کامپیوتر از یک دامنه از راه دور، از cmdlet Remove-Computer استفاده کنید.
در اینجا، ما یک رایانه را از یک دامنه حذف می کنیم، بنابراین به Local Credential نیاز نیست و می توانیم از پارامتر Local Credential صرف نظر کنیم:
$dc = "ENTERPRISE" $pw = "Password123" | ConvertTo-SecureString -asPlainText -Force $usr = "$dc\T.Simpson" $pc = "R07GF" $creds = New-Object System.Management.Automation.PSCredential($usr,$pw) Remove-Computer -ComputerName $pc -Credential $creds –Verbose –Restart –Force
برای حذف چندین کامپیوتر با استفاده از لیست در یک فایل TXT، از اسکریپت بالا برای اتصال کامپیوترها به یک DC استفاده کنید و cmdlet Add-Computer را با Remove-Computer جایگزین کنید.
توجه داشته باشید که برای تکمیل این عملیات لغو پیوستن، همچنان به اعتبارنامه مدیریت دامنه نیاز دارید.
-
Create a Computer Object in AD
برای ایجاد یک computer object، از cmdlet New-ADComputer استفاده کنید.
به عنوان مثال، پارامترهای cmdlet زیر را برای ایجاد یک شی کامپیوتر با نام “WKS932” و مقدار مسیر پیش فرض LDAP اجرا کنید:
New-ADComputer –Name “WKS932” –SamAccountName “WKS932”
-
ایجاد حساب های کامپیوتری از یک فایل CSV
اگر فهرستی از رایانههایی دارید که باید به اکتیو دایرکتوری وارد شوند، فهرست را در یک فایل CSV با عنوان «رایانه» و فهرست نام رایانهها در ستون زیر آن ذخیره کنید.
اسکریپت PowerShell زیر را روی کنترلکننده دامنه خود اجرا کنید تا رایانهها را از فایل CSV اضافه کنید، مطمئن شوید که متغیرهای «Path» و «File» به درستی تنظیم شدهاند:
$File="C:\scripts\Computers.csv" # Specify the import CSV position. $Path="OU=Devices,DC=enterprise,DC=com" # Specify the path to the OU. Import-Csv -Path $File | ForEach-Object { New-ADComputer -Name $_.Computer -Path $Path -Enabled $True}
-
Delete a Computer from AD
برای حذف یک computer account از AD، از cmdlet Remove-ADObject استفاده کنید.
پارامتر -Identity مشخص می کند که کدام کامپیوتر اکتیو دایرکتوری را حذف کند.
میتوانید یک رایانه را با نام متمایز، GUID، شناسه امنیتی (SID) یا نام حساب مدیر حسابهای امنیتی (SAM) مشخص کنید.
Remove-ADObject -Identity "WKS932"
از شما خواسته می شود که حذف را تأیید کنید.
-
Disable Computer Accounts using a List
همچنین میتوانید با استفاده از فهرستی در یک فایل متنی، حسابهای رایانه را به صورت انبوه غیرفعال کنید:
$Pclist = Get-Content C:\scripts\Computer.txt # Specify the path to the computers list. Foreach($pc in $Pclist) { Disable-ADAccount -Identity "$pc" Get-ADComputer -Identity "$pc" | Move-ADObject -TargetPath “OU=Disabled Computers,DC=enterprise,DC=com” }
-
Reset an AD Computer Account
مانند یک حساب کاربری، یک حساب کامپیوتری با استفاده از یک رمز عبور با Active Directory تعامل دارد.
اما برای حسابهای رایانهای، بهطور پیشفرض هر 30 روز یکبار تغییر رمز عبور آغاز میشود و رمز عبور از خط مشی رمز عبور دامنه مثتثنی است.
تغییرات رمز عبور توسط کاربر(رایانه) انجام می شود، نه AD.
اعتبار رایانه معمولاً برای کاربر ناشناخته است زیرا به طور تصادفی توسط رایانه تنظیم می شود.
اما شما می توانید رمز عبور خود را تنظیم کنید. در اینجا یک اسکریپت PowerShell برای انجام این کار وجود دارد:
$pc = read-host –Prompt “Input computer name to reset“ # Specify the computer name. $pw = read-host –Prompt “Input random characters for temp password“ –AsSecureString # Specify the password. Get-ADComputer $pc | Set-ADAccountPassword –NewPassword:$pw -Reset:$true
شما می توانید تمام این اسکریپت ها را به تنهایی تقویت کنید تا آنها را با اهداف خود مطابقت دهید.
به یاد داشته باشید که پیگیری دقیق همه تغییرات در حساب های رایانه بسیار مهم است، بنابراین می توانید به سرعت هر گونه تغییر ناخواسته را تشخیص دهید و به طور مناسب پاسخ دهید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.