הגדרות שפות מקלדת למשתמשים
לא מכבר התעסקתי עם סקריפט אשר אמור לשייך למשתמש אשר נכנס לשרת את שפות המקלדת וההגדרות המקומיות הרלוונטיות לו (למשל יוזר גרמני אשר יתחבר לשרת, יקבל סביבה עם מקלדת גרמנית ואנגלית ו Regional Setting גרמנים).
המקלדות שהמשתמש יקבל מוגדרות ב HKCU\Keyboard Layout\Preload וכדי לקבוע את שפת ברירת המחדל ישנו כלי בשם Setlocale.exe, כדי לרפרש את כל ההגדרות צריך שהמשתמש ייצא ויכנס בחזרה.
עד כאן הכל טוב ויפה ובידיעה שכל התהליך עובד ללא בעיה ב windows 2000 הסתבר לי לאחר נסיונות שונים שזה לא בדיוק עובד ב windows 2003, למעשה המשתמש יקבל את המקלדות שהוגדרו, אבל מסיבה לא ברורה ה word לא מקבל את ההגדרות ומסרב לשתף פעולה...
ופה בא לעזרתי סקריפט נחמד מאוד שמצאתי אשר עושה refresh להגדרות העכבר והמקלדת (עניין העכבר לא רלוונטי לנו, ככה שאפשר להתעלם בגדול מהחלק הזה) ובנוסף לזה, הוא גם מבטל את הצורך ב logoff בכדי שהמשתמש יקבל את ההגדרות.
הסקריפט:
Option Explicit
On Error Resume Next
Dim Shell, Run, Preload, Substitute
Set Shell = WScript.CreateObject("WScript.Shell")
If Shell.RegRead("HKCU\Control Panel\Mouse\SwapMouseButtons") = 1 then
Run = Shell.run("rundll32 user32.dll,SwapMouseButton", 1, True)
End If
Preload = Shell.RegRead("HKCU\Keyboard Layout\Preload\1")
Substitute = Shell.RegRead("HKCU\Keyboard Layout\Substitutes\" & Preload)
If Substitute = "" then
Run = Shell.run("Setlocale.exe " & "0000" & right(Preload,4) & " " & "0000" & right(Preload,4), 1, True)
else
Run = Shell.run("Setlocale.exe " & "0000" & right(Preload,4) & " " & Substitute, 1, True)
End IF