سؤال

لديّ جهاز كمبيوتر مع Windows Server 2003. يحتوي أحد الكمبيوتر على بعض المجلدات المشتركة على الشبكة ، والآخر لديه خدمة Windows (مكتوبة في C#، تعمل تحت حساب خدمة الشبكة) التي تحتاج إلى الوصول إلى تلك المجلدات المشتركة.

يعمل الرمز التالي بشكل جيد كمستخدم مسجل ، ولكنه يلقي استثناءً عند تنفيذه ضمن حساب خدمة الشبكة.

File.WriteAllText(@"C:\temp\temp.txt", File.ReadAllLines(@"\\NetworkServer\Test\test.txt")[0]);

رسالة الاستثناء Logon failure: unknown user name or bad password. كيف يمكنني تشغيل هذا الرمز تحت حساب خدمة الشبكة؟ هل هو إعداد في Windows Server 2003 ، أو هل أحتاج إلى إضافة بعض التعليمات البرمجية إلى هذا لجعله يعمل؟

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

المحلول

على مشاركة الشبكة ، ستحتاج إلى إضافة أذونات لحساب "خدمة الشبكة" على الخادم الذي يقوم بتشغيل الخدمة. على الرغم من أن هذا سيعمل ، فإن @Nicholas يشير إلى أن هذا قد يوفر مجموعة واسعة من المستخدمين وصولًا إلى المشاركة.

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

نصائح أخرى

إجابة nate إما غير صحيحة أو غير واضحة ، بقدر ما أستطيع أن أقول. لا يفسر كيف Network Service مصادقة على الشبكة.

Network Service يحتوي الحساب على امتيازات محدودة للغاية على نظام محلي ، ويعرض بيانات اعتماد أجهزة الكمبيوتر على الشبكة. لذلك إذا كنت بحاجة إلى الوصول إلى مورد الشبكة (مثل مشاركة الشبكة) تحت Network Service الحساب ، عليك منح الوصول إلى حساب الكمبيوتر حيث تعمل الخدمة.

توفير محلي Network Service الحساب مع الوصول إلى مورد الشبكة لن يعمل على الإطلاق ، سوف تستمر في الحصول على أخطاء المصادقة / التفويض.

يرى مرجع MDSN "حساب NetWorkservice".

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