microsoft

مدیریت از راه دور توسط Powershell

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 
کی از ویژگیهای کمتر شناخته شده در  Windows PowerShell 2.0  این است که به راحتی می توانید انعطاف پذیری باورنکردی را به محیط خود اضافه کنید. تصور اینکه  کامپیوترهای مشتری های شما ویندوز XP  را اجرا می کنند و domain controllers های شما از Windows Server 2003 استفاده می کنند هنوز یک سناریوی متداول می باشد. شما می توانید از Windows PowerShell 2.0 برای هردوی این سیستم عامل ها استفاده کنید. اما ممکن است قادر به استفاده از جدیدترین ماژول های Windows PowerShell cmdlet نباشید. مانند ماژول Active Directory همراه با    Windows Server 2008 R2. این ماژول های بر روی ورژن های قدیمی ویندوز اجرا نمی شوند.مشکل خاصی وجود ندارد. فقط ویندوز 7 یا Windows Server 2008 R2 را بر روی یک کامپیوتر در محیط خودنصب کنید.(ماژول اکتیو دایرکتوری در هرکدام از سیستم عامل ها اجرا خواهد شد).

بعنوان مثال شما می توانید یک Windows Server 2008 R2 domain controller  را نصب کنید چرا که هردو ماژول Active Directory و خدمات Active Directory management gateway که با آن ارتباط برقرار می کنند را فراهم می کند. می توانید gateway service  را دانلود کنید و آن را بر روی Windows Server 2008 و Windows Server 2003  نصب کنید.

با استفاده از Enable-PSRemoting در Windows PowerShell دسترسی از راه دور و WinRM را بر روی یک domain controller جدید تعریف کنید،سپس Windows PowerShell 2.0 را بر روی ویندوز XP یکی از کلاینت های خود فعال کنید و خودتان را برای انجام کارهای جادویی آماده کنید.


ساخت یک ماژول :

یا ایجاد یک جلسه Remote به domain controller جدید  شروع کنید.

$session = New-PSSession -computerName my-new-dc


 نام صحیح کامپیوتر را در محل my-new-dc وارد کنید. شما می توانید پارامترهای اضافی مانند alternate credentials یا پورت های alternate WinRM را مشخص کنید. برای جزئیات بیشتر help new-pssession را اجرا کنید.


در ادامه با استفاده  از Remote بعنوان مثال به Windows PowerShell بگوئید کهActive Directory cmdlets بارگذاری کند.

Invoke-command { import-module activedirectory } -session $session



قسمت جالب این است که شما بر روی همین سیستمی که از Windows PowerShell آن استفاده می کنید می توانید دستورات ماژول Active Directory را  با استفاده از دستور زیر از سرور Remote بر روی کامپیوتر خود فراخوانی کنید.

Export-PSSession -session $session -commandname *-AD* -outputmodule RemAD -allowclobber


این دستور یک ماژول جدید از Windows PowerShell را در فولدر Documents زیر WindowsPowerShell\Modules\RemAD ایجاد می کند. فقط  دستوراتی که نام آنها با الگوی “*-AD*” مطابقت داشته باشد را شامل می شود. این یکی از بزرگترین دلایل  دستورات افزودنی در استفاده از نوعی پیشوند مانند “AD” بعنوان بخشی از نام cmdlet است. انجام این کار باعث می شود گرفتن آن دسته از cmdlet ها آسانتر شود.

Cmdlet ها در واقع در کامپیوترهای محلی کپی نمی شوند. در عوض ماژول خدمات بصورت محلی یک shortcut ایجاد می کند.این cmdlet ها همیشه در remote domain controller اجرا خواهند شد اما بنظر می رسد که cmdlet ها بصورت محلی در حال اجرا می باشند.


استفاده از cmdlet ها :

با حذف جلسه از remote domain controller شروع کنید:

Remove-PSSession -session $session


 اکنون یک ماژول جدید را بارگذاری کنید:

Import-Module RemAD -prefix Rem


 این دستور یک ماژول جدید به حافظه بارگذاری می کند و پیشوند “Rem” به نام هر cmdlet در آن ماژول اضافه خواهد شد. پیشوند یک راه خوب است تا برای شما یادآوری کنیم که این cmdlet ها بصورت Remote  انجام می شوند. شما می توانید هر پیشوندی را که دوست دارید می توانید انتخاب کنید.

سعی کنید از یک remote cmdlet درخواست کمک کنید.

Help New-RemADUser

شما یک خطا را مشاهده می کنید زیرا یک remoting session بین کامپیوتر شما و domain controller که cmdlet ها در آن وجود دارند ایجاد نشده است. نیازی نیست که شما بطور واضح آن جلسه را شروع کنید. شما بطور ضمنی می توانید این کار را با اجرای یکی از remoted cmdlets انجام دهید:

Get-RemADUser -filter "Name -like 'D*'"


این دستور ارتباط remote را به domain controller و  ارائه دستور برای اجرا و اجرای فرمان در domain controller را مجددا نمونه سازی خواهد کرد. سپس هر کاربری که نامش با 'D' شروع می شود را در XML مرتب می کند و به تمام شبکه کامپیوتر شما انتقال می دهد. شما می توانید آنها ار مرتبا به اشیا هایی که در خط لوله Windows PowerShell کار می کنند مرتب سازی نمائید. اکنون شما می توانید درخواست کمک کنید زیرا جلسه remote فعال است.

Help New-RemADUser

این جلسه فعال باقی می ماند تا زمانی که شما پوسته نمونه را ببندید یا ماژول را حذف نمائید.

Remove-Module RemAD


رسیدگی و اداره کردن چیزی :

Implicit remoting استفاده از cmdlet هایی که فقط بر روی کامپیوترهای راه دور موجود هستند را آسانتر می کند.  implicitly remoted cmdlets رفتاری بسیار مشابه با زمانی که بر روی یک کامپیوتر محلی نصب شده باشند را دارند. این باعث می شود که هر زمان که به آنها نیاز دارید در دسترس باشند. یک جلسه Remote نیاز به سربار کمی به روی کامپیوتر شما یا یک کامپیوتر راه دور دارد بطوریکه این یک راه فوق العاده عملی برای توزیع محاسبات می باشد.
 
6 دستور اساسی Powershell برای استفاده بیشتر از ویندوز
آموزش نصب و استفاده از Windows PowerShell Web Access
فعال سازی و تنظیم IIS Remote Management توسط PowerShell - مدیریت IIS از راه دور
نحوه بکاپ گیری از SQLServer توسط PowerShell
بررسی کلی Windows Backup