با سلام و عرض خسته نباشيد به دوستان عزيز
سئوال من اينه چطور با گروپ پاليسي پسورد ادمين همه
كامپيوترهاي دامين را عوض كرد
با تشكر
Printable View
با سلام و عرض خسته نباشيد به دوستان عزيز
سئوال من اينه چطور با گروپ پاليسي پسورد ادمين همه
كامپيوترهاي دامين را عوض كرد
با تشكر
متاسفانه این کار رو نمی تونی با پالیسی های موجود در Windows Server 2003 انجام بدی.
درخواست شما یکی از چندین قابلیت اضافه شده در Windows Server 2008 می باشد. اما می تونی با استفاده از نرم افزار [B]pwdman[/B] این کار رو انجام بدی.
این برنامه رو می تونی از لینک زیر دانلود کنی:
[url=http://www.jdhitsolutions.com/pwdman/]PWDMan[/url]
موفق باشید.
هر کس حق داره admin شبکه خودش باشه.
نمیتونید اینو ازش بگیرید. به هیچ وجه.
فکر کنم منظور دوستمون رو متوجه نشدی. سوالی که ایشون پرسید، مدیران شبکه های مختلف بارها این سوال رو از من پرسیدن و همونطور که گفتم این قابلیت در Windows Server 2008 پیاده سازی شده.
من منظور شما رو از از این جمله نمی فهمم:
[B][I]
هر کس حق داره admin شبکه خودش باشه.[/I][/B]
به جای شبکه بزارید کامپیوتر. اشتباه تایپی بود.
منظورم local computere.
اونو تحت دامین نمیتونید کاریش کنید.
چرا باید هر کسی در شبکه ادمین کامپیوتر خودش باشه؟
این حق رو شما بهشون می دین؟!!
قوانین هر سازمان تعیین کننده میزان دسترسی کاربران به منابع سخت افزاری و نرم افزاریست.
ابزارهای زیادی برای تغییر رمز عبور Local Administrator وجود دارند که می توانید از آنها استفاده کنید.
این اسکریپت یک نمونه از این ابزارهاست:
[url=http://articles.techrepublic.com.com/5100-10878_11-5198818.html?tag=search]Reset local administrator passwords with VBScript[/url]
ولی این ها با Group Policy نیستند.
اگر بخواهید با Group Policy این کار را انجام دهید کافیست یک Batch File آماده کنید و با Net User رمز کاربر مورد نظر را تغییر دهید.
ولی با توجه به این که مجبورید رمز را Clear Text بنویسید از نظر امنیتی صحیح نیست و به سادگی قابل دستیابی است.
میشه فایل adm اش رو نوشت، مثل این: web.mit.edu/is/topics/windows/server/winmitedu/extensions.html#rootpass
هنوز هم میگم هیچ کس از دور نمیتونه پسور admin رو عوض کنه.
توی تمام برنامه ها و راههای که سراغ دارید حتما باید user این اجازه رو بده بهش یا فایلی اجرا کنه یا agent نصب کنه.
توی هیچ دامینی نمیتونید بدون خواست یوزر پسوردشو عوض کنید. چون کار بیخودی هم هست. چاره کار یه دونه password reset disk هست.
البته اگر یوزر یوزر باشه. نه هر چیزی دید بزنه yes
فكر كنم يكي از دلايلي كه نميشه پسورد ادمين كامپوتر رو از طريق دامين عوض كرد
اينه كه خود يوزر رو كاميوترش بصورت پيش فرض ادمين نيست و چون اسكريپت با دسترسي
يوزر اجرا مي شه نمي تونه پسورد ادمين خود كامپيوتر رو عوض كنه
چطور مي شه اسكريپت رو runas كرد كه با دسترسي ادمين دامين اجرا بشه ؟
[quote=webgard3;196573]هنوز هم میگم هیچ کس از دور نمیتونه پسور admin رو عوض کنه.
توی تمام برنامه ها و راههای که سراغ دارید حتما باید user این اجازه رو بده بهش یا فایلی اجرا کنه یا agent نصب کنه.
توی هیچ دامینی نمیتونید بدون خواست یوزر پسوردشو عوض کنید. چون کار بیخودی هم هست. چاره کار یه دونه password reset disk هست.
البته اگر یوزر یوزر باشه. نه هر چیزی دید بزنه yes[/quote]
من خودم شخصا این کار رو کردم و نیازی هم به هیچ نوع پیش فرض خاصی نیست. تنها پیش فرضی که وجود داره اینکه اگر چنانچه در سیستم مقصد فایروال فعاله، بایستی سرویس File and Printer Sharing در حالت except قرار گرفته باشه.
اقا پيدا كردم
بي نظيره
روي قسمت كامپيوتر Group Policy بزاريد تو Startup
با دسترسي يوزر System هم اجرا مي شه
'===============================================
'script : ResetAdmin.vbs
'date : March 23, 2007
'code by : Malikus (IT Operations Bank Mandiri)
'
'purpose : reset local administrator password,
' run as system account during computer
' startup from domain GPO
'================================================
On Error Resume Next
stPassword = WScript.Arguments.Item(0)
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objNetwork = CreateObject("Wscript.Network")
stCompName = objNetwork.ComputerName
if ChangePassword(stCompName,"administrator",stPassword) then
wshShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\SEC RET", stPassword
'WriteLog "Change password succeed"Else
WriteLog "Change password failed"
end if
Function ChangePassword(stComputer, stUser, stPassword)
Dim oUser
On Error Resume Next
Set ousEr = GetObject("WinNT://" & stComputer & "/" & stUser & ",user")
If Not IsObject(oUser) Then
WriteLog "could not retrieve user info"
ChangePassword = FALSE
Else
On Error Resume Next
oUser.setpassword 4444
If Err <> 0 Then
WriteLog Err.Description
ChangePassword = FALSE
Else
ChangePassword = TRUE
End If
End If
End Function
Sub WriteLog(log)
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:\resetadmin.log", ForAppending, True)
f.Writeline Date & ";" & Time & ";" & log
f.Close
End Sub
پسورد رو 4444 مي كنه كه مي تونيد هر چي مي خوايد بزاريد
آقای غرقی مطمئن باشید اشتباه می کنید. همانطور که inezarat نوشت، اگر Script به عنوان Startup Script بر روی Computer Configuration قرار گیرد، با سطح دسترسی کاربر System اجرا می شود و به سهولت می تواند رمز عبور کاربر Administrator کلاینت را تغییر دهد. تنها مشکل این روش همانی است که اشاره کردم، شما مجبورید رمز عبور را به صورت Clear Text در Script بنویسید و از آنجا که این Script برای همه کاربران قابل خواندن است، همه به سهولت می توانند محتویات آن را ببینند.
آقای غرقی، اگر فرض شما درست باشد که بدون مجوز کاربر معمولی نتوان هیچ کاری بر روی Client انجام داد که دیگر Domain و Active Directory را باید جمع کرد و در گنجه قرار داد!
ببینید، وقتی کامپیوتری در Domain عضو می شود، Policy هایش را از Domain به ارث می برد و با کمک همین Policy ها خیلی کارها را می توان انجام داد.
حال پیشنهاد من برای انجام چنین کاری، استفاده کردن از ابزارهای Batch Process است که بدون نیاز به ارسال Script به Client و در نتیجه بروز خطر لو رفتن رمز قرار داده شده در آن، از راه دور رمز عبور کاربر را تغییر دهند. خیلی از این نرم افزارها بدون نیاز به نصب هیچ گونه Agent ای بر روی Client می توانند کارهای مورد نظر را انجام دهند.
نرم افزاری که آقا رضا 802.1x معرفی کرد یکی از همین برنامه هاست.
ببینید این کارها فایده نداره.
اولا که عرض کردم فقط با اجرای برنامه یا اسکریپتی با اجازه یوزر هست.
دوما این کار اشتباه هست. یوزر میتونه یه admin دیگه ساخته باشه قبلا.
میتونه پسورد اونو ریست کنه.
من اگر جای یوزر باشم خیلی دستم به جایی بند نباشه هاردشو در میارم ضربه میزنم تا داغون بشه کامپیوترمو عوض کنن.
یا یه image میگیرم از هاردم توی هر بار بالا اومدن ویندوزم رو fresh میکنم.
حتی فکر کنم یه سری برنامه مثل deepfreez هم بتونن توی هر بار بالا اومدن ویندوز همه تنظیمات رو برگردونن.
دامین رو هم توی گنجه نمیزاریم. اما قدرت دامین رو تحت دامین میتونیم نشون بدیم.
شاهین جان،
این فرضیات شماست.
می توان صورت مسئله را تغییر داد و در نتیجه راه حل هم می بایست تغییر کند.
صورت مسئله تغییر رمز عبور Administrator تمامی Client ها بود که گفته شد.
حال نوشته شما را ببینیم:
1- گفتی که فقط با اجازه User امکان پذیر است، که پیشتر مشخص شد که اینطور نیست.
2- بله، ممکنه کاربر یه admin دیگه ساخته باشه، برای این هم راه حل وجود داره. ما می توانیم Script بنویسیم. پس می توانیم کارهایی که می خواهیم را انجام دهیم.
می توان با نوشتن یک Script و اجرای آن با همان سطح دسترسی قبل (توسط Startup Script) تمامی کاربران Local بغیر از Administrator را غیر فعال کرد.
حتی اگر احتمال تغییر نام دادن کاربر Administrator را بدهیم، می توان با نوشتن Script با استفاده از GUID، آن کاربر را پیدا کرد و مجددا به نام Administrator یا هر نام دیگری تغییر نام داد و ادامه بازی.
یا می توان با نوشتن یک Script تمامی کاربران را از گروه Administrators خارج کرد و فقط کاربر Administrator و گروه Domain Admins در آن گروه باقی بمانند.
اینها فقط چند مثال بودند که همین لحظه به ذهنم رسیدند. هر چقدر صورت مسئله پیچیده تر شود، راه حل ها هم باید دقیق تر و حساب شده تر باشد.
حال اگر در شبکه ای کاربران صرفا سطح دسترسی کاربر داشته باشند و به سیستم دسترسی کامل نداشته باشند، برگرداندن Image و استفاده از نرم افزارهایی نظیر Deep Freeze و یا دستکاری کردن Registry برای دور زدن Policy ها را باید فراموش کنند.
شاهین جان
این هایی که نوشتم و دهها و دهها روش دیگر، همه و همه ابزارهایی در دست مدیر شبکه هستند تا بتواند شبکه ای بزرگ با تعداد زیادی Client را با کمترین زمان و هزینه، به بهترین شکل ممکن مدیریت کند.