سؤال

هو على أي حال لاختبار صحة نص PowerShell دون تنفيذها. أعلم أنك تستطيع أن تفعل شيئا مشابها في UNIX، ولكن لا يمكن العثور على EquiV for PowerShell.

أساسا ما لدي هو مستودع سيناريو، حيث يتم ربط كل نص البرنامج النصي بالحكم. في حالة قيام القاعدة، ينفذ البرنامج النصي، لكنني بحاجة إلى أن أكون متأكدا من البرنامج النصي صالحا قبل وضعه في المستودع.

شكرا.

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

أعتقد أن الطريقة للقيام بذلك هي استخدام هذا، وهو V2 ليب.

http://msdn.microsoft.com/en-us/library/system.management.utomation.parseException(Vs.85).aspx.

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

شكرا.

مهلا، حسنا، لقد تحدثت إلى رجل في مرض التصلب العصبي المتعدد (وهو SharePoint PM) وتحدث إلى أحد رجال PowerShell، وأبلغني أنه لا توجد طريقة حقيقية في PowerShell V1 للتحقق من بناء جملة البرنامج النصي دون تنفيذها. لذلك أعتقد أن العلم -Whatif هو الأقرب، لكن ليس مدققا ثابتا لسوء الحظ. الأخبار الجيدة هي، في V2 هناك طريقة لإمكانية تجميل دفق الإدخال، عبر فئة Automation.psinger، قمزة سيؤدي ذلك إلى تزيين البرنامج النصي وفقا ل Grams PS، لذلك إذا قام بتخفيضات، فإن البرنامج النصي الخاص بالحماء. السؤال هو V2 ليس لديه تاريخ الإصدار حتى الآن.

شكرا للمساعدة. بوب.

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

المحلول

الشيء الذي تريده هو prolly Whatif / تأكيد. وبعد ميناء المباشر من عالم يونيكس.

نصائح أخرى

إذن، هل تسأل عن صحة وظيفية أو صحة سليمة؟

وظيفيا، كنت بحاجة إلى إنشاء حالة اختبار وبيئة لاختبارها.

بناء على النحوي الذي تبحث عنه مدقق رمز ثابت ل PowerShell.

العديد من أوامر Powershell تقدم -ماذا إذا معامل.

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

إذا كنت تقصد شيئا مثل فحص بناء جملة بيرل، فلا يوجد أي مكافئ دقيق لبرنامج نصي PowerShell، مع PowerShell V1. لست متأكدا من وجود أي شيء في V2 لذلك أيضا.

الوصف الذي تقدمه يجعله يبدو وكأنك تريد شيئا أكثر من مجرد بناء جملة / "ستجري تشغيل" نوع ". مثل jjohannes روسيل يقول، وهذا ليس تافهة ومحددة للغاية لما تفعله.

الأساليب السابقة المذكورة السابقة "Whatif / تأكيد" في إجابات أخرى تعمل فقط من أجل PowerShell CMDlets، وليس البرامج النصية. أنها تظهر ما سيفعله cmdlet، وليس فحص بناء الجملة.

جوامع

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