با استفاده از پاورشل میتوانید به راحتی کاربران و گروه محلی را مدیریت کنید. مایکروسافت مجموعه cmdlet را با نام Microsoft.PowerShell.LocalAccounts ارائه میدهد. پیش از این، شما مجبور بودید آن را در PowerShell بارگیری و وارد کنید و Windows Management Framework 5.1 را نیز نصب کنید. در سیستم عاملهای Windows Server 2016 و Windows 10، مجموعه cmdlet به عنوان یک ماژول استاندارد گنجانده شده است. در این مقاله قصد داریم نحوه ی مدیریت گروه محلی با پاورشل را به شما آموزش دهیم، در ادامه همراه ما باشید.
ماژول های cmdlet برای مدیریت Local Accounts
15 ماژول cmdlet برای مدیریت Local Accounts وجود دارد. با اجرای دستور زیر می توانید لیست کامل را مشاهده کنید:
Get-Command -Module Microsoft.PowerShell.LocalAccounts
- Add-LocalGroupMember — مدیریت گروه محلی با پاورشل و اضافه کردن کاربر به گروه محلی
- Disable-LocalUser — حساب کاربری محلی را غیرفعال می کند
- Enable-LocalUser — حساب کاربری محلی را فعال می کند
- Get-LocalGroup — تنظیمات برگزیده گروه محلی را مشاهده می کند
- Get-LocalGroupMember — لیست اعضای محلی گروه را مشاهده کنید
- Get-LocalUser — تنظیمات برگزیده حساب کاربری محلی را مشاهده کنید
- New-LocalGroup — یک گروه محلی جدید ایجاد کنید
- New-LocalUser — یک حساب کاربری محلی جدید ایجاد کنید
- Remove-LocalGroup — یک گروه محلی را حذف کنید
- Remove-LocalGroupMember — یک عضو را از یک گروه محلی حذف کنید
- Remove-LocalUser — حساب کاربری محلی را حذف کنید
- Rename-LocalGroup — مدیریت گروه محلی با پاورشل و تغییر نام یک گروه محلی
- Rename-LocalUser — نام کاربری محلی را تغییر نام دهید
- Set-LocalGroup — با استفاده از مدیریت گروه محلی با پاورشل تنظیمات یک گروه محلی را تغییر دهید
- Set-LocalUser — تنظیمات حساب کاربر محلی را تغییر دهید.
پیشنهاد میکنیم پیش از خواندن ادامه مقاله برای درک بیشتر پاورشل به مقاله Windows Powershell چیست مراجعه کنید.
مدیریت حساب های کاربری محلی با PowerShell
در این مرحله مشاهده می کنید که چگونه می توانید از دستورات پاورشل برای انجام کارهای معمول مربوط به مدیریت گروه محلی با پاورشل در رایانه ویندوز 10 استفاده کنید.
لیست کاربران و ویژگی های آنها با پاورشل
در ابتدا، لیستی از همه حساب های کاربری محلی را در دستگاه دریافت کنید. ما از cmdlet Get-LocalUser استفاده خواهیم کرد:
Get-LocalUser
همانطور که مشاهده می کنید، ما دو حساب کاربری محلی داریم، که یکی از آن ها غیرفعال است. (موردی که در ستون “فعال” دارای مقدار “False” است).
اگر می خواهید همه خصوصیات و مقادیر آنها را برای یک حساب کاربری محلی خارج کنید، باید از cmdlet Get-LocalUser با پارامترهای زیر استفاده کنید:
Get-LocalUser -Name ‘guest’ | Select-Object *
برای بدست آوردن مقدار ویژگی خاص حساب کاربری محلی، نام آن را بعد از پارامتر Select-Object تایپ کنید. در این مثال، می خواهیم مقدار ویژگی PasswordLastSet را برای حساب با نام کاربری “administrator” بدانیم:
Get-LocalUser -Name ‘administrator’ | Select-Object PasswordLastSet
مدیریت گروه محلی با پاورشل و ایجاد یک کاربر محلی با پاورشل
با کمک cmdlet New-LocalUser می توانید کاربر جدیدی ایجاد کنید. این cmdlet می تواند انواع زیر را وارد کند:
- حساب های کاربری محلی Windows
- حساب های مایکروسافت
- حسابهای Azure Active Directory
هنگام ایجاد یک حساب کاربری محلی، هرگز رمز ورود را به عنوان متن ساده وارد نکنید. همیشه آن را با استفاده از پارامتر AsSecureString یا ConvertTo-SecureString به یک رشته امن تبدیل کنید.
این دستور برای ایجاد یک حساب کاربری جدید محلی است:
$UserPassword = Read-Host –AsSecureString New-LocalUser "Netwrix" -Password $UserPassword -FullName "Netwrix" -Description "CompleteVisibility"
در یک محیط ویندوز، کاربران می توانند تحت حساب های Microsoft خود مجوز بگذارند، بنابراین می توانیم یک حساب کاربری محلی جدید ایجاد کنید که به اعتبار حساب Microsoft متصل شود.
برای این کار از دستور زیر استفاده کنید (توجه داشته باشید که نیازی به تایپ رمز ورود ندارید زیرا این مورد در رمزگذار Microsoft ذخیره شده است):
New-LocalUser -Name "MicrosoftAccount\SomeAccount@outlook.com" -Description "Microsoft Account"
برای ایجاد یک حساب محلی که به Azure AD شما متصل است، از دستور زیر استفاده کنید:
New-LocalUser -Name "AzureAD\Netwrix@enterprise.com" -Description "Azure AD Account"
تغییر گذرواژه یا خصوصیات گذرواژه کاربر محلی با PowerShell
برای تغییر رمز ورود یک حساب کاربری محلی، باید از cmdlet Set-LocalUser استفاده کنید. باید رمز عبور مدیر محلی را تغییر دهید:
$UserPassword = Read-Host –AsSecureString Set-LocalUser -Name Administrator -Password $UserPassword –Verbose
برای تنظیم گذرواژه ای که هرگز برای یک کاربر محلی با PowerShell منقضی نشود، باید دستور زیر را اجرا کنید:
Set-LocalUser -Name Netwrix –PasswordNeverExpires $False
حذف حساب کاربری محلی با PowerShell
برای حذف حساب کاربری محلی، باید از دستور cmdlet Remove-LocalUser استفاده کنید:
Remove-LocalUser -Name Netwrix -Verbose
مدیریت گروه محلی با پاورشل
حال توجه خود را از کاربران محلی به گروه های محلی معطوف کنید. برای مرور گروه محلی با پاورشل، ابتدا لیستی از همه گروه ها را در Windows Server با استفاده از این دستور دریافت کنید:
Get-LocalGroup
افزودن یک گروه محلی با پاورشل
در مدیریت گروه محلی با پاورشل شما می توانید به راحتی یک گروه جدید ایجاد کنید:
New-LocalGroup -Name 'Netwrix Users' -Description 'Netwrix Users Group'
افزودن کاربران در PowerShell به یک گروه محلی
برای افزودن کاربر (یا یک گروه) به یک گروه محلی، باید از cmdlet Add-LocalGroupMember استفاده کنید. به عنوان مثال، فرض کنید می خواهید کاربران را به گروه سرپرستان محلی اضافه کنید، اما نمی خواهید آنها را به صورت تکی اضافه کنید. برای انجام این کار یک گروه به سرپرستان محلی، یعنی گروه “کاربران Netwrix” اضافه کنید:
Add-LocalGroupMember -Group 'Administrators' -Member ('Netwrix',’Netwrix Users') –Verbose
اگر رایانه یا سرور شما بخشی از دامنه است، می توانید حساب دامنه و گروه ها را به گروه های محلی اضافه کنید تا به آن کاربران حقوق محلی ویژه در سرور بدهید. برای این کار آنها را با استفاده از قالب “DomainName \ User” (برای یک کاربر) یا “DomainName \ Domain Group” (برای یک گروه) اضافه کنید.
مشاهده عضویت یک گروه خاص محلی با پاورشل
با استفاده از دستور زیر می توانید، گروه محلی را با پاورشل مدیریت کرده و تمام اعضای یک گروه محلی خاص را لیست کنید:
همانطور که مشاهده می کنید، این دستور کلیه حساب های محلی و گروه های عضو گروه “کاربران Netwrix” را نشان می دهد. اگر چه فقط حساب ها و گروه های محلی در این مثال ذکر شده اند، این دستور همچنین هر کاربر، گروه دامنه و کلیه حساب های Microsoft و Azure AD را نشان می دهد.
مشاهده تمام گروه های محلی که کاربر در آن عضویت دارد با استفاده از PowerShell
در ادامه ی آموزش مدیریت گروه با پاورشل به قسمت لیست کردن تمام گروه هایی که یک کاربر خاص عضو آن است، می رسیم. برای مشاهده ی این لیست دستور زیر را اجرا کنید:
حذف یک گروه محلی با پاورشل
در ادامه ی بحث مدیریت گروه محلی با پاورشل به حذف یک حساب کاربری محلی از یک گروه می رسیم. برای انجام این کار باید از cmdlet Remove-LocalGroupMember استفاده کنید:
Remove-LocalGroupMember -Group 'Netwrix Users' –Member 'guest'
مدیریت کاربران محلی و گروه ها از راه دور با PowerShell
اگر می خواهید حساب کاربری محلی و گروه ها را از راه دور مدیریت کنید، باید از طریق WinRM با استفاده از cmdlet های Invoke-Command و Enter-PSSession به ایستگاه های کاری از راه دور متصل شوید. به عنوان مثال اگر می خواهیم عضویت گروه محلی را از راه دور بر روی چندین رایانه انجام دهید، باید دستور زیر را اجرا کنید:
$search = new-pssession -computer pcname1,pcname2,pcname3 هinvoke-command -scriptblock {Get-LocalGroupMember -Group'Administrators'} -session $search "LocalAdmins"-hidecomputername|select * -exclude RunspaceID | out-gridview -title
همان طور که مشاهده می کنید، مدیریت گروه محلی با پاورشل کار ساده ای است، اما برای اطمینان از امنیت، انطباق و تداوم عمل بررسی کلیه این تغییرات ضروری است. برای کسب اطلاعات در مورد پیکربندی ممیزی بومی، لطفاً به راهنمای مرجع سریع Windows Server Auditing مراجعه کنید.
چرا سرور مجازی ابر آراز ؟ سرور مجازی ابر آراز دارای انواع گوناگونی است که با توجه به نیاز خود قادر به انتخاب از بین آن ها خواهید بود. همچنین ما در ابر آراز با ارائه ی سرورهای ابری با قیمتی مقرون به صرفه، آپ تایم 99/99 درصد و پشتیبانی رایگان 24 ساعته در خدمت شما هستیم.