~2 دقیقه مطالعه • بروزرسانی ۳۰ آذر ۱۴۰۴
1. درباره اعتبارنامهها
پارامتر -Credential اجازه میدهد فرمانها با حساب مشخص اجرا شوند. اعتبارنامهها میتوانند بهصورت نام کاربری ساده (DOMAIN\User یا Computer\User) یا بهصورت شیء PSCredential ارائه شوند. رمز عبور همیشه بهصورت امن و ماسکشده وارد میشود.
2. ایجاد شیء اعتبارنامه
- Get-Credential: پنجرهای برای ورود نام کاربری و رمز عبور باز میکند و شیء PSCredential میسازد.
- PSCredential: نام کاربری و رمز عبور را بهصورت امن در قالب
SecureStringذخیره میکند. - GetNetworkCredential(): تنها در همان جلسه امکان بازیابی رمز عبور ساده را دارد.
3. استفاده از اعتبارنامهها
- اعتبارنامه برای همه کامپیوترهای هدف در یک فرمان چندگانه اعمال میشود.
- میتوان در پروفایل PowerShell اعتبارنامههای پرکاربرد را ذخیره کرد.
- PSDriveهای Active Directory اعتبارنامههای استفادهشده هنگام اتصال را به ارث میبرند.
- بهتر است اعتبارنامه را قبل از استفاده ایجاد کنید، نه در همان خط فرمان.
4. روشهای پیشرفته و پرخطر
- بستهبندی اسکریپتها: ابزارهایی مانند PrimalScript میتوانند اعتبارنامهها را رمزگذاری و در اسکریپت قرار دهند.
- ذخیره شیء اعتبارنامه: با
ConvertFrom-SecureStringمیتوان رمز عبور را ذخیره کرد، اما رمزگذاری به ماشین وابسته است. - ایجاد PSCredential بدون GUI: با
Read-Hostمیتوان نام کاربری و رمز عبور را در محیط کنسول وارد کرد.
این روشها ریسک دارند؛ در صورت مدیریت نادرست، رمز عبور ممکن است افشا شود.
5. پشتیبانی از اعتبارنامه در اسکریپتها
اسکریپتها میتوانند پارامتر -Credential داشته باشند. اگر شیء PSCredential داده شود، مستقیم استفاده میشود؛ اگر رشته داده شود، Get-Credential فراخوانی میشود. این کار انعطافپذیری در احراز هویت ایجاد میکند.
نتیجهگیری
اعتبارنامهها در PowerShell امکان احراز هویت امن برای وظایف مدیریتی را فراهم میکنند. با استفاده از شیء PSCredential، SecureString و رعایت بهترین شیوهها، مدیران میتوانند اصل حداقل سطح دسترسی را اجرا کرده و از روشهای ناامن ذخیره یا انتقال رمز عبور اجتناب کنند.
نوشته و پژوهش شده توسط دکتر شاهین صیامی