Vista下紫光拼音無法使用解決辦法

2010-08-28 10:50:35來源:西部e網(wǎng)作者:

  在實際的使用過程中,發(fā)現(xiàn)這個方法在大多數(shù)時候可以正常工作,但是如果在打開IE之前,已經(jīng)調(diào)用過紫光拼音,則可能無法在IE瀏覽器里順利啟動紫光拼音。有人曾說,Windows vista沒有自帶的工具,無法查看和設(shè)置文件夾的完整性級別。

  果真是這樣嗎?

  筆者有幸在Tech.Ed北京聽了IE保護(hù)模式的負(fù)責(zé)人Robert Gu的一堂課,了解到Windows Vista其實自帶了一款命令行工具Icacls.exe,可以用它來查看和設(shè)置指定文件夾的完整性級別。

  提示

  Robert Gu,微軟總部的首席開發(fā)主管,目前負(fù)責(zé)IE 7安全的開發(fā)。他是EFS算法的發(fā)明者,曾主導(dǎo)EFS、PKI的開發(fā),是華人中的驕傲。

  現(xiàn)在我們可以大膽猜測,既然有現(xiàn)成的Icacls.exe可供使用,則完全可以用它來把紫光拼音的工作目錄“%Appdata%\Unispim”的完整性級別設(shè)置為“低級”,這樣無論是IE進(jìn)程(低級)和外部的進(jìn)程(中級),都可以訪問該工作目錄,紫光拼音就可以工作正常。

  說做就做,接下來就以Windows Vista RC2 Build 5744為例進(jìn)行介紹(需要注意的是,該Icacls命令在RC1下無法正常工作):

  1.首先需要給當(dāng)前的帳戶增加“修改一個對象標(biāo)簽”特權(quán),其內(nèi)部名稱為SeRelabelPrivilege。方法是運行secpol.msc,打開“本地安全策略”管理單元,在左側(cè)控制臺樹中展開本地策略、用戶權(quán)限分配,在右側(cè)詳細(xì)窗格里定位到“修改一個對象標(biāo)簽”策略項,雙擊該策略項,把當(dāng)前的登錄帳戶添加進(jìn)去,如附圖所示。


Vista下紫光拼音無法使用終極解決辦法

  2.注銷重新登錄,然后以管理員權(quán)限運行命令提示符,在命令提示符下輸入以下命令:

  Whoami/all |find /i "SeRelabelPrivilege"

  結(jié)果如附圖所示,這表示當(dāng)前登錄用戶已經(jīng)擁有SeRelabelPrivilege特權(quán),只是狀態(tài)為禁用。

Vista下紫光拼音無法使用終極解決辦法

  3.然后運行以下命令:

  Icacls.exe %AppData%\Unispim /SetIntegrityLevel Level:L

  命令結(jié)果如附圖所示,表示成功完成。

Vista下紫光拼音無法使用終極解決辦法

  4.可以繼續(xù)運行以下命令,查看%Appdata%\Unispim目錄的完整性級別:

  Icacls.exe %AppData%\Unispim

  命令結(jié)果如附圖所示,表示該目錄的強制完整性級別為“低”。


Vista下紫光拼音無法使用終極解決辦法

  經(jīng)過這樣處理以后,就可以正常在IE瀏覽器里啟用紫光拼音了,而無法針對特定網(wǎng)站禁用IE保護(hù)模式。如果偶爾發(fā)現(xiàn)無法在IE里啟動紫光拼音,這時候不要著急,只需關(guān)閉其他啟用輸入法的程序,一般是Outlook、Word、Notepad等編輯程序,然后就可以在IE里正常使用紫光拼音。

  接下來,還有兩個問題:

  1.細(xì)心的讀者朋友發(fā)現(xiàn)用Whoami/all命令查看當(dāng)前用戶的訪問令牌時,發(fā)現(xiàn)SeRelabelPrivilege特權(quán)是禁用的。而這個特權(quán)正是用來設(shè)置對象的完整性級別,那么這時候為什么Icacls命令可以成功運行?

  當(dāng)運行Icacls命令設(shè)置目錄的完整性級別時,該Icacls進(jìn)程的訪問令牌會自動啟用SeRelabelPrivilege特權(quán),以便命令能夠順利完成。

  2.由于Windows Vista RC1下的Icacls命令不能正常工作,這里可以下載一個第三方的命令行工具chml.exe。

關(guān)鍵詞:紫光拼音Vista