Souhrn

Po instalaci aktualizace zabezpečení duben 2017 popsaných v zásadách aktualizace zabezpečení společnosti Microsoft CVE-2017-0160 , že PowerShell v3.0 + zastavení počítače se příkaz nezdaří. Navíc pokud aplikace použijte metody správy napájení, jako je například vypnutí nebo restartování počítače ze třídy Win32_OperatingSystem , nastavte atribut EnablePrivileges na hodnotu true může sledují stejné chyby. Je vrácena chybová zpráva "Oprávnění není uděleno".

Další informace

Příznaky problému 1

Zákazníci, kteří pokusu o vypnutí nebo restartování systému, místní nebo vzdálené, pomocí příkazu stop počítače v prostředí PowerShell verze 3.0 a novější, zobrazí následující chybová zpráva:

zastavení počítače: není držitel oprávnění.

Na řádku: 1 char: 1

+ počítače stop

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

+ CategoryInfo: InvalidOperation: (< název_počítače >: řetězec) [Stop počítač] ManagementE

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

Řešení pro problém 1

Chcete-li tento problém vyřešit, spusťte následující příkaz "shutdown.exe" k provedení napájení dolů a restartování operace v místním nebo vzdáleném systému:

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

Další informace a příkaz nápovědy, spusťte:

shutdown.exe -?

Příznaky problému 2

Zákazník aplikace pomocí metody správy napájení, jako je například vypnutí nebo restartování počítače ze třídy Win32_OperatingSystem a nastavte atribut EnablePrivileges na hodnotu true, může sledovat stejná chyba "Oprávnění nejsou uchovávány".

  • Příklad 1 (PowerShell) vrátí chybu "Oprávnění není uděleno":
      $computername= "." $win32OS = get-wmiobject win32_operatingsystem -computername $computername $win32OS.psbase.Scope.Options.EnablePrivileges = $true $win32OS.reboot()

    • Příklad 2 (kód jazyka C#) vrátí chybu "Oprávnění není uděleno":
        [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); } }

Řešení pro problém 2

  • Pro příklad 1 (PowerShell):
      $computername= "." $win32OS = get-wmiobject win32_operatingsystem -computername $computername -EnableAllPrivileges $win32OS.reboot()

  • Příklad 2 (kód jazyka 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"]); } } } }

Řešení

Řešení pro problém 1

Chcete-li vyřešit tento problém, nainstalujte aktualizaci v tabulce níže podle systému.

Operační systém

Aktualizace

Windows Server 2008

Pro rozhraní.NET Framework 2.0, nainstalujte aktualizaci 4020511

Pro rozhraní.NET Framework 4.5.2, nainstalujte aktualizaci 4020507

Pro rozhraní.NET Framework 4.6, instalaci aktualizace 4020503

Windows 7 a Windows Server 2008 R2

Pro rozhraní.NET Framework 3.5.1 Nainstalujte aktualizaci 4020513

Pro rozhraní.NET Framework 4.5.2 nainstalujte aktualizaci 4020507

Pro rozhraní.NET Framework 4.6 nebo 4.6.1, nainstalujte aktualizaci 4020503

Pro rozhraní.NET Framework 4.6.2 nainstalujte aktualizaci 4020500

Windows Server 2012

Pro rozhraní.NET Framework 3.5, nainstalujte aktualizaci 4020512

Pro rozhraní.NET Framework 4.5.2 nainstalujte aktualizaci 4020506

Rozhraní.NET Framework 4.6 nebo 4.6.1 Nainstalujte aktualizaci 4020501

Pro rozhraní.NET Framework 4.6.2 nainstalujte aktualizaci 4020498

Windows 8.1 a Windows Server 2012 R2

Rozhraní.NET Framework 3.5 instalace aktualizace 4020514

Pro rozhraní.NET Framework 4.5.2 nainstalujte aktualizaci 4020505

Rozhraní.NET Framework 4.6 nebo 4.6.1 Nainstalujte aktualizaci 4020502

Pro rozhraní.NET Framework 4.6.2 nainstalujte aktualizaci 4020499

Windows 10 RTM

Nainstalujte aktualizaci 4019474

Windows 10 verze 1511

Nainstalujte aktualizaci 4019473

Windows 10 verze 1607 a Windows Server 2016

Nainstalujte aktualizaci 4019472

Windows 10 verze 1703

Nainstalujte aktualizaci 4016871

Řešení pro problém 2

Chcete-li vyřešit tento problém, nainstalujte aktualizaci v tabulce níže podle systému.

Verze produktu

Náhled kvality kumulativní KB

Aktualizace systému Windows 10 1703 (RS2)
Windows Server 2016

Katalog
4034674

Rozhraní.NET Framework 3.5

Katalog
4038788

Rozhraní.NET Framework 4.7

4034674

Aktualizace systému Windows 10 1607
Windows Server 2016


 

Rozhraní.NET Framework 3.5

Catalog
4034661

Rozhraní.NET Framework 4.6.2 a 4.7

Catalog
4034658

Windows 8.1
Windows RT 8.1
Windows Server 2012 R2

Catalog
4035038

Rozhraní.NET Framework 3.5

4033997

Rozhraní.NET Framework 4.5.2

4033991

Rozhraní.NET Framework 4.6 a 4.6.1, 4.6.2, 4.7

4033989

Windows Server 2012

Catalog
4035037

Rozhraní.NET Framework 3.5

4033995

Rozhraní.NET Framework 4.5.2

4033992

Rozhraní.NET Framework 4.6 a 4.6.1, 4.6.2, 4.7

4033988

Windows 7
Windows Server 2008 R2

Catalog
4035036

Rozhraní.NET Framework 3.5.1

4033996

Rozhraní.NET Framework 4.5.2

4033993

Rozhraní.NET Framework 4.6 a 4.6.1, 4.6.2, 4.7

4033990

Windows Server 2008

Catalog
4035039

Rozhraní.NET Framework 2.0

4033994

Rozhraní.NET Framework 4.5.2

4033993

Rozhraní.NET Framework 4.6

4033990

Platí pro

Tento článek se vztahuje na následující výrobky, jak je popsáno v části ChybuCVE-2017-0160:

Microsoft rozhraní.NET Framework 2.0, 3.5, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 na všechny podporované verze systému Windows, spuštění prostředí PowerShell 3.0 a novějších verzích.

 

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?

Děkujeme vám za zpětnou vazbu.

×