ملخص

بعد تطبيق التحديثات الأمنية 2017 أبريل الموصوفة في الإرشادات تحديث أمان Microsoft CVE 2017 0160 ، يفشل الأمر إيقاف الكمبيوتر v3.0 + PowerShell. بالإضافة إلى ذلك، إذا كانت التطبيقات تستخدم أساليب إدارة الطاقة، مثل إيقاف التشغيل أو إعادة التشغيل، من فئة Win32_OperatingSystem وتعيين السمة انابليبريفيليجيس إلى true، قد تلاحظ فشل نفس. يتم إرجاع رسالة خطأ "امتياز غير موجود".

مزيد من المعلومات

أعراض للمشكلة الأولى

العملاء الذين قاموا بمحاولة إيقاف تشغيل أو إعادة تشغيل نظام محلي أو بعيد، باستخدام الأمر إيقاف الكمبيوتر PowerShell v3.0 أو الأحدث، سترى الخطأ التالي:

توقف الكمبيوتر: الامتياز غير موجود.

في السطر: 1 char: 1

+ إيقاف الكمبيوتر

+ ~~~~~~~~~~~~~

+ كاتيجوريينفو: إينفاليدوبيريشن: (< COMPUTERNAME >: سلسلة) [توقف كمبيوتر]، ماناجيمنت

+ فوليقواليفيديروريد: StopComputerException,Microsoft.PowerShell.Commands.StopComputerCommand

حل بديل للمشكلة الأولى

للتغلب على هذه المشكلة، بتشغيل الأمر "shutdown.exe" التالية لتنفيذ السلطة لأسفل وإعادة تشغيل العمليات في الأنظمة المحلية أو البعيدة:

shutdown.exe [-r] [-s] [-m \\computer]

لمزيد من المعلومات والأمر تعليمات، تشغيل:

shutdown.exe -?

أعراض للمشكلة الثانية

العميل تطبيقات استخدام أساليب إدارة الطاقة، مثل إيقاف التشغيل أو إعادة التشغيل، من فئة Win32_OperatingSystem وتعيين سمة انابليبريفيليجيس إلى true، قد تلاحظ نفس الخطأ "غير عقد الامتياز".

  • مثال 1 (PowerShell) بإرجاع الخطأ "الامتياز غير موجود":   $computername= "." $win32OS = get-wmiobject win32_operatingsystem -computername $computername $win32OS.psbase.Scope.Options.EnablePrivileges = $true $win32OS.reboot()

    • مثال 2 (C# البرمجية) بإرجاع الخطأ "الامتياز غير موجود":   [STAThread] static void Main(string[] args) { ManagementClass mgmtObject = new ManagementClass("Win32_OperatingSystem"); foreach (ManagementObject iterMgmtObject in mgmtObject.GetInstances()) { iterMgmtObject.Scope.Options.EnablePrivileges = true; iterMgmtObject.InvokeMethod("Reboot", null, null); } }

حل بديل للمشكلة الثانية

  • على سبيل المثال 1 (PowerShell):   $computername= "." $win32OS = get-wmiobject win32_operatingsystem -computername $computername -EnableAllPrivileges $win32OS.reboot()

  • على سبيل المثال 2 (رمز C#):   using System; using System.Collections.Generic; using System.Linq; using System.Management; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { public class Program { static void Main(string[] args) { var mgmtScope = new ManagementScope( ManagementPath.DefaultPath, new ConnectionOptions() { EnablePrivileges = true }); var mgmtClass = new ManagementClass(mgmtScope, new ManagementPath("Win32_OperatingSystem"), null); foreach (ManagementObject mgmtInst in mgmtClass.GetInstances()) { var mgmtCallResult = mgmtInst.InvokeMethod("Reboot", null, null); Console.Out.WriteLine("Reboot() Return Value: {0}", mgmtCallResult["ReturnValue"]); } } } }

الحل

حل مشكلة 1

لحل هذه المشكلة، تثبيت التحديث في الجدول أدناه وفقا للنظام الخاص بك.

نظام التشغيل

التحديث

نظام التشغيل Windows Server 2008

.NET Framework 2.0، قم بتثبيت التحديث 4020511

.NET Framework 4.5.2، قم بتثبيت التحديث 4020507

.NET Framework 4، 6، تثبيت التحديث 4020503

Windows 7 وWindows Server 2008 R2

تحديث لتثبيت.NET Framework 3.5.1، 4020513

تحديث لتثبيت.NET Framework 4.5.2، 4020507

.NET Framework 4، 6 أو 4.6.1، تثبيت التحديث 4020503

تحديث لتثبيت.NET Framework 4.6.2، 4020500

Windows Server 2012

.NET Framework 3.5، تثبيت التحديث 4020512

تحديث لتثبيت.NET Framework 4.5.2، 4020506

4.6 إطار عمل.NET أو 4.6.1، تثبيت تحديث 4020501

تحديث لتثبيت.NET Framework 4.6.2، 4020498

Windows 8.1 و Windows Server 2012 R2

تحديث لبرنامج.NET Framework 3.5، تثبيت 4020514

تحديث لتثبيت.NET Framework 4.5.2، 4020505

4.6 إطار عمل.NET أو 4.6.1، تثبيت تحديث 4020502

تحديث لتثبيت.NET Framework 4.6.2، 4020499

الموائد المستديرة ويندوز 10

تثبيت تحديث 4019474

10 Windows الإصدار رقم 1511

تثبيت تحديث 4019473

10 Windows الإصدار 1607 و Windows Server 2016

تثبيت تحديث 4019472

10 Windows الإصدار 1703

تثبيت تحديث 4016871

حل مشكلة 2

لحل هذه المشكلة، تثبيت التحديث في الجدول أدناه وفقا للنظام الخاص بك.

إصدار المنتج

معاينة نوعية الإظهار ك. بايت

تحديث Windows 10 1703 (RS2) Windows Server 2016

النشرة المصورة 4034674

.NET framework 3.5

النشرة المصورة 4038788

.NET framework 4، 7

4034674

تحديث Windows 10 1607 Windows Server 2016

 

.NET framework 3.5

Catalog 4034661

.NET framework 4.6.2 و 4-7

Catalog 4034658

Windows 8.1 Windows RT 8.1Windows Server 2012 R2

Catalog 4035038

.NET framework 3.5

4033997

.NET framework 4.5.2

4033991

.NET framework 4، 6، 4.6.1، 4.6.2، 4.7

4033989

Windows Server 2012

Catalog 4035037

.NET framework 3.5

4033995

.NET framework 4.5.2

4033992

.NET framework 4، 6، 4.6.1، 4.6.2، 4.7

4033988

Windows 7 Windows Server 2008 R2

Catalog 4035036

.NET framework 3.5.1

4033996

.NET framework 4.5.2

4033993

.NET framework 4، 6، 4.6.1، 4.6.2، 4.7

4033990

نظام التشغيل Windows Server 2008

Catalog 4035039

.NET framework 2.0

4033994

.NET framework 4.5.2

4033993

.NET framework 4، 6

4033990

تطبيق على

تنطبق هذه المقالة على المنتجات التالية، كما هو موضح في قسم المنتجات المتأثرة من CVE 2017 0160:

Microsoft.NET Framework 2.0، 3.5 بوصة، 4.5.2 4.6، 4.6.1، 4.6.2، 4.7 على كافة الإصدارات المعتمدة من Windows PowerShell 3.0 والإصدارات الأحدث بتشغيله.

 

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.