דלג לתוכן הראשי
היכנס דרך Microsoft
היכנס או צור חשבון.
שלום,
בחר חשבון אחר.
יש לך חשבונות מרובים
בחר את החשבון שברצונך להיכנס באמצעותו.

סיכום

לאחר החלת עדכוני האבטחה 2017 באפריל המתוארות בהנחיות לגבי עדכון אבטחה של Microsoft CVE-2017-0160 , PowerShell גירסה 3.0 + מחשב עצירה הפקודה תיכשל. בנוסף, אם להשתמש בשיטות ניהול צריכת חשמל, כגון כיבוי או אתחול מחדש, מהמחלקה Win32_OperatingSystem ויישומים להגדיר את תכונת EnablePrivileges כ- true, הם עשויים לצפות הכשל אותו. הודעת שגיאה "לא קיימת הרשאה" מוחזרת.

מידע נוסף

סימפטומים לבעיה 1

לקוחות אשר מנסים לכבות או להפעיל מחדש את המערכת, מקומי או מרוחק, באמצעות הפקודה stop-מחשב ב- PowerShell גירסה 3.0 ומעלה, תופיע השגיאה הבאה:

המחשב עצירה: לא קיימת הרשאה.

בתו קו: 1:1

+ מחשב עצירה

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

+ CategoryInfo: InvalidOperation: (< COMPUTERNAME >: מחרוזת) [Stop-מחשב], 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

עבור .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

לקבלת 4.6 Framework של .NET או 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 Framework של .NET או 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 2016

קטלוג
4034674

.NET framework 3.5

קטלוג
4038788

.NET framework 4.7

4034674

עדכון Windows 10 1607
שרת Windows 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. מנהל ה-IT שלך יוכל לאסוף נתונים אלה. הצהרת הפרטיות.

תודה על המשוב!

×