نصب نشدن نرم افزار با فرمت EXE با اسکریپ از طریق پالیسی
با سلام خدمت اساتید و دوستان گرامی
قصد دارم برای مثال نرم افزار foxitreader را از طریق اجرای script و در پالیسی بر روی کلاینتها ( هنگام استارت شدن سیستم کاربر ) نصب کنم.(سرور 2016 می باشد)
که برای این کار راه های زیر را انجام دادم
copmputer configuration==>windows setting==>scripts==>startup==>show files==>past script file.BAT
سپس
Add==>Browse==>select Script file.BAT
بچ فایل نصب foxit reader هم از سایت خودش گرفتم که در حالت معمولی با کلیک بر روی آن اجرا و نصب می شود
ضمنا فایل نصب(exe) ،share شده و در اسکریپ هم ادرس مکانی ان در سرور آورده شده است
@Echo Foxit Reader Silent Install
start /wait \\DC-2016\share\FoxitReader.v9.3.0.exe /ForceInstall /VERYSILENT DESKTOP_SHORTCUT="0" MAKEDEFAULT="0" VIEWINBROWSER="0" LAUNCHCHECKDEFAULT="0" AUTO_UPDATE="0" /passive /norestart
@Echo Done
با روش پیشنهادی مایکروسافت(که فایل اسکریپت داخل فولدر netlogon گذاشته شود) نرم افزار بر روی کلاینتها نصب می شود
اما از طریق روش من ( ذکر شده در بالا) هیچ نصبی انجام نمی شود
یعنی فقط پوشه netlogon برای اجرای اسکریپت است؟
چرا با انتخاب بچ فایل در مسیر فولدر اصلی پالیسی که در sysvol برای این آیتم ساخته می شود اجرا نمی شود
c:\windows\SYSVOL\sysvol\domain name\policies\.............\Machine\Scripts\Startup
ممنون میشم مشکل را بفرمایید.
4 پاسخ
یک سوال دیگه
در حال حاضر ، از سیستم کلاینت میشه به پوشه sysvol و پالیسیها دسترسی داشت و مثلا میتونه اون بچ فایل را ادیت و فقط محتواشو ببینه
این از لحاظ امنیتی درسته؟
چطوری میشه جلوی دسترسیشو به پالیسیها گرفت
چون من اگه بخوام از طریق بچ فایل و با فرمت vbs طبق دستور زیر پسورد لوکال ادمین را بر روی کلاینتها فعال کنم هر یوزری یک کم بلد باشه میتونه اون فایل را ویرایش و محتواشو که پسورد داخلشه ببینه
Set WshNetwork = WScript.CreateObject("WScript.Network")
strComputer = "."
Set objUser = GetObject("WinNT://" & strComputer & "/Administrator,user")
objUser.SetPassword " " ' Enter new password between brackets
objUser.SetInfo
راه کارش چیه؟
لطفا پست رو به عنوان جواب انتخاب کنید و سئوال های جدیدتون رو در قالب پست های جداگانه مطرح کنید. متشکرم
خیلی ممنون
اوکی شد
نسخه سرور 2016
فقط یک سرور است
و در حال حاضر به صورت لابراتورای(ورکستیشن) مشغول تستم
سیستم عامل کلاینتها : ویندوز 7
طبق فرمایشتون گروه Domain Computers رو به قسمت Share Permissions و Security Permissions اضافه کردم و نرم افزار روی سرور و کلاینت نصب شد
فقط چرا دستور gpresult /scope:computer /h c:\report.html روی کلاینت access denied میده
دستور gpupdate /force رو روی کلاینت ها اجرا می کنید ؟ و بعدش سیستم رو Restart می کنید ؟
سیستم عامل کلاینت ها چی هست ؟ اگه 8 و 10 هست 5 دقیقه با تاخیر Policy ها اعمال میشه که میتونید این مدت زمان رو تغییر بدید.
چند تا دامین کنترلر تو شبکه دارید ؟ نسخه ویندوز سرور ها چیه ؟
در وهله اول مطمئن بشید که ساعت و تاریخ سیستم های کلاینت با DC هماهنگ است و لینک GPO بصورت Enabled قرار داره. ضمنا مطمئن بشید که کلاینت ها میتونن DC رو با اسم Ping کنند و خروجی دستور NSLookup DC_NAME به درستی نشون داده میشه و بصورت Unknown نیست.
در وهله دوم از سالم بودن DC مطمئن بشید. از ابزار DCDiag و یا BPA میتونید استفاده کنید.
گروه SYSTEM رو به قسمت NTFS Permissions اون Shared Folder که توش فایل نصبی نرم افزار قرار داره اضافه کردید ؟ گروه Domain Computers رو هم به قسمت Share Permissions و Security Permissions اضافه کنید و مجددا تست کنید.
روی سیستمی که Policy روش اعمال نمیشه دستور زیر رو اجرا کنید :
gpresult /scope:computer /h c:\report.html
خروجی فایل report.html رو چک کنید و مطمئن بشید که GPO ای که Startup script هست روی اون سیستم اعمال شده. از درست بودن اسم و Path فایل هم اطمینان حاصل کنید.
در ضمن حتما دقت کنید که پارامتر ها رو به درستی وارد کنید توی Batch file اگه برای مثال یه حرف جابیفته یا یه اسلش به درستی وارد نشده باشه Policy به درستی عمل نمی کنه.
در آخر پیشنهاد می کنم به نکاتی که در این لینک عنوان شده مراجعه کنید و هر سئوالی داشتید در این خصوص حتما مطرحش کنید : معرفی مهم ترین نکات Group Policy Troubleshooting