Обзор

После установки обновлений безопасности апреля 2017 г., описанной в рекомендации обновления безопасности корпорации Майкрософт 0160-CVE-2017 г. , команда PowerShell v3.0 + остановки компьютера не выполняется. Кроме того Если приложения используют методы управления питанием, например, завершение работы или перезагрузка в классе Win32_OperatingSystem и задайте для атрибута EnablePrivileges значение true, может наблюдать же ошибки. Возвращается сообщение об ошибке «Отсутствуют необходимые привилегии».

Дополнительные сведения

Проблемы проблема 1

Пользователи, попробуйте выключить или перезагрузить систему, локальным или удаленным, с помощью команды stop компьютер на PowerShell версии 3.0 и более поздних версий, будет отображаться следующее сообщение об ошибке:

Стоп компьютер: отсутствуют необходимые привилегии.

На символ строки: 1:1

+ остановки компьютера

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

+ CategoryInfo: InvalidOperation: (< имя_компьютера >: строка) [Stop-Computer] 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 платформа.NET Framework или 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

10 Windows версии 1511

Установка обновления 4019473

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

Установка обновления 4019472

10 Windows версии 1703

Установка обновления 4016871

Для устранения ошибки 2

Чтобы устранить эту проблему, установите обновление в таблице ниже системные.

Версия продукта

Предварительный просмотр качества свертки КБ

Центр обновления 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.1Windows 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 и более поздних версий.

 

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.