Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Резюме

След прилагане на актуализации на защитата април 2017, описани в Microsoft update указания за сигурност CVE-2017-0160 , v3.0 + стоп-компютър команда в PowerShell не. Освен това ако приложения използват методи за управление на захранването, като изключване или рестартиране на Win32_OperatingSystem класа и EnablePrivileges атрибут на true, могат да наблюдават същата грешка. Съобщение за грешка "Не привилегия".

Допълнителна информация

Симптоми за проблем 1

Клиенти, които се опитват да изключите или рестартирате системата, локален или отдалечен, чрез командата стоп-компютър PowerShell v3.0 и по-късно, ще видите следното съобщение за грешка:

стоп компютър: привилегия не.

Линия: 1 знак: 1

+ стоп компютър

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

+ CategoryInfo: InvalidOperation: (< COMPUTERNAME >: низ) [стоп-компютър, ManagementE

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

Решение за проблем 1

За да заобиколите този проблем, изпълнете следната команда "shutdown.exe" за изпълнение на захранването надолу и рестартирайте операции на локални и отдалечени системи:

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

За повече информация и командата help, изпълнение:

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

За .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

.NET Framework 4.6 или 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

.NET Framework 4.6 или 4.6.1 Инсталирайте актуализация 4020502

За инсталиране на .NET Framework 4.6.2, актуализирайте 4020499

Windows 10 RTM

Инсталирайте актуализация 4019474

Windows 10 версия 1511

Инсталирайте актуализация 4019473

Windows 10 версия 1607 и Windows Server 2016

Инсталирайте актуализация 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. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×