December 2007 - Posts
שבוע שעבר היתי צריך להוסיף את ה Exchange Information ל Active Directory Users and Computers על המחשב החדש שלי (כן... חזרתי ל XP).
מכיוון שלא רציתי להתקין יותר מדי דברים כבר על ההתחלה, די התעקשתי (סוג של ילדותיות נראה לי) לא להתקין את ה ESM (או Exchange System Manager אם אתם ממש מתעקשים), למי שלא מאופס, אחרי שמתקינים את ה ESM על מחשב שיש עליו כבר את ה admin pack נוספים הטאבים של exchange לטאבים של הגדרות המשתמש.
אז... למלאכה...
אנחנו צריכים 6 קבצי dll שנעתיק משרת ה Exchange (עם ההתקנה נמצאת במקומה הדיפולטי אז זה יהיה ב program files\exchsrvr\bin), ל system32 של המחשב שלנו, והם:
address.dll
escprint.dll
exchmem.dll
glblname.dll
maildsmx.dll
pttrace.dll
אחרי שהעתקנו והכל במקומו צריך לעשות רגיסטרציה ל maildsmx.dll, ככה: regsvr32.exe c:\windows\system32\maildsmx.dll ואחרי זה הטאבים הרלוונטיים של ה Exchange יופיעו.
אתמול אחד הלקוחות התקשר ובפיו בעיה, "יש לי לוגין סקריפט אשר מריץ התקנות כאלה ואחרות על התחנות, הבעיה היא שאותו הלוגין סקריפט משמש את המשתמשים בכניסה לשרתי הטרמינל, ואני לא רוצה שההתקנות ייבצעו על השרתים... מה עושים?"
אני ישר זרקתי לו שיש registry key שאומר האם השרת הוא טרמינל או לא
(HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\TSAppCompat) פשוט תעשה בדיקה לזה ואם זה שווה ל 0x1 אל תריץ את ההתקנות.
אבל צצו שתי בעיות, הלוגין סקריפט אצלו הוא עדיין batch file פשוט (למה?!?!) והבחור לא יודע איך בודקים ערך רג'סטרי מה batch, למען הסר ספק, גם אני לא היתי סגור על איך עושים את זה מ batch וניסיתי לשכנע אותו לעבור כבר למשהו נורמלי כמו vbscript, אבל הוא בשלו, התעקש להשאר עם ה batch file שלו ולהוסיף את הבדיקה שם.
"טוב", אמרתי תוך כדי חיפוש עצם מתאים לשחרור עצבים (למה לעזאזל יש עוד אנשים שעובדים עם batch files ?!), "אני אבדוק לך את העניין".
כשהתיישבתי לבסוף בלילה כדי לבדוק איך עושים את זה, נזכרתי שיש את reg query שיודע למצוא ולהציג ערכים ברג'סטרי, אבל עדיין, זה רק מדפיס את מה שמחפשים, לא בדיוק מה שאני צריך.
אחרי חיפוש באינטרנט נפלתי על כמה דוגמאות שאיכשהו עזרו לי במאבק.
ככה שלבסוף יצא לי הדבר הבא:
|
@ECHO OFF SET TS="" FOR /F "tokens=3* delims= " %%A IN ('REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v TSAppCompat') DO SET TS=%%A IF %TS%==0x1 GOTO:EOF
|
לסיכום, הקטע הנ"ל בודק האם השרת הוא Terminal Server ואם כן, יוצא מהסקריפט.
אז אם מישהו עדיין משתמש ב batch files (שוב פעם, למה??) וצריך, חופשי להשתמש תמורת מנחה קטנה (קרמבו יהיה ממש מתאים).
כבר נכתבו אי אלו פוסטים על ה Windows Vista SP1 RC, אור כתב על זה שה SP1 גורם סופסוף ללפטופים בעלי Vista לעבוד כמו שצריך עם מצב ה Sleep (ד"א, גם לי היתה הרגשה שזה פותר, אבל לפני כמה ימים שוב פעם הלפטופ נתקע בחזרה מ Sleep, האכזבה אגב, היתה קשה), מנגד, אריאל כתב על התוספת המשמעותית ביותר ל SP1.
אבל אני, פריק של SBC מוכר וידוע, ישר פתחתי RDC (למי שתוהה, ככה נקרא עכשיו ה RDP client) והסתכלתי האם התחדשה הגרסא.
והפלא ופלא... היא אכן התחדשה, ב Vista SP1 גירסת ה RDC שודרגה של 6.0.6001, הגירסא הרשמית שזמינה להורדה כרגע ד"א, היא 6.0.6000.
חיפשתי איזושהי דוקומנטציה על הקליינט החדש, אבל די לריק... חול וחול בעיקר.
אבל... זה לא ישבור בלוגר חוקר (וואלה??) כמוני, ובאווירת "אם אין אני לי, מי לי" התחלתי לבדוק.
הדבר הראשון שבולט כשמתחילים לעבוד עם הקליינט החדש הוא שמיקרוסופט ירדה מבקשת שם משתמש וסיסמא עוד לפני פתיחת ה session לשרת המרוחק, אני יודע שזה הפריע ללא מעט אנשים.
עכשיו זה נראה ככה:
הקליינט לא מבקש הזדהות עוד בטרם ההתחברות, אלה מציין שההזדהות תתבצע כאשר יווצר ה connection לשרת המרוחק.
אם אתם רוצים לשמור את פרטי ה login שלכם לשרת ספציפי, עדיין אפשר לשמור את שם המשתמש והסיסמא, ואז הקליינט ייזהה את העובדה שישנם פרטי לוגין שמורים לשרת הרלוונטי ויודיע על כך בנוסף לאפשרות לערוך את פרטי הלוגין הנ"ל או למחוק אותם.
עוד דבר ששמתי לב אליו, הוא שתוקנה בעיית ההשתהות בהתחברות עם RDC 6 שכתבתי עליה ממש לא מזמן.
כל עוד לא נודע לי אחרת, אני אקח את הקרדיט עלי... :)
דבר אחרון שהתחדש, זה אופן העבודה עם ה TS Gateway.
בקליינט החדש שונו שלושה דברים (זה מה שהצלחתי למצוא לפחות), לתפריט הגדרת החיבור ל TS Gateway נוסף חלק של ההזדהות מול שרת היעד (אחרי שכבר עברנו את ה TS Gateway), מעכשיו אפשר לבחור האם להשתמש באותם נתוני משתמש גם ל TS Gateway וגם לשרת היעד.
דבר נוסף שהשתנה (כתוצאה מזה שאין צורך להזין את פרטי המשתמש לפני ההתחברות לשרת) הוא שאם קודם בהתחברות לשרת דרך ה TS Gateway היה צורך להזין את פרטי הלוגין קודם לשרת היעד ואחרי זה ל TS Gateway, אז עכשיו מזינים את פרטי הלוגין ל TS Gateway ואם לא בחרנו להשתמש באותם הנתונים לשרת המרוחק, אז ה connection ייתבצע ואת הלוגין נעשה כבר בתוך ה session.
הדבר האחרון שהשתנה וקשור לאופן העבודה עם TS Gateway הוא הוספה של אייקון נחמד ב bar של חלון ה session אשר מאפשר לנו לדעת שאנחנו מחוברים דרך TS Gateway ובלחיצה עליו גם לקבל פרטים על אופן החיבור.
אז לסיכומו של עניין, אם לא פתרון לבעיית החזרה ממצב sleep שכ"כ מציקה לי (עד מתי?!?!), לפחות קיבלתי RDC client משופר, גם טוב.
אבל קצת רצינות, אני שמח לראות שמייקרוסופט משנה ומשפרת דברים שהקהילה מעלה, מעודד בעיקר כשאנחנו ממש לפני יציאת ה Windows Server 2008.
קצת ישן, אבל עדיין... פירגון לחברה ישראלית בתחום ה SBC.
חברת Chip PC זכתה במכרז הגדול ביותר באירופה לאספקת תחנות רזות.
המכרז הוא על אספקת 20,000 תחנות רזות (thin clients) ומערכת לניהול התחנות ל German RZF, המשרד לענייני כספים של מחוז צפון ריין-וסטפאליה (Financial Administration of North Rhine-Westphalia County), ד"א German RZF מעסיק כ 30,000 עובדים ומטפל בכ 18 מליון תושבים.
80% מהתחנות יסופקו עד סוף שנת 2007 והשאר ברבעון הראשון של 2008.
למי שלא מכיר, חברת Chip PC היא חברה ישראלית (אשר בסיסה בטירת הכרמל)
אשר מייצרת תחנות רזות ומערכת לניהולם (Xcalibur).

אז סחתיין.
ה Press Release.
לפני כמה ימים שוחררה גירסת RC1 של Windows Server 2008, אחד החידושים היותר מעניינים שנוספו לגירסא הזאת הוא ה Group Policy preferences, למעשה היכולת להגדיר הגדרות נוספות שלא היה ניתן להגדיר עד כה ב group policy (למשל מיפוי כוננים, scheduled tasks, העתקות קבצים וכו') או במילים פשוטות יותר, ליצור סוג של group policy על ספידים ואני ארחיב על האפשרויות בהמשך.
קצת רקע כללי, באוקטובר 2006 מיקרוסופט רכשה את חברת DesktopStandard אשר מפתחת מוצרים לניהול סביבות עבודה מבוססי group policy, פרטים לגבי היקף העיסקה לא נמסר.
DesktopStandard פיתחה בין היתר שני מוצרים שמאוד עניינו את מיקרוסופט, GPOVault (לניהול נכון/נבון יותר של ה group policy) ו- PolicyMaker (להרחבת יכולות ה group policy).
כבר ברכישה, מיקרוסופט הודיעה שהיא הולכת להטמיע את שני המוצרים לתוך המוצרים שלה, אני את האמת חשבתי שזה ההטמעה הזאת תגיע מהר יחסית, כי בעצם אין שם יותר מדי מה לשנות, המוצרים של DesktopStandard כבר היו מבוססי על ה group policy ועל ה GPMC בניהול, אז חשבתי.
אנחנו נאלצים לחכות עד ל Windows Server 2008 כדי לראות סופסוף את כל היכולות קיימות בתוך מערכת ההפעלה (קצת אופטימיות... יותר מאוחר מאשר אף פעם לא).
כמו שתראו בהמשך, Group Policy Preferences מביא לאט לאט לסופו של ה Login Script המוכר לכולנו, עד עכשיו זה היה המקום היחידי להתפרע עם הגדרות שונות ומשונות שרצינו להגדיר ולא יכלנו לעשות ב GPO, כמו למשל מיפויי כונני, העתקות קבצים, בדיקות ושינויי רג'סטרי ומה לא בעצם, כל אחד מאיתנו מחזיק את ה login script האולטימטיבי שלו, אותו אחד שהוא שינה ושיפצר עשרות אם לא מאות פעמים (או שזה רק אני?!?).
כמו שציינתי, ה Group Policy Preferences מיועד בגדול להחליף את ה login script, מכאן, הרי שאני מצפה למצוא בהגדרות החדשות את כל (טוב נו, רוב) האפשרויות שאפשר להגדיר ב login script.
שנצלול קצת פנימה...
מסך הניהול של ה Group Policy משתנה מעט וכעט כל ההגדרות הישנות נכנסות תחת תיקיית Policies וה Preferences מקבל תיקיה משל עצמו, ככה זה נראה.
כמו שאפשר לראות, האפשרויות מחולקות ל Windows Settings ו Control Panel Settings, החלוקה נעשת לפי העיקרון הבא, כל מה שעד עכשיו הינו צריכים לכתוב סקריפט כדי לשנות אותו נמצא ב Windows Settings וכל מה שניתן לשינוי (לפעמים גם ע"י המשתמשים) דרך ה Control Panel נמצא באופן מפתיע ב Control Panel Settings.
בין יתר ההגדרות שניתן להגדיר עכשיו אפשר למצוא:
Windows Settings
Environment - הוספה/שינוי/מחיקה של environment variables.
Files- העתקת/מחיקת קבצים.
Folders- העתקת/מחיקת/יצירת תיקיות.
INI Files- הוספה/שינוי של נתונים בקבצי ini או inf.
Registry- הוספה/מחיקה/שינוי של ערכי רג'סטרי.
Network Share- מיפוי/מחיקה/שינוי של כונני רשת.
Shortcuts - יצירה/מחיקה/שינוי של קיצורים דרך.
Control Panel Settings
Data Sources - יצירה/מחיקה/שינוי של Open Database Connectivity (ODBC) data source names.
Devices - אפשרות לעשות enable\disable להתקנים.
Folder Options - שינוי הגדרות של אפשרויות תיקיה (כל מה שאפשר לעשות כרגע לבד ע"י כמה קליקים).
Local Users and Groups - הוספה/שינוי/מחיקה של משתמשים או קבוצות מקומיות.
Network Options - יצירה/מחיקה/שינוי של connections.
Power Options - הגדרות העבודה עם חשמל.
Printers - הוספה/הסרה/שינוי מדפסות (מקומיות ורשת).
Scheduled Tasks - הוספה/הסרה/שינוי של tasks.
Services - שינויי הגדרות ה services.
קצת תמונות
הכל טוב ויפה, אפשר להגדיר דברים שלא היה אפשר להגדיר
עד עכשיו ב group policy, אבל ישנה תוספת מאוד שימושית, האפשרות להכיל את ההגדרות על סמך נתונים מסוימים
(Item-level targeting), כלומר, הפוליסי יתפוס רק במקרה שתנאים מסוימים יתקיימו, וזה לא רק מי המשתמש כמו שהינו רגילים עד עכשיו.
ב targeting אפשר למצוא אופציות כמו השוואות של מול ערכי רג'סטרי, טווח כתובות IP, דומיין, שפה, ldap query ועוד.
ה Perferences זמינים רק בגירסת Server 2008 RC1 ומעלה (אין צורך שהדומיין יהיה בגירסה הזאת), אם רוצים לגשת להגדרות האלה משרתי 2003 ו- vista, יש צורך להשתמש ב Remote Server Administration Tools (RSAT).
בכדי שההגדרות ייתפסו בתחנות הקצה יש צורך להתקין את
Group Policy preferences client-side extension (CSE) על מערכות ההפעלה הבאות:
Windows XP
Windows Vista
Windows Server 2003
ב Windows Server 2008 ה CSE כבר מובנה.
אני מניח שעם הזמן ה CSE יהיה מוטמע לתוך service packs עתידיים.
אז האם זה תחילת מותו של ה login script? כנראה שרק הזמן יתן לנו את התשובה.
נפלתי עליו עם StumbleUpon... משעשע.
Herbert A. Millington
Chair - Search Committee
412A Clarkson Hall, Whitson University
College Hill, MA 34109
Dear Professor Millington,
Thank you for your letter of March 16. After careful consideration, I
regret to inform you that I am unable to accept your refusal to offer me
an assistant professor position in your department.
This year I have been particularly fortunate in receiving an unusually
large number of rejection letters. With such a varied and promising field
of candidates, it is impossible for me to accept all refusals.
Despite Whitson's outstanding qualifications and previous experience in
rejecting applicants, I find that your rejection does not meet my needs at
this time. Therefore, I will assume the position of assistant professor
in your department this August. I look forward to seeing you then.
Best of luck in rejecting future applicants.
Sincerely,
Chris L. Jensen
אתמול היתי בחג של החגים אשר מתרחש בשכונת ואדי ניסנאס בחיפה, זהו פסטיבל לחגיגת שלושת החגים המתרחשים אחד סמוך לשנה של שלוש הדתות, חנוכה - חג מולד - רמאדאן, ואשר אמור "לבטא את הפסיפס האנושי של תושבי חיפה ואת השכנות הטובה בין בני כל הדתות בחיפה, הפסטיבל שם לעצמו למטרה את קידום וטיפוח הסובלנות באמצעות תרבות ואמנות".
אחרי שהסתובבנו בשכונה קצת ועברנו בין כל הביתנים והחנויות (דווקא נחמד, שווה לנסות אם אתם בסביבה) הבחנתי בפרט משונה, למרות שחוגגים כביכול את שלושת החגים, לא ראיתי ולא סופגניה אחת לרפואה (סימנים לחג הרמאדאן אני לא מכיר, ככה שקשה לי להביא דעה על העניין), מה שראיתי זה הרבה סימנים של חג המולד, סנטה, עצי אשוח וכל מה שקשור בזה (את האמת לא ממש מפתיע אם חושבים על זה עוד פעם, תושבי ואדי ניסנאס הם נוצרים), אבל בכל זאת, חוסר הסופגניות במקום כמעט והרס לי את דיאטת הסופגניות שאני עורך בימים אלו (לפחות סופגניה אחת ביום), וכן, נסיתי להתנחם במלבי/כנאפה/בקלאווה.
ולעניינו, אחרי הסתובבות קצרה במתחם נכנסו לבית הגפן (שהוא מין מרכז תרבותי של השכונה, או משהו כזה) שבו הסתבר נערך יריד עתיקות.
בין כל העתיקות והפריטים ההסטוריים (איזה אושר זה היה לראות אוסף כרטיסי טלכרט) מצאתי את הדבר הבא:
תשימו לב, זה לא סתם עוד חוברת פורנו רך, זהו מורה דרך מעשי ומדעי (!!!) להבנת חיי המין.
כנראה שהכותבים קיבלו תגובות (היה כבר טוקבקים?) על אי דיוקים בגירסא הראשונה והוציאו גירסא 1.1 למורה הדרך, ככה שאי אפשר להתווכח פה על הרצינות של המדריך.
אז זה המקור לכל ה Walkthrus שאנחנו מכירים כיום?
היום נתקלתי בתופעה משונה עם ה RDP client 6.0 או Remote Desktop Connection כמו שהוא נקרא כיום.
התופעה היא שכאשר מתחברים לשרת Terminal עם ה RDC 6.0 מתחנות XP ישנה השהיה של משהו כמו 20 שניות לפני פתיחת ה session על השרת, התופעה לא מתרחשת עם הקליינט הישן (5.2).
מסתבר שבעת הפעלת ה connection לשרת, הקליינט מנסה ליצור קשר ב NetBIOS לעצמו (!!?!?) ומשתהה על העניין הזה כמה שניות לפני שהוא יוצר את הקשר עם השרת המרוחק.
הפתרון להשתהות המציקה הזאת היא לבטל את ה NetBIOS ovet TCP/IP (בהגדרות ה TCP/IP של כרטיס הרשת המקומי של המחשב), כמובן שלא בכל הסביבות זה ניתן לביצוע ובלי קשר יש לבדוק את ההשלכות לפני ביצוע השינוי, אבל הביטול ה NetBIOS פותר את הבעיה, וה connection לשרת המרוחק נפתח ישר ללא שום השתהות מיותרת.
טרם מצאתי פתרון של מיקרוסופט לסוגיה, ככה שאם מישהו יודע/יכול לעזור בלהאיר את עיניהם של האנשים האחראים לסיפור, יבורך.
אז התקדמתם, יש לכם כבר עשרות מכונות וירטואליות, שרצות על Virtual Server כמובן (אני לא יורק לבאר :) ) אתם מתקינים עליהן גירסאות בטא של תוכנות כאילו אין מחר, אבל בדיוק כשבאתם להוריד לאחת המכונות הוירטואליות את אוסף הרקעים של אוונג'לין לילי (הלא היא קייט מאבודים... נו באמת, זה א' ב') או אולי של אמילי סקוט (הלא היא דוגמנית הלבשה תחתונה מדופלמת... לא ההלבשה, היא) גיליתם שנגמר המקום שהקצתם למכונה הוירטואלית, כלומר הגעתם לסף של קובץ ה VHD (אם בכלל קיבעתם אותו מלחתכילה).
כדי לא לוותר על להתענג מיופיהן של עלמות החן החסודות אוונג'לין את אמילי ברקע, מה שצריך זה רק להגדיל את ה VHD לגודל המתאים.
בשביל זה ישנו כלי מופלא אשר עושה את העבודה בשבילנו, ושמו VHD Resizer מבית vmToolkit (החברה שהוציאו גם את VMDK to VHD Convertor המצויין).
אולי חלקכם מכירים את ה VHD Resizer בשמו הקודם VHD Expander.
כל הסיפור נעשה ממש פשוט עם ה VHD Resizer, מכבים את המכונה הוירטואלית, מפעילים את ה resizer, מפנים ל vhd הישן ובוחרים איפה למקם את ה vhd החדש וגודלו (עד 4000 ג'יגה).
לוחצים על resize ומחכים (העניין יכול לקחת זמן, תלוי בגדלים).
מקשרים את המכונה ל vhd החדש במקום הישן והחלק הנוסף יחכה לכם ב disk management של המכונה כ unallocated space.
את אותו שטח יהיה אפשר לצרף לכונן קיים או ליצור כונן חדש.
לאחר שיצרנו את המקום המתבקש, נוכל להוריד סופסוף את הרקעים הרצויים ולהנות ולעבוד כמו שצריך.
