Fa یک مشکل در اجرای برنامه

سلام. خوب هستید.
مشکل در ویندوز 8 و 10
برنامه نوشته شده برای ساخت مپ نتورک درایو هستش. برنامم وقتی روش دوبار کلیک میکنم یک مپ میسازه و مشکلی نیستش اما وقتی ران از ادمینستور اجراش میکنم نمیسازه؟
جالبه دقیقا برعکسه. همه برنامه ها باید ادمین اجرا بشن تا کار بکنن این برعکسه
هرچقد فکر کردم عقلم به جایی نرسیدش کسی تجربه چنین مشکلی را داشته
 

the_king

مدیرکل انجمن
سلام. خوب هستید.
مشکل در ویندوز 8 و 10
برنامه نوشته شده برای ساخت مپ نتورک درایو هستش. برنامم وقتی روش دوبار کلیک میکنم یک مپ میسازه و مشکلی نیستش اما وقتی ران از ادمینستور اجراش میکنم نمیسازه؟
جالبه دقیقا برعکسه. همه برنامه ها باید ادمین اجرا بشن تا کار بکنن این برعکسه
هرچقد فکر کردم عقلم به جایی نرسیدش کسی تجربه چنین مشکلی را داشته
مشکل دقیقا اون چیزی نیست که فکر می کنید، مشکل در مپ کردن درایو در شبکه نیست، مشکل در اینه که از لحاظ امنیتی هر درایوی که مپ می کنید، صرفا توسط اکانتی قابل دسترسی است که سازنده اون درایو ئه. یعنی اکانت دیگری حتی اگر ادمین باشه هم نمیتونه بهش دسترسی داشته باشه. یعنی وقتی شما به عنوان ادمین این درایو رو میسازید، در بخش هایی از کدتان که به هر دلیلی توسط اکانت فعلی تان بجز administrator اجرا میشه قابل دسترسی نیست و برعکس درایوی که توسط اکانتی بجز administrator ساخته شده توسط اکانت administrator قابل دسترسی نیست. اینجا اینکه administrator دسترسی های بیشتری داره اهمیتی نداره. مشکل روال شما در اینه که بخشی اش توسط اکانت administrator اجرا میشه و بخشی اش توسط اکانت دیگری.
 
مشکل دقیقا اون چیزی نیست که فکر می کنید، مشکل در مپ کردن درایو در شبکه نیست، مشکل در اینه که از لحاظ امنیتی هر درایوی که مپ می کنید، صرفا توسط اکانتی قابل دسترسی است که سازنده اون درایو ئه. یعنی اکانت دیگری حتی اگر ادمین باشه هم نمیتونه بهش دسترسی داشته باشه. یعنی وقتی شما به عنوان ادمین این درایو رو میسازید، در بخش هایی از کدتان که به هر دلیلی توسط اکانت فعلی تان بجز administrator اجرا میشه قابل دسترسی نیست و برعکس درایوی که توسط اکانتی بجز administrator ساخته شده توسط اکانت administrator قابل دسترسی نیست. اینجا اینکه administrator دسترسی های بیشتری داره اهمیتی نداره. مشکل روال شما در اینه که بخشی اش توسط اکانت administrator اجرا میشه و بخشی اش توسط اکانت دیگری.
ممنون بخاطر پاسختون.
خب راهکار چیه الان؟
برنامه من برای اجرا باید ادمین اجرا بشه. خب طوری نوشتم که ادمین هم اجرا میشه و مشکلی هم نداره اما وقتی به بخش ساخت مپ میرسه عمل نمیکنه. یعنی مپ ساخته نمیشه. حالا حتی اگه فرض را بر این بگیریم که من به کاربر بگم خودت یه مپ بساز. یا اصلا یه برنامه جداگانه بنویسم برای ساخت مپ طوری که ادمین اجرا نشه باز هم مشکل هستش؟ چون در حالت دوم درسته که مپ ساخته میشه اما باز چون برنامه اصلی ادمین اجرا میشه نمیشناسدش.

نمیدونم خوب توضیح دادم یا نه؟ بذارید اینطوری بگم. الان من رفتم مای کامپیوتر و یه مپ درایو با نام Z ساختم. بعدش برنامم را اجرا کردم درایو Z را پیدا نمیکنه. حالا اگه برنامم ادمین اجرا نشه پیدا میکنه ولی حتما باید ادمین اجرا بشه.

جالبه که نوت پد را هم راست کلیک میکنم ران از ادمینستور اجراش میکنم بعدش فایل اوپن را میزنم میرم مای کامپیوتر درایو ساخته شده نیستش. اما نوت پد را معمولی اجرا میکنم و همین مراحل را طی میکنم درایو Z تو مای کامپیوتر هستش
 

the_king

مدیرکل انجمن
ممنون بخاطر پاسختون.
خب راهکار چیه الان؟
اگر امکانش هست اصلاح کدتون؛ و اگر نباشه هیچی. یک مثال ساده میزنم، شما برنامه ای می نویسید که فلان عملیات ها رو انجام میده، حالا ریز و با دقت می بینید که عملیات رو دقیقا چطور انجام میدهید، فرضا از دستور Run ئه MMB استفاده می کنید. این دستور Run خودش از یک پنجره Shell / Command Prompt استفاده می کنه، اما توسط کاربر Administrator نه، توسط کاربر فعلی اجرا میشه، که دست شما نیست، جزو ساختار MMB ئه. شما برنامه MMB تون رو توسط Administrator اجرا می کنید، ولی ممکنه MMB برای اجرا کردن فرمان Run چنین کاری رو نکنه، نه اینکه یقینا چنین باشه، مثال میزنم. ممکنه همچین مشکلی باشه.

جالبه که نوت پد را هم راست کلیک میکنم ران از ادمینستور اجراش میکنم بعدش فایل اوپن را میزنم میرم مای کامپیوتر درایو ساخته شده نیستش. اما نوت پد را معمولی اجرا میکنم و همین مراحل را طی میکنم درایو Z تو مای کامپیوتر هستش
جالب هم باشه بدیهی ئه، دو تا اکانت مجزا هستند، درایو مپ شده توسط اکانت کاربری دیگه ای رو نمی بینند. چه در Notepad باشه و چه هر جای دیگری از سیستم.
 
اگر امکانش هست اصلاح کدتون؛ و اگر نباشه هیچی. یک مثال ساده میزنم، شما برنامه ای می نویسید که فلان عملیات ها رو انجام میده، حالا ریز و با دقت می بینید که عملیات رو دقیقا چطور انجام میدهید، فرضا از دستور Run ئه MMB استفاده می کنید. این دستور Run خودش از یک پنجره Shell / Command Prompt استفاده می کنه، اما توسط کاربر Administrator نه، توسط کاربر فعلی اجرا میشه، که دست شما نیست، جزو ساختار MMB ئه. شما برنامه MMB تون رو توسط Administrator اجرا می کنید، ولی ممکنه MMB برای اجرا کردن فرمان Run چنین کاری رو نکنه، نه اینکه یقینا چنین باشه، مثال میزنم. ممکنه همچین مشکلی باشه.


جالب هم باشه بدیهی ئه، دو تا اکانت مجزا هستند، درایو مپ شده توسط اکانت کاربری دیگه ای رو نمی بینند. چه در Notepad باشه و چه هر جای دیگری از سیستم.
سلام دوباره.
متوجه منظورتون هستم ولی کمی گیج شدم. خب مگه الان من با ادمین داخل ویندوز نیستم؟ پس چرا درایوی که ادمین ساخته میشه نمیشناسه.
چندتا مقاله خوندم. نوشته بود کاربر درسته که ادمین وارد سیستم میشه ولی با اکانت ادمین استراتور فرق داره! در ادامه مقاله توضیح داده بود این دوتا شبیه هستن ولی یکی نیستن. یه فرمانی هم تحت داس معرفی کرده بود برای فعال کردن ادمین.
راستش چون زبانم تعریفی نداره نتونستم تو سایت ماکروسافت چیزی بفهمم.
دوستان کسی میتونه تفاوت ورود ادمین با فعال کردن ادمین استراتور در ویندوز را توضیح بده.
 

the_king

مدیرکل انجمن
سلام دوباره.
متوجه منظورتون هستم ولی کمی گیج شدم. خب مگه الان من با ادمین داخل ویندوز نیستم؟ پس چرا درایوی که ادمین ساخته میشه نمیشناسه.
درست متوجه نشدید، مشکل تفاوت دسترسی ها نیست، تفاوت کاربر ها است، وقتی میگید "من با اادمین داخل ویندوز هستم"، این ادمین بودن دسترسی ئه، مشکل دسترسی ادمین نیست، شما ممکنه در سیستم تون چند تا کاربر ادمین داشته باشید، با نام های کاربری متفاوت. هیچکدوم از این ادمین ها دسترسی به درایو مپ شده سایر کاربرهای ادمین و غیر ادمین ندارند. Run as administrator توسط کاربر ادمینی که شما باهاش لاگین کردید اجرا نمیشه، حالا چه کاربر تون دسترسی ادمین داشته باشه و چه نداشته باشه.
چندتا مقاله خوندم. نوشته بود کاربر درسته که ادمین وارد سیستم میشه ولی با اکانت ادمین استراتور فرق داره! در ادامه مقاله توضیح داده بود این دوتا شبیه هستن ولی یکی نیستن. یه فرمانی هم تحت داس معرفی کرده بود برای فعال کردن ادمین.
دقیقا همینطوره.

دوستان کسی میتونه تفاوت ورود ادمین با فعال کردن ادمین استراتور در ویندوز را توضیح بده.
خیلی ساده، شما یک کاربر ادمین دارید که موقع ساختن ویندوز ساخته اید و فرضا با نام behrouz که دسترسی های یک کاربر ادمین رو داره و باهاش لاگین می کنید. یک کاربر ادمین هم با نام administrator دارید که اکانت پیشفرض ویندوز ئه و اونم دسترسی یک کاربر ادمین رو داره و بصورت پیشفرض هم در هنگام لاگین مخفی شده. behrouz و administrator در میزان دسترسی ها تفاوتی ندارند، هر دو ادمین هستند، اما درایو های مپ شده همدیگه رو نمیبینند، دقیقا همانطور که هیچ دو اکانتی درایو های مپ شده همدیگه رو نمی بینند. تفاوت شون در اینه که دو تا اکانت متفاوت هستند. administrator و behrouz یک اکانت واحد نیستند.
 

جدیدترین ارسال ها

بالا