Bootstrap או GPO: שני מסלולים לפרופיל VPN של Windows
פרופיל שמופץ דרך GPO אינו יכול להיות הדרך היחידה להגיע לשיתוף שמפיץ אותו. הפרידו בין ההתקנה הראשונה לבין העדכון השוטף, ותנו גרסה משותפת לשניהם.
דחפו פרופיל VPN משיתוף של דומיין והכול עובד, עד למחשב הנייד שלא מצליח להגיע לדומיין. באותו רגע ההפצה תלויה דווקא בחיבור שהפרופיל נועד ליצור. האדם שמחזיק במחשב הזה נמצא במקום ששירות העזרה אינו רואה. התייחסו להתקנה הראשונה ולעדכון השוטף כשני מסלולים נפרדים בתוך חבילה אחת, מפני שהם נכשלים בדרכים שאין להן דבר במשותף.
ההתקנה הראשונה היא בעיה אחרת
שני אירועים חשובים, ורק אחד מהם מתרחש כשהרשת משתפת פעולה. הטבלה מפרידה ביניהם לפי מה שזמין, מה מפעיל את העבודה ואיך זה בדרך כלל משתבש.
| First install | Routine update | |
|---|---|---|
| Network reachable | Something other than the VPN being installed | The domain or a management channel |
| Trigger | Enrollment, imaging, or a prepared package | A policy refresh or a management push |
| Usual failure | No route to the package at all | Duplicate profiles, or a change that silently does nothing |
פריט אחד שנבדק יכול לשרת את שני המסלולים; את ההנחה בדבר הקישוריות אי אפשר לחלוק. סקריפט אתחול מסתיר את ההנחה הזאת כל עוד הוא רץ על שולחן ברשת הארגונית, וחושף אותה בשטח. הסקריפט אינו פגום, פשוט מבקשים ממנו לרוץ במקום שאיש לא תכנן אותו אליו.
מה החבילה חייבת להכיל
החליטו חמישה דברים לפני האריזה: איזה מנגנון פרופיל של Windows נתמך, אם ההיקף הוא לכל משתמש או לכל מכשיר, אילו תעודות או רכיבי לקוח הם תנאי מוקדם, מה אומרת הגדרת הפרופיל ואיזו פעולה מחילה אותה. ProfileXML היא הדרך הנתמכת לבטא הגדרות VPN, והיא נמסרת דרך ה-CSP של VPNv2, והמדריך של Microsoft לאפשרויות פרופיל מפרט מה היא יכולה לשאת. כל מה שמחוץ לרשימה הזאת הוא החלטה שאתם מקבלים במקום.
הפרמטרים של סקריפט עזר שייכים לאותו סקריפט. שמות כמו xmlFilePath או AllUserConnection הם בחירות של מחבר אחד ולא תקן שכל מתקין מכבד; העתקתם לסקריפט אחר נותנת פקודה שנראית נכונה ולא עושה דבר.
החזיקו את הסקריפט ואת ההגדרה תחת גרסה אחת, ובדקו מהיכן הגיעו שניהם יחד עם ההרשאות שלהם. סקריפט אתחול עם הרשאות גבוהות שמקרה הוא קריא מ-SYSVOL עדיין לא נבדק, והפצה דרך מדיניות אינה בדיקה.
להשיג את החיבור הראשון
ההתקנה הראשונה מתרחשת כל עוד אפשר להגיע אל המכשיר בדרך אחרת: רשת מאושרת, ערוץ ניהול קיים או תהליך רישום שנבנה לכך. התעודות ותנאי האמון של שיטת האימות שנבחרה שייכים לאותה חבילה, מפני שאי אפשר למשוך דבר דרך מנהרה שעוד אינה קיימת. שאלו איזה משלושת הערוצים האלה אמיתי עבור המשתמש הזה לפני שמישהו מבטיח תאריך. ערוץ שקיים רק על הנייר הופך לשיחת טלפון מהשטח.
כתבו מה הטכנאי או המשתמש באמת עושה באותו רגע. אם התשובה היא שה-IT מתחבר מרחוק כדי לעזור, אזי מסלול ההתקנה הראשונה תלוי בשקט בכלי גישה מרחוק שני שמישהו גם צריך לספק ולתחזק.
עדכונים זקוקים למצב ידוע
ברגע שהמכונה מגיעה לדומיין, תהליך הדומיין או ניהול המכשירים הרגיל יכול להשתלט. הטעויות זוחלות פנימה בהיקף, מפני שסקריפט אתחול רץ בהקשר של המכונה, בעוד שפעולת כניסה של משתמש ופעולת ניהול מכשירים יכולות להיבדל הן בהיקף והן בהרשאה.
רשומת חיבור לכל המשתמשים אינה מנהרת מכשיר לפני כניסה, יהיה מה שיהיה משמעות השמות. מנהרות מכשיר נושאות דרישות משלהן לפלטפורמה, לפרוטוקול ולהסמכות, וקריאת הדרישות האלה היא הדרך היחידה לדעת אם מנהרה לפני כניסה אפשרית כאן. מנהרת משתמש שמתחילה בכניסה מציעה ערובה אחרת.
הפכו את מסלול העדכון לחזרתי: מצאו את הפרופיל שכבר מנוהל, שמרו על העדפות המשתמש המיועדות, החילו הגדרה תואמת ודווחו תוצאה ברורה. יצירת פרופיל חדש בכל רענון מדיניות היא הדרך שבה מכונה נגמרת עם חמש רשומות ומשתמש שבוחר בזו הלא נכונה.
הרשומה שמאפשרת לתמוך בזה
שלוש תשובות שייכות למסירה: איך מכשיר שהונפק לאחרונה מקבל את החיבור הראשון שלו, מי רשאי לשנות את החבילה ואיך מנהל נסוג משינוי לא תואם. כשהן כתובות, הפריסה אינה תלויה עוד במישהו שכבר מחזיק בגישה שצריך לספק.
אחסנו את הרשומה לצד גרסת החבילה ועדכנו את שתיהן באותו שינוי. אחרת האדם הבא בונה מחדש את מסלול ה-bootstrap מכרטיס שנסגר לפני שנה.