اسکریپت و دستورات مهم و کاربردی در پاورشل (PowerShell)

سیستم PowerShell یک ابزار قدرتمند برای مدیریت سیستم‌ها و اتوماسیون وظایف مختلف است.

در زیر، برخی از اسکریپت‌ها و فرمان‌های کلیدی PowerShell که برای مدیران سیستم و شبکه مهم هستند، آورده شده است...

اسکریپت‌ها و فرمان‌های مدیریت Active Directory

نمایش همه کاربران در Active Directory:

Get-ADUser -Filter *

نمایش همه گروه‌ها در Active Directory:

Get-ADGroup -Filter *

ایجاد یک کاربر جدید در Active Directory:

New-ADUser -Name &quotJohn Doe&quot -GivenName &quotJohn&quot -Surname &quotDoe&quot -SamAccountName &quotjdoe&quot -UserPrincipalName &quotjdoe@domain.com&quot -Path &quotOU=Users,DC=domain,DC=com&quot -AccountPassword (ConvertTo-SecureString &quotP@ssw0rd&quot -AsPlainText -Force) -Enabled $true

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

Add-ADGroupMember -Identity &quotGroupName&quot -Members &quotUserName&quot

حذف یک کاربر از یک گروه:

Remove-ADGroupMember -Identity &quotGroupName&quot -Members &quotUserName&quot -Confirm:$false

📷

قفل کردن حساب کاربر:

Lock-ADAccount -Identity &quotUserName&quot

باز کردن قفل حساب کاربر:

Unlock-ADAccount -Identity &quotUserName&quot

تنظیم رمز عبور یک کاربر:

Set-ADAccountPassword -Identity &quotUserName&quot -NewPassword (ConvertTo-SecureString &quotNewP@ssw0rd&quot -AsPlainText -Force)

نمایش گروه‌هایی که یک کاربر عضو آن‌هاست:

Get-ADUser -Identity &quotUserName&quot -Properties MemberOf | Select-Object -ExpandProperty MemberOf

اسکریپت‌ها و فرمان‌های مدیریت سیستم

نمایش اطلاعات سیستم:

Get-ComputerInfo

نمایش فرآیندهای در حال اجرا:

Get-Process

توقف یک فرآیند:

Stop-Process -Name &quotProcessName&quot

نمایش اطلاعات شبکه:

Get-NetIPAddress

نمایش دیسک‌های متصل به سیستم:

Get-PhysicalDisk

نمایش فضای خالی دیسک:

Get-PSDrive -PSProvider FileSystem

📷

ایجاد یک پوشه جدید:

New-Item -Path &quotC:\Path\To\NewFolder&quot -ItemType Directory

حذف یک فایل یا پوشه:

Remove-Item -Path &quotC:\Path\To\FileOrFolder&quot -Recurse

کپی کردن فایل یا پوشه:

Copy-Item -Path &quotC:\Source\Path&quot -Destination &quotC:\Destination\Path&quot -Recurse

انتقال فایل یا پوشه:

Move-Item -Path &quotC:\Source\Path&quot -Destination &quotC:\Destination\Path&quot

اسکریپت‌ها و فرمان‌های امنیتی

نمایش تنظیمات سیاست‌های امنیتی:

Get-ItemProperty -Path &quotHKLM:\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings&quot

تنظیم سیاست‌های امنیتی:

Set-ItemProperty -Path &quotHKLM:\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings&quot -Name &quotSecurity_HKLM_only&quot -Value 1

نمایش وضعیت فایروال:

Get-NetFirewallProfile

📷

فعال کردن فایروال:

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

غیرفعال کردن فایروال:

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

اسکریپت‌ها و فرمان‌های اتوماسیون تسکها

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

$action = New-ScheduledTaskAction -Execute &quotPowerShell.exe&quot -Argument &quot-NoProfile -WindowStyle Hidden -File `\&quotC:\Path\To\Script.ps1`\&quot&quot

$trigger = New-ScheduledTaskTrigger -Daily -At 6am

$principal = New-ScheduledTaskPrincipal -UserId &quotDOMAIN\User&quot -LogonType Password -RunLevel Highest

Register-ScheduledTask -Action $action -Trigger $trigger -Principal $principal -TaskName &quotMyTask&quot -Description &quotRuns my PowerShell script daily at 6am&quot

نمایش تسک های زمانبندی شده:

Get-ScheduledTask

حذف یک تسک زمانبندی شده:

Unregister-ScheduledTask -TaskName &quotMyTask&quot -Confirm:$false

📷

نکته نهایی:

این لیست تنها نمونه‌ای از فرمان‌ها و اسکریپت‌های مهم PowerShell است. با توجه به نیازهای خاص شما، ممکن است لازم باشد اسکریپت‌های خود را تنظیم و تغییر دهید.

برای دسترسی به راهنمایی و اطلاعات بیشتر درباره هر فرمان، می‌توانید از Get-Help استفاده کنید. مثلاً:

Get-Help Get-ADUser -Full


با تشکر و احترام
آرمان میرزایی جهان
مشاور فناوری اطلاعات


برای مشاهده مقالات بیشتر با من در ارتباط باشید

www.MIRZAYIJAHAN.ir