چند وقتی بود که بنا بر نیاز توی شبکه میخواستم که پسورد همه لوکال ادمین های کلاینت ها رو عوض کنم و خوب برای این کار به روش های مختلفی رسیدم. مث استفاده از گروپ پالیسی توی دامین های با دامین کنترلر تحت ویندوز 2008 به پایین و استفاده از انواع اسکریپت ها در ویندوز سرور 2012.این نکته رو بگم که از ویندوز سرور 2012 به بعد مایکروسافت به دلایل امنیتی(انتقال پسورد در شبکه به صورت غیر امن) این روش یعنی استفاده از پالیسی برای تغییر پسورد غیر فعال کرده.مسیر این پالیسی هم به صورت زیر هست:
Computer Configuration > Preferences > Control Panel Settings > Local Useres and Groups
توی این آموزش میخوام ابزاری رو معرفی کنم که توسط مایکروسافت ارائه شده و بسیار کاربردی هست.PsPasswd ابزاری که به شما این اجازه رو میده که پسورد اکانت های لوکال رو روی یک سیستم و یا مجموعه ای از سیستم ها تغییر بدید حتی با این ابزار این امکان رو دارید که پسورد اکانت های دامینی رو به صورت گروهی تغییر بدید.هنگام استفاده از این ابزار نگران لو رفتن پسورد و موارد امنیتی نباشید چرا که PsPasswd از Windows password reset API ها استفاده می کنه که به این وسیله دیگه نیازی نداره که پسورد رو توی شبکه به صورت Clear ارسال کنه و نگران لو رفتن اون باشیم.
نحوه نصب و استفاده
کافیه که این ابزار رو تو کامپیوتر خودتون کپی کنید و با استفاده از دستورهای مورد نیازتون از اون استفاده کنید:
- برای اجرای برنامه هم کافیه توی پوشه ای که PsPasswd توش قرار داره شیفت رو نگه دارید کلیک راست کنید و گزینه Open Command Windows Here رو بزنید:
دستوری که ما برای اعمال و تغییر پسورد استفاده می کنیم به صورت زیر هست:
pspasswd [[\\computer[,computer[,..] | @file [-u user [-p psswd]]] Username [NewPassword]
- نکته قابل ذکر اینکه که نیازی نیست که حتما این ابزار رو توی دامین کنترلر اجرا کنید توی هر کامپیوتری اجراش کنید فقط کافیه که یک یوزر پسورد که توی شبکه دسترسی کامل ریست پسورد رو داره مثل یوزر Domain admin رو توی دستور بالا استفاده کنید.
پارامترهای دستور بالا
- Computer:کامپیوتر نیمی که میخواید پسورد لوکال توی اون رو ریست کنید رو بعد از \\ وارد کنید.در صورتی که بعد از \\ یک * بزنید دستور روی کل کامپیوتر های توی شبکه اجرا میشه.
- file@:در صورتی هم که بخواید مجموعه ای از سیستم ها رو وارد کنید کافیه از دستور @\\ استفاد کنید که بعد از @ باید آدرس فایل تکستی رو که شامل کامپیوتر نیم ها هست وارد کنید.برای به دست آوردن کامپیوتر نیم ها در یک فایل تکست کافیه که روی OU مورد نظرتون توی اکتیو دایرکتوری کلیک راست کنید و Export list رو بزنید. مثلا روی Computers:
- u- :که بعد از اون یوزری که دسترسی کامل داره رو وارد میکنید
- p- :پسورد یوزر که دستری داره رو وارد می کنید.
- Username :یوزر لوکال یا دامینی که میخواید پسوردش رو عوض کنید
- New password :پسورد جدید برای یوزر دامینی تون
برای مثال برای اجرای دستور برای تمامی کامپیوتر ها دستور رو به صورت زیر وارد کنید:
pspasswd \\* -u AdminUserName -p AdminPassword Username NewPassword
اجرای دستور برای ریست پسورد از لیست کامپیوترها از یک فایل تکست:
pspasswd \\@c:\computers.txt -u AdminUserName -p AdminPassword Username NewPassword
نکته ای که قابل ذکر هست اینه که به صورت پیش فرض یوزر لوکال ادمین روی کلاینت ها فعال نیست و برای فعال کردن اون می تونید از Group policy استفاده کنید به صورت زیر:
لینک دانلود نرم افزار
اگه سوالی بود در خدمتم ، لایک یادتون نره!! مرتضی امیدیان
سلام
وقتی این خطا رو می بینید احتمال اینکه اون سیستم که می خواید پسوردش رو عوض کنید خاموش باشه زیاده ، احتمال دیگه ای هم که هست ممکنه ارتباط شبکه ایش با DC قطع شده باشه و یوزری که از اون برای ریست پسورد استفاده می کنید دسترسی لازم رو نداشته باشه.
با سلام
من از دستورات بالا ونرم افزار بالا استفاده کردم ارور the RPC server is unavailable میدهد.
با سلام
من از دستورات بالا ونرم افزار بالا استفاده کردم ارور the RPC server is unavailable میدهد.
ممنون از راهنماییتون .
ولی وقتی این دستورو اجرا می کنم خطای 2184 میده .
هر چقدر هم دنبال رفعش گشتم چیزی پیدا نکردم به نظر شما مورد چی میتونه باشه؟
لطفا دستور ایجاد یوزر جدید رو هم بگید
از اونجایی که شاید Computer Object ها در Ou های متفاوت قرار داده باشید و بخواهید لیست تمام اونها را Export بگیرید از دستور زیر می توان استفاده کرد: