للتنفيذ بدأت خدمة windows باستخدام حساب النظام المحلي لا يمكن الوصول إلى مشاركات الشبكة

StackOverflow https://stackoverflow.com/questions/249928

سؤال

لقد قابل للتنفيذ التي يتم بدء تشغيل خدمة windows هذا البرنامج سيتم تشغيل على العملاء آلة وسوف تحتاج إلى الاتصال إلى مشاركة بعيدة لأداء مهمة معينة.هذه الحصة المحددة من قبل العميل عن طريق واجهة المستخدم, لذلك نحن لا نعرف هذا مسبقا بمعنى أنه لا يمكن أن يكون "ترميز-الثابت" ، أو حصة تعيينها مسبقا.

في السابق كنا المطلوبة من العميل تسجيل الدخول إلى الجهاز وتشغيل الملف القابل للتنفيذ على تسجيل الدخول ، ولكن علينا دائما تريد أن تسمح لدينا برنامج لتشغيل ضمن الخدمة لا تتطلب الدخول في المقام الأول إلى جعل من السهل على العملاء ومنع أي قبيل الصدفة سجل الرافضة إيقاف برنامجنا.لذلك هذا يعني أيضا أننا لا نعرف ماذا المحلية حسابات المستخدمين الموجودة على العملاء آلة, لذلك علينا أن نبدأ الخدمة باستخدام حساب النظام المحلي.

لدينا الآن, كما ذكر أعلاه, مجمع خدمة بدء تنفيذ و أداء المهام المختلفة.ويبدو أن تعمل بشكل جيد في معظم الحالات بالوصول إلى الشبكة الأساسية غرامة برنامجنا الغرض أساسا ينطوي على التقاط الحزم.... الخ

ومع ذلك عندما البرنامج يحاول الاتصال إلى مشاركة ويندوز (UNC اسم) فإنه لا يمكن الاتصال.في حين إذا القابل للتنفيذ بدأ يدويا أنه يربط ما يرام.

اقتراحات لدي ينظر عموما إلى حل هذا النوع من المسائل يبدو أن كل قول استخدام حساب المستخدم حساب النظام لا يمكن الوصول إلى شبكة سهم ، ولكن في حالتنا هذه لم يكن ممكنا.هل هناك أي طريقة أخرى يمكن أن نحصل على هذا العمل ؟

تحرير:نسيت أن أذكر أن هذا التطبيق يمكن (و الأكثر شيوعا سوف يكون) تعمل على Win2K ليس XP و أعتقد أنني على حق في القول بأن الشبكة المحلية الحساب غير متوفر قبل XP ؟

هل كانت مفيدة؟

المحلول

إذا كان يمكنك تغيير إعدادات ويندوز الخدمة بحيث يتم تشغيلها ضمن حساب "خدمة الشبكة" ، ثم القابلة للتنفيذ الخاص بك سوف تكون قادرة على الوصول إلى شبكة سهم (وهذا هو أحد الأسباب لماذا حساب "خدمة الشبكة" تم إنشاؤها).

النظام المحلي والمحلية حسابات الخدمة لا تملك أي بيانات اعتماد الشبكة ، وبالتالي لا يمكن المصادقة على الشبكة.هذا هو حسب التصميم.

تحرير: IIRC, حساب "خدمة الشبكة" تم تقديمها في Server 2003 إضافة إلى واحدة من XP حزم الخدمة.

إذا كنت لا تستطيع الاعتماد على حساب "خدمة الشبكة" المتاحة ، فإنك قد تنظر في إنشاء مخصص حساب المجال, تخزين بيانات اعتماد حساب في مكان ما في قراءتها من داخل الخدمة ، ثم امكانية متسعة للتسجيل في وانتحال أن المستخدم قبل الوصول إلى مشاركة شبكة الاتصال.بدلا من ذلك, خدمة windows يمكن تشغيل حساب مخصص مباشرة ، وفي هذه الحالة يتطلب "تسجيل الدخول كخدمة" امتياز.

نصائح أخرى

عندما يكون لديك الخدمة التي تعمل تحت NT AUTHORITY\محلي (وهو اسم حساب الخدمة) ، يبدو كما DOMAINNAME\COMPUTERNAME$ (لاحظ علامة$) حساب بقية الشبكة.أي أنه يظهر في الكمبيوتر حساب في "Active directory".فقط منحة الملف أذونات المشاركة إلى DOMAINNAME\COMPUTERNAME$ و يجب أن تكون جيدة.

لماذا لا يمكنك استخدام حساب آخر ؟ هناك حساب "خدمة الشبكة" المضمنة في ويندوز ، خصيصا الخدمات التي تحتاج الوصول إلى الشبكة.

على أي حال, كن حذرا جدا عند وجود خدمة بدء تشغيل exe.

إذا كان وصول الكتابة إلى مجلد exe لا يتم تعطيل, يمكن للمستخدم استبدال هذا exe مع (على سبيل المثال) cmd.exe.في المرة التالية التي يحاول خدمة بدء تشغيل exe الخاص بك, تفضل:قذيفة القيادة مع نظام حقوق!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top