לאחרונה, במחשב Windows 8.1 שלי, משום מקום, התחלתי לקבל שגיאות ביומן האירועים לאחר התקנת עדכונים בתיקון יום שלישי. השגיאה קשורה ל- COM מבוזר (DCOM):
מסמכים כיצד למחוק דף
הגדרות ההרשאה הספציפיות ליישום אינן מעניקות הרשאה להפעלה מקומית ליישום שרת COM עם CLSID {9E175B6D-F52A-11D8-B9A5-505054503030} ו- APPID {9E175B9C-F52A-11D8-B9A5-505054503030} למשתמש PCNAME שם המשתמש SID S-1-5-21-81864976-3388411891-1937036257-1001 מהכתובת LocalHost (באמצעות LRPC) הפועל במיכל היישום SID לא זמין (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804- 1277922394). ניתן לשנות הרשאת אבטחה זו באמצעות הכלי הניהולי של שירותי רכיבים.
שגיאה כה מסובכת עלולה לגרום למשתמשים חסרי ניסיון להקיא מתסכול. הם אינם מכירים את המינוח הזה. בנוסף, פתרון בעיות בשגיאות DCOM הוא כאב ולכן התעלמתי מכך בהתחלה, אך יומן האירועים היה מלא בהם כפי שהוא התרחש כל שעה בערך. נחושתי לתקן את זה, החלטתי לחקור.
פרסומת
לאלו מכם שלא יודעים, COM היא טכנולוגיית התקשורת הבין-תהליכית הוותיקה של מיקרוסופט. שרת COM הוא הפעלה (EXE או DLL) המיישמת קבוצה של אובייקטים של COM. רכיבי Windows רבים מיושמים כאובייקטים של COM ועוקבים אחר כללי COM סטנדרטיים כדי לתקשר זה עם זה. שרתי COM רשומים ברישום ויש להם מזהה מחלקה (CLSID) ו- APPID.
השלב הראשון לפתרון שגיאה זו היה לגלות לאיזה רכיב DCOM קשורים ה- CLSID ו- APPID. אז הפעל את עורך הרישום ועבור למפתח הרישום הזה:
HKEY_CLASSES_ROOT CLSID {9E175B6D-F52A-11D8-B9A5-505054503030}
מפתח רישום זה מצביע גם על אותו AppID כמו הודעת השגיאה שהיא {9E175B9C-F52A-11D8-B9A5-505054503030}. אז, הבא לך
HKCR APPID {9E175B9C-F52A-11D8-B9A5-505054503030}
זה אמר לי שהרכיב היה WSearch (אובייקט COM של Windows Search).
השלב הבא היה להקצות ל- CLSID / AppID זה, את הרשאות ההפעלה המקומיות הנכונות שרצתה - של מזהה האבטחה (SID) של המשתמש שלי ו- SID של האפליקציה. לשם כך, Windows מספק כלי שירותי רכיבים המאפשר למשתמש לשנות הרשאות הפעלה והפעלה, הרשאות גישה והרשאות תצורה בשרתי COM.
פתח כלים ניהוליים -> שירותי רכיבים. הרחב את שירותי הרכיבים -> מחשב -> המחשב שלי -> תצורת DCOM. אתר את 'WSearch' ולחץ עליו באמצעות לחצן העכבר הימני -> מאפיינים. עבור לכרטיסייה 'אבטחה'.
כשעשיתי זאת, ראיתי שהכל אפור (מושבת) בכרטיסייה אבטחה עבור אובייקט COM זה, אז קודם כל עלי לתת לחשבון המשתמש שלי הרשאות מלאות ברישום. פתחתי את Regedit שוב והלכתי לאותו מפתח
HKEY_CLASSES_ROOT AppID {9E175B9C-F52A-11D8-B9A5-505054503030}
ושינה את ההרשאות. ראשית עליך לקחת בעלות (סמן 'החלף בעלים בתתי-מכולות ואובייקטים') ולאחר מכן להוסיף את שם המשתמש שלך ולתת לו שליטה מלאה. לאחר מכן תוכל לשנות את הבעלות בחשבון המקורי (NT Service TrustedInstaller).
לקחת בעלות ולתת הרשאות מנהל קל מאוד עם Winaero RegOwnershipEx אפליקציה.
כעת פתחתי מחדש את שירותי הרכיבים (Dcomcnfg.exe) והלכתי למאפייני WSearch, הכרטיסייה אבטחה והייתי מסוגל לערוך כעת את הרשאות האבטחה בהרשאות הפעלה והפעלה, המוצגות כך:
דרך קבוצת האבטחה כולם, לחשבון המשתמש שלי יש כבר הרשאות הפעלה מקומיות, אך מוצגות גם 3 SID אחרים שאינם חשבונות משתמש או קבוצות ידועים כפי שהסמל שלהם מציין. הם SIDs של יישומים ומתייחסים ליישומים. השגיאה ביומן האירועים אמרה גם '... פועל במיכל היישום SID לא זמין (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394).
כעת נראה כי ממשק המשתמש של בורר האובייקטים של Windows אינו מאפשר להוסיף SID של יישומים עבור אובייקטים עיקריים לאבטחה. אז לאחר לחיצה על הוסף, לחצתי על מתקדם ... ואז על מצא עכשיו. זה יפרט את כל האובייקטים. אבל רובם היו SIDs של חשבונות. שמתי לב ל'כל חבילות היישום 'שכשמו כן הוא כנראה קבוצה לכל חבילות היישומים, אז בחרתי בה. לחץ על אישור בכל מקום כדי להוסיף אותו ואז הענק לו הרשאות הפעלה מקומית והפעלה מקומית.
כיצד להכין מקשי קיצור בחלונות 10 -
כעת לאחר לחיצה על אישור וסגירת ממשק המשתמש של שירותי רכיבים, השגיאה נעלמה מיומן האירועים, כלומר רכיב ה- WSearch COM כולל כעת הרשאות הפעלה והפעלה נכונות.
כתבתי מאמר זה כמדריך כללי שיעזור לכל אחד אחר לפתור שגיאות DCOM ביומן האירועים שלהם באופן דומה. אני עדיין חושש מדוע ל- Windows אין עדיין כלי לשחזר בקלות את ההרשאות הנכונות לאובייקטים של COM במקרה שהם יתבלבלו.