إرسال الأوامر الإدارية لبلدي C # خدمة ويندوز باستخدام أوامر cmdlets بوويرشيل الخاصة

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

  •  04-07-2019
  •  | 
  •  

سؤال

ولدي تطبيق C # ويندوز الذي يدير الخدمة. أود أن الاستفادة PowerShell في أجل تقديم واجهة إدارة سطر الأوامر لإدارة خدمة بلدي التوالي.

من وجهة نظري، وأنا أحاول أن توفر نفس واجهة إدارية على غرار بورصة 2007.

هل لديكم أي اقتراح أو نموذج التعليمات البرمجية حول كيفية البدء / تصميم أوامر cmdlets إدارة من أجل "اتصال" إلى تشغيل خدمة الاستعلام أو إرسال الأوامر الإدارية؟

وكيف يمكنني الوصول إلى حالة وقت التشغيل الداخلية الخدمة من سطر الأوامر بوويرشيل؟ على سبيل المثال أود أن تنفيذ الأمر cmdlet دعا GET-ConnectionsInfo لمعرفة عدد الاتصالات الصادرة خدمتي ويندوز يستخدم عند تنفيذ الأمر cmdlet.

وهناك مثال عملي أو رابط موقع إلى مثال من شأنه أن يكون أكثر من موضع ترحيب.

وشكرا، روبرت

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

المحلول

والمفتاح هنا هو أن تبدأ من خلال ريتينغ API التي يمكنك الوصول إليها من صافي، ثم يمكنك بسهولة التفاف المكالمات إلى هذا API إلى DLL الذي يعرض الفئات التي هي أوامر cmdlets بوويرشيل. إذا كنت تريد شخص ما ليكون قادرا على إدارة الخدمة عن بعد ثم أعتقد ربما كان أفضل شيء هو خلق إما خدمة ويب أو خدمة WCF أن يفعل ذلك وبعد ذلك يمكنك لف أنه في بوويرشيل. إذا كان لديك نظرة على كود بلاكس سوف تجد بعض الأمثلة على الخدمات القائمة على إدارة عن بعد على شبكة الإنترنت مثل GoGrid وخدمات البيانات SQL التي سوف اعطيكم بعض نموذج التعليمات البرمجية للحصول على انك بدأته.

نصائح أخرى

والحل سيكون لخدمة ويندوز لفضح واجهة الإدارية من خلال صندوق رأس المال العامل. أن الأوامر بوويرشيل الخاص بك استخدام هذه الخدمة WCF لسحب المعلومات وتقديم خدمة Windows تنفيذ الإجراءات.

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

ولست متأكدا إذا كنت قادرا على ان اقول خدمتكم لتنفيذ إجراءات من خلال WMI ولكن كنت على الأقل أن تكون قادرة على سحب الدولة.

والبديل الثالث قد يكون لجعل خدمة Windows يكون <لأ href = "http://msdn.microsoft.com/en-us/library/cc136039(VS.85).aspx" يختلط = "نوفولو noreferrer "> محتوى بوويرشيل مزود . ولكن انا لم احضر نفسي واحد لذلك أنا لست متأكدا مما اذا كان انهم مناسبة لاستضافة في خدمة ويندوز، لأن الخدمة قد لا تكون قيد التشغيل في كل وقت.

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