顯示具有 Windows 標籤的文章。 顯示所有文章
顯示具有 Windows 標籤的文章。 顯示所有文章

2008/06/16

錯誤代碼: 0x80072EE2

工作環境遷移之後,每次執行 Windows Update 總是出現 [錯誤代碼: 0x80072EE2] 。找到以下看似相當豐富的 support 資訊,卻一點用處也沒有:
http://support.microsoft.com/kb/836941/zh-tw
終於有一天福至心靈,猜出問題的原因:雙層 NAT。我的 Windows XP 是接在一台 D-Link DI-704P 之內 (簡稱 704P-NAT),而 DI-704P 的 WAN port 則接到另一個以 Linux 建構的 private network (簡稱 Linux-NAT)。

幾個簡單的實驗:
  • XP 放在 Linux-NAT + 704P-NAT 之內 => 結果一直出現錯誤
  • XP 只放在 Linux-NAT 之內 => 順利完成 Windows Update
  • XP 只放在 704P-NAT 之內 => 也順利完成 Windows Update
想要進一步分析,所以用 WireShark 在 XP 上抓封包。發現進行 Windows Update 時,一開始都會有2 至 3 秒的溝通 (HTTP),然後一分多鐘之後再啟動第二次的溝通 (目的主機是 www.update.microsoft.com),但此時是 TLS (https) 連線,無法進一步分析。只知若出現錯誤,溝通的資料只有 11K 左右;反之,順利進入更新畫面則有 88K 的溝通資料。

看起來,Windows Update 的通訊協定無法通過兩層的 NAT。或者應該說,Windows Update 的通訊協定是 NAT-unfriendly,但有考慮到一層 NAT 的狀況。

2008/02/27

善用 Windows XP「執行身分」的命令

即使一部 Unix 機器只有自己一個人用,「在執行管理工作時,才以 root 身份做事」應該是使用 Unix 的人都有的基本觀念吧?但我發現很多使用 Windows 的人都習慣用 Administrator 的權限來進行一般日常的操作。究其原因,可能是貪圖方便吧?

Unix 有個 sudo 指令,可以很方便地切換 root 身份去執行需要管理權限的工作。其實,Windows 上也有類似的方法,那就是「執行身分 (Run As)」:在圖示上按右鍵就可以看到「執行身分」這個選項。

「執行身分」這個功能需要啟動 Secondary Logon 這項服務才可以動作。如果這服務沒有啟動,會有如下的錯誤訊息:
無法啟動服務,可能因為服務已停用,或它沒有相關的啟用裝置。
解決方法是:
  • 控制台 -> 系統管理工具 -> 服務 -> Secondary Logon
  • 將「啟動類型」改成「自動」即可
參考資料

2008/02/21

移除 Windows 桌面的資源回收筒

在現實的生活中,不論是家裏或辦公室,我的桌面都亂得可以。但我卻對電腦上的虛擬桌面有無法克制的潔癖:不喜歡放任何的東西,包含資源回收筒。

以下是移除資源回收筒的方法:
  1. 執行 regedit,找到以下機碼 (若有缺少,必須自己新增): HKEY_CURRENT_USER\Software
    \Microsoft\Windows\CurrentVersion
    \Explorer\HideDesktopIcons\NewStartPanel
  2. 編輯或新增一個內容為 1 的 DWORD 機碼,名稱如下: {645FF040-5081-101B-9F08-00AA002F954E}
  3. 儲存後登出再登入即可生效
參考資料