Iniciar sesión con Microsoft
Inicie sesión o cree una cuenta.
Hola:
Seleccione otra cuenta.
Tiene varias cuentas
Elija la cuenta con la que quiere iniciar sesión.

Resumen

Después de aplicar las actualizaciones de seguridad de abril 2017 descritas en la Guía de actualización de seguridad de Microsoft CVE-2017-0160 , el comando Detener equipo PowerShell v3.0 + se produce un error. Además, si las aplicaciones utilizan los métodos de administración de energía, tales como apagar o reiniciar, de la clase Win32_OperatingSystem y establezca el atributo EnablePrivileges en true, puede observar el mismo error. Se devuelve un mensaje de error "Privilegio no mantenido".

Más información

Síntomas de problema 1

Los clientes que intentan apagar o reiniciar un sistema, ya sea local o remoto, utilizando el comando Detener equipo en PowerShell v3.0 y versiones posteriores, verá el siguiente error:

equipo de parada: privilegio no mantenido.

En línea: 1 char: 1

+ Detener equipo

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

+ CategoryInfo: InvalidOperation: (< nombreDeEquipo >: cadena) [Stop-equipo], gestión

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

Solución para el problema 1

Para evitar este problema, ejecute el siguiente comando de "shutdown.exe" para ejecutar el apagado y reiniciar las operaciones en sistemas locales o remotos:

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

Para obtener más información y comandos de ayuda, ejecute:

shutdown.exe -?

Síntomas de problema 2

Cliente aplicaciones utilizando los métodos de administración de energía, tales como apagar o reiniciar, de la clase Win32_OperatingSystem y establezca el atributo EnablePrivileges en true, puede observar el mismo error de "No dispone de privilegio".

  • Ejemplo 1 (PowerShell) devuelve el error "Privilegio no mantenido":
      $computername= "." $win32OS = get-wmiobject win32_operatingsystem -computername $computername $win32OS.psbase.Scope.Options.EnablePrivileges = $true $win32OS.reboot()

    • Ejemplo 2 (código C#) devuelve el error "Privilegio no mantenido":
        [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); } }

Solución para el problema 2

  • Por ejemplo 1 (PowerShell):
      $computername= "." $win32OS = get-wmiobject win32_operatingsystem -computername $computername -EnableAllPrivileges $win32OS.reboot()

  • Por ejemplo, 2 (código 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"]); } } } }

Solución

Solución para el problema 1

Para resolver este problema, instale la actualización en la tabla siguiente según el sistema.

Sistema operativo

Actualización

Windows Server 2008

Para la 2.0 de.NET Framework, instalar la actualización 4020511

Para el.NET Framework 4.5.2, instale la actualización 4020507

Para la 4.6 de.NET Framework, instalar la actualización 4020503

Windows 7 y Windows Server 2008 R2

Para instalar el.NET Framework 3.5.1, actualizar 4020513

Para instalar el.NET Framework 4.5.2, actualizar 4020507

Para el.NET Framework versión 4.6 o 4.6.1, instale la actualización 4020503

Para instalar el.NET Framework 4.6.2, actualizar 4020500

Windows Server 2012

Para la 3.5 de.NET Framework, instale la actualización 4020512

Para instalar el.NET Framework 4.5.2, actualizar 4020506

Para la 4.6 de.NET Framework o 4.6.1, instale la actualización 4020501

Para instalar el.NET Framework 4.6.2, actualizar 4020498

Windows 8.1 y Windows Server 2012 R2

Para.NET Framework 3.5, instalación actualizar 4020514

Para instalar el.NET Framework 4.5.2, actualizar 4020505

Para la 4.6 de.NET Framework o 4.6.1, instale la actualización 4020502

Para instalar el.NET Framework 4.6.2, actualizar 4020499

RTM de Windows 10

Instalar actualización 4019474

10 Windows versión 1511

Instalar actualización 4019473

10 1607 de la versión de Windows y Windows Server 2016

Instalar actualización 4019472

10 Windows versión 1703

Instalar actualización 4016871

Solución para el problema 2

Para resolver este problema, instale la actualización en la tabla siguiente según el sistema.

Versión del producto

Vista previa del informe de calidad KB

Actualización de Windows 10 1703 (RS2)
Windows Server 2016

Catálogo
4034674

.NET Framework 3.5

Catálogo
4038788

.NET Framework 4.7

4034674

Actualización de Windows 10 1607
Windows Server 2016


 

.NET Framework 3.5

Catalog
4034661

.NET Framework 4.6.2 y 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

Se aplica a

En este artículo se aplica a los productos siguientes, como se describe en la sección de Productos afectados de CVE-2017-0160:

Microsoft.NET Framework 2.0, 3.5, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 en todas las versiones compatibles de Windows que ejecuta PowerShell 3.0 y versiones posteriores.

 

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a tu experiencia?

¡Gracias por sus comentarios!

×