DCSIMG
December 2007 - Posts - Gadi's Blog

Gadi's Blog

SBC, Application Delivery, Scripting ושאר ירקות

December 2007 - Posts

איך מוסיפים Exchange Information ל ADUC בלי להתקין Exchange ESM

שבוע שעבר היתי צריך להוסיף את ה 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 יופיעו.

New Picture (17) 

בדיקת ערכי Registry מקובץ Batch

אתמול אחד הלקוחות התקשר ובפיו בעיה, "יש לי לוגין סקריפט אשר מריץ התקנות כאלה ואחרות על התחנות, הבעיה היא שאותו הלוגין סקריפט משמש את המשתמשים בכניסה לשרתי הטרמינל, ואני לא רוצה שההתקנות ייבצעו על השרתים... מה עושים?"

אני ישר זרקתי לו שיש 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 (שוב פעם, למה??) וצריך, חופשי להשתמש תמורת מנחה קטנה (קרמבו יהיה ממש מתאים).

Remote Desktop Connection 6.0.6001

כבר נכתבו אי אלו פוסטים על ה Windows Vista SP1 RC, אור כתב על זה שה SP1 גורם סופסוף ללפטופים בעלי Vista לעבוד כמו שצריך עם מצב ה Sleep (ד"א, גם לי היתה הרגשה שזה פותר, אבל לפני כמה ימים שוב פעם הלפטופ נתקע בחזרה מ Sleep, האכזבה אגב, היתה קשה), מנגד, אריאל כתב על התוספת המשמעותית ביותר ל SP1.

אבל אני, פריק של SBC מוכר וידוע, ישר פתחתי RDC (למי שתוהה, ככה נקרא עכשיו ה RDP client) והסתכלתי האם התחדשה הגרסא.
והפלא ופלא... היא אכן התחדשה, ב Vista SP1 גירסת ה RDC שודרגה של 6.0.6001, הגירסא הרשמית שזמינה להורדה כרגע ד"א, היא 6.0.6000.

חיפשתי איזושהי דוקומנטציה על הקליינט החדש, אבל די לריק... חול וחול בעיקר.
אבל... זה לא ישבור בלוגר חוקר (וואלה??) כמוני, ובאווירת "אם אין אני לי, מי לי" התחלתי לבדוק.

הדבר הראשון שבולט כשמתחילים לעבוד עם הקליינט החדש הוא שמיקרוסופט ירדה מבקשת שם משתמש וסיסמא עוד לפני פתיחת ה session לשרת המרוחק, אני יודע שזה הפריע ללא מעט אנשים.
עכשיו זה נראה ככה:
image 
הקליינט לא מבקש הזדהות עוד בטרם ההתחברות, אלה מציין שההזדהות תתבצע כאשר יווצר ה connection לשרת המרוחק.
אם אתם רוצים לשמור את פרטי ה login שלכם לשרת ספציפי, עדיין אפשר לשמור את שם המשתמש והסיסמא, ואז הקליינט ייזהה את העובדה שישנם פרטי לוגין שמורים לשרת הרלוונטי ויודיע על כך בנוסף לאפשרות לערוך את פרטי הלוגין הנ"ל או למחוק אותם.
image

עוד דבר ששמתי לב אליו, הוא שתוקנה בעיית ההשתהות בהתחברות עם RDC 6 שכתבתי עליה ממש לא מזמן.
כל עוד לא נודע לי אחרת, אני אקח את הקרדיט עלי... :)

דבר אחרון שהתחדש, זה אופן העבודה עם ה TS Gateway.
בקליינט החדש שונו שלושה דברים (זה מה שהצלחתי למצוא לפחות), לתפריט הגדרת החיבור ל TS Gateway נוסף חלק של ההזדהות מול שרת היעד (אחרי שכבר עברנו את ה TS Gateway), מעכשיו אפשר לבחור האם להשתמש באותם נתוני משתמש גם ל TS Gateway וגם לשרת היעד.
image 

דבר נוסף שהשתנה (כתוצאה מזה שאין צורך להזין את פרטי המשתמש לפני ההתחברות לשרת) הוא שאם קודם בהתחברות לשרת דרך ה TS Gateway היה צורך להזין את פרטי הלוגין קודם לשרת היעד ואחרי זה ל TS Gateway, אז עכשיו מזינים את פרטי הלוגין ל TS Gateway ואם לא בחרנו להשתמש באותם הנתונים לשרת המרוחק, אז ה connection ייתבצע ואת הלוגין נעשה כבר בתוך ה session.

הדבר האחרון שהשתנה וקשור לאופן העבודה עם TS Gateway הוא הוספה של אייקון נחמד ב bar של חלון ה session אשר מאפשר לנו לדעת שאנחנו מחוברים דרך TS Gateway ובלחיצה עליו גם לקבל פרטים על אופן החיבור.
image

אז לסיכומו של עניין, אם לא פתרון לבעיית החזרה ממצב 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).

clip_image002

אז סחתיין.

ה Press Release.

 

 

Group Policy preferences על קצה הקרחון

לפני כמה ימים שוחררה גירסת 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 מקבל תיקיה משל עצמו, ככה זה נראה.
image

כמו שאפשר לראות, האפשרויות מחולקות ל 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.

קצת תמונות
image  image

image  image

הכל טוב ויפה, אפשר להגדיר דברים שלא היה אפשר להגדירimage
עד עכשיו ב 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

ה- Walkthru של פעם

אתמול היתי בחג של החגים אשר מתרחש בשכונת ואדי ניסנאס בחיפה, זהו פסטיבל לחגיגת שלושת החגים המתרחשים אחד סמוך לשנה של שלוש הדתות, חנוכה - חג מולד - רמאדאן, ואשר אמור "לבטא את הפסיפס האנושי של תושבי חיפה ואת השכנות הטובה בין בני כל הדתות בחיפה, הפסטיבל שם לעצמו למטרה את קידום וטיפוח הסובלנות באמצעות תרבות ואמנות"

DSCF1772אחרי שהסתובבנו בשכונה קצת ועברנו בין כל הביתנים והחנויות (דווקא נחמד, שווה לנסות אם אתם בסביבה) הבחנתי בפרט משונה, למרות שחוגגים כביכול את שלושת החגים, לא ראיתי ולא סופגניה אחת לרפואה (סימנים לחג הרמאדאן אני לא מכיר, ככה שקשה לי להביא דעה על העניין), מה שראיתי זה הרבה סימנים של חג המולד, סנטה, עצי אשוח וכל מה שקשור בזה (את האמת לא ממש מפתיע אם חושבים על זה עוד פעם, תושבי ואדי ניסנאס הם נוצרים), אבל בכל זאת, חוסר הסופגניות במקום כמעט והרס לי את דיאטת הסופגניות שאני עורך בימים אלו (לפחות סופגניה אחת ביום), וכן, נסיתי להתנחם במלבי/כנאפה/בקלאווה.

ולעניינו, אחרי הסתובבות קצרה במתחם נכנסו לבית הגפן (שהוא מין מרכז תרבותי של השכונה, או משהו כזה) שבו הסתבר נערך יריד עתיקות.
בין כל העתיקות והפריטים ההסטוריים (איזה אושר זה היה לראות אוסף כרטיסי טלכרט) מצאתי את הדבר הבא:

DSCF1832 

תשימו לב, זה לא סתם עוד חוברת פורנו רך, זהו מורה דרך מעשי ומדעי (!!!) להבנת חיי המין.
כנראה שהכותבים קיבלו תגובות (היה כבר טוקבקים?) על אי דיוקים בגירסא הראשונה והוציאו גירסא 1.1 למורה הדרך, ככה שאי אפשר להתווכח פה על הרצינות של המדריך.
אז זה המקור לכל ה Walkthrus שאנחנו מכירים כיום?

איטיות בהתחברות עם Remote Desktop Connection 6.0

New Picture (13)

היום נתקלתי בתופעה משונה עם ה 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 לשרת המרוחק נפתח ישר ללא שום השתהות מיותרת.

טרם מצאתי פתרון של מיקרוסופט לסוגיה, ככה שאם מישהו יודע/יכול לעזור בלהאיר את עיניהם של האנשים האחראים לסיפור, יבורך.

VHD Resizer

אז התקדמתם, יש לכם כבר עשרות מכונות וירטואליות, שרצות על Virtual Server כמובן (אני לא יורק לבאר :) ) אתם מתקינים עליהן גירסאות בטא של תוכנות כאילו אין מחר, אבל בדיוק כשבאתם להוריד לאחת המכונות הוירטואליות את אוסף הרקעים של אוונג'לין לילי (הלא היא קייט מאבודים... נו באמת, זה א' ב') או אולי של אמילי סקוט (הלא היא דוגמנית הלבשה תחתונה מדופלמת... לא ההלבשה, היא) גיליתם שנגמר המקום שהקצתם למכונה הוירטואלית, כלומר הגעתם לסף של קובץ ה VHD (אם בכלל קיבעתם אותו מלחתכילה).
image 

כדי לא לוותר על להתענג מיופיהן של עלמות החן החסודות אוונג'לין את אמילי ברקע, מה שצריך זה רק להגדיל את ה VHD לגודל המתאים.
בשביל זה ישנו כלי מופלא אשר עושה את העבודה בשבילנו, ושמו VHD Resizer מבית vmToolkit (החברה שהוציאו גם את VMDK to VHD Convertor המצויין).
אולי חלקכם מכירים את ה VHD Resizer בשמו הקודם VHD Expander.

כל הסיפור נעשה ממש פשוט עם ה VHD Resizer, מכבים את המכונה הוירטואלית, מפעילים את ה resizer, מפנים ל vhd הישן ובוחרים איפה למקם את ה vhd החדש וגודלו (עד 4000 ג'יגה).
image 

לוחצים על resize ומחכים (העניין יכול לקחת זמן, תלוי בגדלים).

מקשרים את המכונה ל vhd החדש במקום הישן והחלק הנוסף יחכה לכם ב disk management של המכונה כ unallocated space.
את אותו שטח יהיה אפשר לצרף לכונן קיים או ליצור כונן חדש.

לאחר שיצרנו את המקום המתבקש, נוכל להוריד סופסוף את הרקעים הרצויים ולהנות ולעבוד כמו שצריך.

image

כל מה שרציתם לדעת על בלוגינג ולא היה לכם את מי לשאול