قسمت دوم: مدیریت با Powershell

1 1,717
Telegram_GEEKBOY

cmdletها روی اشیاء در یک فضای نامی (Namespace) عمل می کنند. به عنوان مثال یک folder روی disk یک namespace است. این فضاهای نامی توسط Provider (فراهم آورنده) ساخته می شوند. به عنوان مثال File System دارای یک Provider است که به این ترتیب می تواند به صورت مستقیم با آن در ارتباط باشد و روی آن عملیات انجام دهد. این مسئله برای Registry هم صادق است.

قسمت اول: مدیریت با Powershell

قسمت دوم: مدیریت با Powershell

در PowerShell فضای نامی که توسط هر Provider ساخته شده است توسط یک PSDrive معین می گردد. PowerShell به صورت خودکار یک PSDrive برای هر کدام از Drive های ویندوز می سازد. PowerShell اما استفاده از PSDrive را به مرحله ای فراتر می برد و با استفاده از ساخت PSDrive برای منابعی که متداولا استفاده می گردد، سبب می گردد دسترسی به منابع از طریق PowerShell آسان تر گردد. به عنوان مثال HKCU مربوط به HKEY_CURRENT_USER و HKLM مربوط به HKEY_LOCAL_MACHINE از Registry است. برای مشاهده لیست کامل PSDrive ها دستور زیر را وارد کنید:

Get-PSDrive

2016TP4 - 1-2016-03-07-20-46-09

PowerShell همه فن حریف

PowerShell یک رابط متنی مدرن، ساده و یکپارچه است که با استفاده از آن می توانید عملیات پیچیده را به راحتی بنویسید و طعم شیرین مدیریت روی خط فرمان را بچشید. مدیریت با استفاده از PowerShell به تمام مدیران توصیه می گردد چرا که با استفاده از این ابزار پیشرفته می توان بهره وری را افزایش داد. مشابه هر رابط متنی خوب دیگری، با استفاده از فشردن کلید Tab می توانید تکمیل دستور را بر عهده PowerShell قرار دهید و فقط حروف ابتدایی دستور را تا زمانی که قابل تمیز دادن باشد وارد کنید.

Active Directory Provider

PowerShell دارای یک Provider برای Active Directory است. ابتدایی ترین مزیت آن این است که با استفاده از این Provider می توان به همان راحتی که فایل ها را در دیسک کاوش می کنید، در Active Directory کاوش کنید. برای دسترسی به PSDriver مربوط به Active Directory کافی است دستور زیر را وارد کنید:

cd AD:

2016TP4 - 1-2016-03-07-20-49-45

همانطور که مشاهده می کنید خط Prompt به AD تغییر می کند و AD اشاره به Root Directory Service Entry یا همان RootDSE دارد. اکنون با دستور Dir می توانید لیست محتویات را مشاهده کنید و با دستور cd می توانید به شاخته های مختلف بروید. در اینجا می خواهیم در OU=Sales یک OU جدید برای مسئولین قرارداد ایجاد کنیم:

cd AD:

cd “dc=geekboy,dc=ir”

cd “ou=Sales”

New-Item -Name “ou=Contractors” –ItemType organizationalUnit

همچنین می توان با استفاده از پارامتر path بدون انتقال به شاخته مورد نظر مستقیما در مسیر مطلوب آیتم را ایجاد کرد. با استفاده از Alias ها دستور بسیار کوتاه تر از این می تواند باشد.

New-Item -Name “ou=Contractors” –ItemType organizationalUnit –path “ou=sales, dc=geekboy,dc=ir”

2016TP4 - 1-2016-03-07-20-54-51

شیئ کاربر در PowerShell

شاید ساخت اشیاء در محیط گرافیکی برای شما راحت تر به نظر برسد، اما این فرصت را به خود بدهید که هر عملی را که در محیط گرافیکی انجام می دهید در PowerShell نیز امتحان کنید. با استفاده از دستور زیر می توانید یک User Account جدید ایجاد کنید. در صورتی که مسیر را مشخص نکنید، در مسیر پیش فرض یعنی User Container ساخته می شود.

New-ADUser -Path “ou=User Accounts,dc=contoso,dc=com” -Name “UserName”
-SAMAccountName “UserSAM” -AccountPassword (ConvertTo-SecureString -AsPlainText “Pa$$w0rd” -Force) –Enabled $ture

PowerShell اجازه ی دسترسی cmdlet ها را به منابع محرمانه از جمله کلمه عبور بدون رمزنگاری نمی دهد. برای همین منظور اگر قصد دارید کلمه عبور را به صورت Plain Text (متن رمزنشده) وارد کنید لازم است ابتدا آن را به متن رمز شده تبدیل کنید. در دستور فوق ConvertTo-SecureString این عمل را انجام می دهد. اکانت های ساخته شده به صورت پیش فرض Disabled می باشند و با استفاده از پارامتر Enabled اکانت به صورت فعال ساخته می شود.

با استفاده از ساخت یک قالب (Template) ساخت کاربر می تواند سریع تر از پیش هم گردد.

$user = Get-ADUser “CN=_Sales Template,OU=User Accounts,DC=erfantaheri,DC=com”
-Properties MemberOf,Title,Department,Company,PhysicalDeliveryOfficeName

New-ADUser -path “ou=User Accounts,dc=erfantaheri,dc=com” -Instance $user -Name “UserName”
-SAMAccountName “UserSAM”

توجه داشته باشید که با استفاده از تعیین پارامتر ها در دستور New-ADUser می توانید موارد تعیین شده در قالب را override کنید.

همچنین با استفاده از دستور Set-ADUser می توانید Attribute های مختلف مربوط به یک User Account را تنظیم کنید.:

Set-ADUser –Identity Ali -EmailAddress “[email protected]

امکان Pipe کردن اکانت کاربری نیز وجود دارد:

Get-ADUser -Identity Ali| Set-ADUser -EmailAddress “[email protected]

با استفاده از یک متغیر کمکی نیز می توانید یک یا دسته ای از attribute ها را Set کنید:

$user = Get-ADUser -Identity Ali
$user.mail = “[email protected]
Set-ADUser -Instance $user

در خط دوم دستور فوق، از LDAP Name مربوط به یک Attribute به نام Mail استفاده شده است که الزاما نام هر Attribute با LDAP Name آن یکسان نمی باشد. با استفاده از Attribute Editor می توانید LDAP Name های مختلف را به آسانی بیابید.

با استفاده از دستور Remove-ADUser می توانید یک شیئ کاربر را حذف کنید.

مدیریت کلمه های عبور

در PowerShell امکان مدیریت Password ها نیز وجود دارد. این امر با استفاده از دستور Set-ADAccountPassword صورت می گیرد.

Set-ADAccountPassword -Identity “saeed.kh” -Reset

Set-ADAccountPassword -Identity “ali” -Reset
-NewPassword (ConvertTo-SecureString -AsPlainText “Pa$$w0rd” -Force)

Import کردن کاربران از یک Database

با استفاده از pipe کردن، این عملیات بسیار ساده تر از قبل صورت می گیرد. در اینجا با استفاده از یک فایل CSV آماده قصد داریم هزاران کاربر را در Active Directory اضافه کنیم. توجه داشته باشید در خط ابتدایی فایل csv لازم است پارامتر های دستور New-ADUser درج شده باشد و مقادیر آن ها در خطوط بعد به همان ترتیب در خط اول. به عنوان مثال:

name,sAMAccountName,GivenName,Surname
John Woods,john.woods,Johnathan,Woods
Kim Akers,kim.akers,Kimberly,Akers

در نهایت تنها کافی است به سادگی یک خط pipe بنویسیم:

import-csv “C:\Users\Administrator\Desktop\newusers.csv” | New-ADUser -organization Geekboy

اگر attribute هایی در فایل CSV تعیین نشده است، می توانید به راحتی آن ها در خود pipe معین کنید. همانند مثال فوق.

شیئ گروه در PowerShell

اکنون دانش مناسبی نسبت به کار های اولیه در PowerShell پیدا کرده اید. به راحتی می توانید با cmdlet ها کار کنید. با استفاده از دستور Get-Help می توانید توضیحات مربوط به هرکدام از دستورات زیر را پیدا کنید:

توضیح cmdlet
ساخت گروه جدید New-ADGroup
حذف گروه Remove-ADGroup
دریافت یک گروه Get-ADGroup
تنظیم Attribute های گروه Set-ADGroup
افزودن عضو به گروه Add-ADGroupMember
حذف عضو از گروه Remove-ADGroupMember
دریافت اعضای گروه Get-ADGroupMember

در اینجا قصد داریم یک گروه جدید ایجاد کنیم:

New-ADGroup –Name Support –GroupScope Global –GroupCategory Security

nps4_thumb

شیئ کامپیوتر در PowerShell

cmdlet های مربوط به شیئ کامپیوتر را می توانید در جدول زیر مشاهده کنید:

توضیح cmdlet
ساخت شیئ کامپیوتر New-ADComputer
حذف شیئ کامپیوتر Remove-ADComputer
دریافت شیئ کامپیوتر Get-ADComputer
تنظیم Attribbute های شیئ کامپیوتر Set-ADComputer
ارسال یک نظر

آدرس ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.