ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้

ข้อผิดพลาด "ไม่ได้ถือสิทธิ์" ด้วยคำสั่ง "หยุดคอมพิวเตอร์" PowerShell และวิธีการจัดการพลังงานในคลา Win32_OperatingSystem: หลังเดือน 2017 เมษายนการแก้ปัญหาการปรับปรุงการรักษาความปลอดภัยจาก CVE-2017-0160

สรุป

หลังจากใช้การปรับปรุงความปลอดภัยเดือน 2017 เมษายนที่อธิบายไว้ในคำแนะนำการปรับปรุงความปลอดภัย Microsoft CVE-2017-0160 คำสั่งคอมพิวเตอร์หยุดv3.0 + ของ PowerShell ล้มเหลว นอกจากนี้ ถ้าโปรแกรมประยุกต์ใช้วิธีการจัดการพลังงาน เช่นปิดเครื่องหรือเริ่มระบบใหม่ จากคลาสWin32_OperatingSystemและตั้งค่าแอตทริบิวต์EnablePrivilegesให้เป็นจริง พวกเขาอาจพบความล้มเหลวเดียวกัน ข้อความข้อผิดพลาด "ไม่ได้ถือสิทธิ์" จะถูกส่งกลับ

ข้อมูลเพิ่มเติม

อาการสำหรับปัญหา 1

ลูกค้าที่พยายามปิด หรือเริ่มการทำงานของระบบ ท้องถิ่น หรือระยะ ไกล โดยใช้คำสั่งคอมพิวเตอร์หยุดPowerShell v3.0 และรุ่นที่ใหม่ กว่า จะเห็นข้อผิดพลาดต่อไปนี้:

คอมพิวเตอร์หยุด: สิทธิ์การใช้งานที่เก็บไว้ไม่

เมื่ออักขระบรรทัด: 1:1

คอมพิวเตอร์หยุด +

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

+ CategoryInfo: InvalidOperation: (< COMPUTERNAME >: สตริงที่) [หยุดคอมพิวเตอร์], ManagementE

+ FullyQualifiedErrorId: StopComputerException,Microsoft.PowerShell.Commands.StopComputerCommand

วิธีแก้ปัญหาสำหรับปัญหา 1

เมื่อต้องการหลีกเลี่ยงปัญหานี้ เรียกใช้คำสั่ง "shutdown.exe" ต่อไปนี้เพื่อดำเนินการเปิด/ปิดลง และเริ่มต้นการดำเนินการบนระบบระยะไกล หรือภายในเครื่อง:

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

สำหรับข้อมูลเพิ่มเติมและคำสั่งวิธีใช้ เรียกใช้:

shutdown.exe -?

อาการสำหรับปัญหา 2

ลูกค้า แอพลิเคชันโดยใช้วิธีการจัดการพลังงาน เช่นปิดเครื่องหรือเริ่มระบบใหม่ จากคลาสWin32_OperatingSystemและตั้งค่าแอตทริบิวต์EnablePrivilegesให้เป็นจริง อาจพบข้อผิดพลาดการ "สิทธิ์การใช้งานไม่ถือ" เดียวกัน

  • ตัวอย่างที่ 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); } }

วิธีแก้ปัญหาสำหรับปัญหา 2

  • ตัวอย่างที่ 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

สำหรับ 3.5 กรอบงาน.NET ติดตั้งอัพเด4020514

สำหรับการติดตั้ง.NET Framework 4.5.2 อัพเด4020505

สำหรับ 4.6 กรอบงาน.NET หรือ 4.6.1 การ ติดตั้งอัพเด4020502

สำหรับการติดตั้ง.NET Framework 4.6.2 การ ปรับปรุง4020499

Windows 10 rtm

ติดตั้งอัพเด4019474

Windows 10 เวอร์ชัน 1511

ติดตั้งอัพเด4019473

10 Windows เวอร์ชัน 1607 และ Windows Server 2016

ติดตั้งอัพเด4019472

10 Windows เวอร์ชัน 1703

ติดตั้งอัพเด4016871

วิธีแก้ไขปัญหาสำหรับปัญหา 2

เมื่อต้องการแก้ไขปัญหานี้ ติดตั้งการปรับปรุงในตารางข้างล่างตามระบบของคุณ

รุ่นผลิตภัณฑ์

แสดงตัวอย่างของค่าสะสมคุณภาพกิโลไบต์

การปรับปรุง Windows 10 1703 (RS2)
เซิร์ฟเวอร์ของ Windows 2016

แค็ตตาล็อก
4034674

.NET framework 3.5

แค็ตตาล็อก
4038788

.NET framework 4.7

4034674

การปรับปรุง Windows 10 1607
เซิร์ฟเวอร์ของ Windows 2016


 

.NET framework 3.5

Catalog
4034661

.NET framework 4.6.2 การและ 4.7

Catalog
4034658

Windows 8.1
Windows RT 8.1
Windows 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 และรุ่นที่ใหม่กว่า

 

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Microsoft Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×