Σφάλμα "Δεν κατέχεται το δικαίωμα" με την εντολή "stop υπολογιστή" PowerShell και μεθόδων διαχείρισης ενέργειας στην κλάση Win32_OperatingSystem: λύση μετά Απριλίου 2017 ενημερωμένων εκδόσεων ασφαλείας από CVE-2017-0160

Σύνοψη

Αφού εφαρμόσετε τις ενημερωμένες εκδόσεις ασφαλείας Απριλίου 2017 που περιγράφεται στις οδηγίες της ενημερωμένης έκδοσης ασφαλείας της Microsoft CVE-2017-0160 , το PowerShell v3.0 + stop υπολογιστή εντολή αποτυγχάνει. Επιπλέον, εάν οι εφαρμογές χρησιμοποιούν μεθόδους διαχείρισης ενέργειας, όπως τον τερματισμό ή επανεκκίνηση του υπολογιστή, από την κλάση Win32_OperatingSystem και ορίστε το χαρακτηριστικό EnablePrivileges σε true, ενδέχεται να παρατηρήσετε την ίδια αποτυχία. Επιστρέφει ένα μήνυμα σφάλματος "Δεν κατέχεται το δικαίωμα".

Περισσότερες πληροφορίες

Συμπτώματα για θέμα 1

Οι πελάτες που προσπαθείτε να απενεργοποιήσετε ή να ξεκινήσετε πάλι το σύστημα, τοπικά ή απομακρυσμένα, χρησιμοποιώντας την εντολή διακοπής υπολογιστή σε PowerShell v3.0 και νεότερη έκδοση, θα δείτε το ακόλουθο μήνυμα λάθους:

Διακοπή υπολογιστή: δεν κατέχεται το δικαίωμα.

Στη γραμμή: 1 χαρακτήρας: 1

+ Διακοπή υπολογιστή

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

+ CategoryInfo: InvalidOperation: (< ΌΝΟΜΑ_ΥΠΟΛΟΓΙΣΤΉ >: συμβολοσειρά) [Stop-υπολογιστή] ManagementE

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

Λύση για το ζήτημα 1

Για να επιλύσετε αυτό το ζήτημα, εκτελέστε την ακόλουθη εντολή "shutdown.exe" για την εκτέλεση της ενέργειας προς τα κάτω και κάντε επανεκκίνηση λειτουργιών σε τοπικούς και απομακρυσμένους υπολογιστές:

το Shutdown.exe [-r] [-s] [-m \\computer]

Για περισσότερες πληροφορίες και εντολή Βοήθειας, εκτελέστε:

shutdown.exe -?

Συμπτώματα για θέμα 2

Πελάτη εφαρμογές χρησιμοποιώντας μεθόδους διαχείρισης ενέργειας, όπως τον τερματισμό ή επανεκκίνηση του υπολογιστή, από την κλάση Win32_OperatingSystem και ορίστε την ιδιότητα EnablePrivileges στην τιμή 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); } }

Λύση για το ζήτημα 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

Για το 4.6 Framework .NET ή 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 Framework ή 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 Framework ή 4.6.1, εγκαταστήστε την ενημέρωση 4020502

Για το .NET Framework 4.6.2, εγκαταστήστε την ενημέρωση 4020499

RTM των Windows 10

Εγκαταστήστε την ενημέρωση 4019474

Windows 10 έκδοση 1511

Εγκαταστήστε την ενημέρωση 4019473

Windows 10 έκδοση 1607 και 2016 διακομιστή των Windows

Εγκαταστήστε την ενημέρωση 4019472

Windows 10 έκδοση 1703

Εγκαταστήστε την ενημέρωση 4016871

Λύση για το Πρόβλημα 2

Για να επιλύσετε αυτό το ζήτημα, εγκαταστήστε την ενημερωμένη έκδοση στον παρακάτω πίνακα ανάλογα με το σύστημά σας.

Έκδοση προϊόντος

Προεπισκόπηση της συλλογής ενημερωμένων εκδόσεων ποιότητας KB

Η ενημερωμένη έκδοση των 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.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.

×