Samenvatting

Nadat u de beveiligingsupdates voor April 2017 wordt beschreven in Microsoft security update-instructies CVE-2017-0160 , de PowerShell v3.0 + stop opdracht computer mislukt. Als toepassingen met power management methoden, zoals afsluiten of opnieuw opstarten van de klasse Win32_OperatingSystem en het kenmerk EnablePrivileges ingesteld op true, kunnen zij bovendien dezelfde storing zien. Een foutbericht "Niet bevoegd".

Meer informatie

Symptomen voor probleem 1

Klanten die u wilt uitschakelen of opnieuw opstarten van een systeem, lokaal of extern, met de opdracht stop computer op PowerShell v3.0 en hoger, verschijnt het volgende foutbericht:

Stop-computer: niet bevoegd.

Op regel 1: char: 1

+ stop-computer

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

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

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

Oplossing voor probleem 1

Om dit probleem te omzeilen, voert u de opdracht "shutdown.exe" uitvoeren uitschakelen en opnieuw opstarten van bewerkingen op lokale of externe systemen:

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

Help voor meer informatie en de opdracht, worden uitgevoerd:

shutdown.exe -?

Symptomen voor uitgifte 2

Klant toepassingen met behulp van power management methoden, zoals het afsluiten of opnieuw opstarten van de klasse Win32_OperatingSystem en stelt u het kenmerk EnablePrivileges op true, kunnen zich het probleem 'Niet bevoegdheid'.

  • Voorbeeld 1 (PowerShell) retourneert de fout 'Niet bevoegd':
      $computername= "." $win32OS = get-wmiobject win32_operatingsystem -computername $computername $win32OS.psbase.Scope.Options.EnablePrivileges = $true $win32OS.reboot()

    • Voorbeeld 2 (C#-code) retourneert de fout 'Niet bevoegd':
        [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); } }

Oplossing voor probleem 2

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

  • Voorbeeld 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"]); } } } }

Oplossing

Oplossing voor probleem 1

Installeer de update in de tabel hieronder volgens het systeem dit probleem op te lossen.

Besturingssysteem

Update

Windows Server 2008

Voor het .NET Framework 2.0 update installeren 4020511

Update voor het .NET Framework 4.5.2, installeren 4020507

Voor het .NET Framework 4.6, update installeren 4020503

Windows 7 en Windows Server 2008 R2

Voor het .NET Framework 3.5.1 installeren 4020513 bijwerken

Voor het .NET Framework 4.5.2 update installeren 4020507

Voor het .NET Framework 4.6 of 4.6.1, installeert update 4020503

Voor het installeren van .NET Framework 4.6.2, , 4020500 bijwerken

Windows Server 2012

Voor het .NET Framework 3.5, installeert update 4020512

Voor het .NET Framework 4.5.2 update installeren 4020506

Installatie werk voor het .NET Framework 4.6 of 4.6.1, , 4020501

Voor het installeren van .NET Framework 4.6.2, , 4020498 bijwerken

Windows 8.1 en Windows Server 2012 R2

.NET Framework 3.5 installeren 4020514 bijwerken

Voor het .NET Framework 4.5.2 update installeren 4020505

Installatie werk voor het .NET Framework 4.6 of 4.6.1, , 4020502

Voor het installeren van .NET Framework 4.6.2, , 4020499 bijwerken

Windows 10 RTM

Installeer update 4019474

Windows 10 versie 1511

Installeer update 4019473

1607-versie van Windows 10 en Windows Server 2016

Installeer update 4019472

Windows 10 versie 1703

Installeer update 4016871

Oplossing voor probleem 2

Installeer de update in de tabel hieronder volgens het systeem dit probleem op te lossen.

Versie van het product

Voorbeeld van kwaliteit updatepakket KB

Windows 10 Update 1703 (RS2)
Windows Server 2016

Catalogus
4034674

.NET framework 3.5

Catalogus
4038788

.NET framework 4.7

4034674

Windows 10 Update 1607
Windows Server 2016


 

.NET framework 3.5

Catalog
4034661

.NET framework 4.6.2 en 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

Van toepassing op

Dit artikel is van toepassing op de volgende producten, zoals beschreven in de sectie Producten waarin dit probleem optreedt van CVE-2017-0160:

Microsoft .NET Framework 2.0, 3.5, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 op alle ondersteunde versies van Windows PowerShell 3.0 en latere versies.

 

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft insiders

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?

Bedankt voor uw feedback.

×