Zusammenfassung

Nachdem Sie die im Microsoft-Leitfaden für Sicherheitsupdates CVE-2017-0160 beschriebenen Sicherheitsupdates vom April 2017 angewendet haben, schlägt der PowerShell v3.0+-Befehl stop-computer fehl. Wenn darüber hinaus Anwendungen Energieverwaltungsmethoden wie beispielsweise Herunterfahren oder Neustart in der Win32_OperatingSystem-Klasse verwenden und das EnablePrivileges-Attribute auf „True“ festgelegt wird, wird möglicherweise dieselbe Fehlermeldung angezeigt. Die Fehlermeldung „Berechtigung wurde aufgehoben“ wird angezeigt.

Weitere Informationen

Problembeschreibung für Problem 1

Kunden, die versuchen, ein lokales System oder ein Remotesystem mithilfe des Befehls stop-computer in PowerShell v3.0 und höher auszuschalten oder neu zu starten, wird folgende Fehlermeldung angezeigt:

stop-computer : Privilege not held.

At line:1 char:1

+ stop-computer

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

+ CategoryInfo : InvalidOperation: (<COMPUTERNAME>:String) [Stop-Computer], ManagementE

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

Problemumgehung für Problem 1

Um dieses Problem zu umgehen, führen Sie den folgenden Befehl “shutdown.exe” aus, um Ausschalt- und Neustartvorgänge für lokale Systeme oder Remotesysteme durchzuführen:

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

Führen Sie folgenden Befehl aus, um weitere Informationen und Hilfe zu diesem Befehl zu erhalten:

shutdown.exe -?

Problembeschreibung für Problem 2

Kundenanwendungen, die Energieverwaltungsmethoden wie beispielsweise Herunterfahren oder Neustart in der Win32_OperatingSystem-Klasse verwenden und für die das EnablePrivileges-Attribute auf „True“ festgelegt wird, wird möglicherweise dieselbe Fehlermeldung „Berechtigung wurde aufgehoben“ angezeigt.

  • Beispiel 1 (PowerShell) gibt die Fehlermeldung „Berechtigung wurde aufgehoben“ zurück:   $computername= "." $win32OS = get-wmiobject win32_operatingsystem -computername $computername $win32OS.psbase.Scope.Options.EnablePrivileges = $true $win32OS.reboot()

    • Beispiel 2 (C#-Code) gibt die Fehlermeldung „Berechtigung wurde aufgehoben“ zurück:   [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); } }

Problemumgehung für Problem 2

  • Für Beispiel 1 (PowerShell):   $computername= "." $win32OS = get-wmiobject win32_operatingsystem -computername $computername -EnableAllPrivileges $win32OS.reboot()

  • Für Beispiel 2 (C#-Code):   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"]); } } } }

Lösung

Lösung für Problem 1

Um dieses Problem zu beheben, installieren Sie das Update für Ihr System nach der folgenden Tabelle.

Betriebssystem

Update

Windows Server 2008

Für .NET Framework 2.0 installieren Sie das Update 4020511

Für .NET Framework 4.5.2 installieren Sie das Update 4020507

Für .NET Framework 4.6 installieren Sie das Update 4020503

Windows 7 und Windows Server 2008 R2

Für .NET Framework 3.5.1 installieren Sie das Update 4020513

Für .NET Framework 4.5.2 installieren Sie das Update 4020507

Für .NET Framework 4.6 oder 4.6.1 installieren Sie das Update 4020503

Für .NET Framework 4.6.2 installieren Sie das Update 4020500

Windows Server 2012

Für .NET Framework 3.5 installieren Sie das Update 4020512

Für .NET Framework 4.5.2 installieren Sie das Update 4020506

Für .NET Framework 4.6 oder 4.6.1 installieren Sie das Update 4020501

Für .NET Framework 4.6.2 installieren Sie das Update 4020498

Windows 8.1 und Windows Server 2012 R2

Für .NET Framework 3.5 installieren Sie das Update 4020514

Für .NET Framework 4.5.2 installieren Sie das Update 4020505

Für .NET Framework 4.6 oder 4.6.1 installieren Sie das Update 4020502

Für .NET Framework 4.6.2 installieren Sie das Update 4020499

Windows 10 RTM

Installieren von Update 4019474

Windows 10 Version 1511

Installieren von Update 4019473

Windows 10 Version 1607 und Windows Server 2016

Installieren von Update 4019472

Windows 10 Version 1703

Installieren von Update 4016871

Lösung für Problem 2

Um dieses Problem zu beheben, installieren Sie das Update für Ihr System nach der folgenden Tabelle.

Produktversion

KB-Artikel mit Vorschau des Qualitätsrollups

Windows 10 Update 1703 (RS2) Windows Server 2016

Katalog 4034674

.NET Framework 4.7

4034674

Windows 10 Update 1607 Windows Server 2016

 

.NET Framework 3.5

Katalog 4034661

.NET Framework 4.6.2 und 4.7

Katalog 4034658

Windows 8.1 Windows RT 8.1 Windows Server 2012 R2

Katalog 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

Katalog 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

Katalog 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

Katalog 4035039

.NET Framework 2.0

4033994

.NET Framework 4.5.2

4033993

.NET Framework 4.6

4033990

Hinweis Ein Update von .NET Framework 3.5 für Windows 10 Version 1703 ist für einen späteren Zeitpunkt geplant.

Die Informationen in diesem Artikel beziehen sich auf

Die Informationen in diesem Artikel beziehen sich auf die folgenden Produkte gemäß der Beschreibung im Abschnitt Betroffene Produkte in CVE-2017-0160:

Microsoft .NET Framework 2.0, 3.5, 4.5.2, 4.6, 4.6.1, 4.6.2 und 4.7 unter allen unterstützten Windows-Versionen mit PowerShell 3.0 und höheren Versionen.

 

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.