Microsoft 已識別 Internet Explorer 安全性補充程式最近的 MS03-32 安全性更新程式中有錯誤,正在執行 Microsoft Windows XP 的電腦上套用補充程式時,有 Microsoft ASP.NET 1.0 安裝。可安裝此補充程式,以手動方式或從 Windows Update 網站取得最新的重大更新。
安裝此補充程式之後任何要求對 ASP.NET 時收到下列的錯誤訊息:
這個 Bug 會影響只在 Windows XP 執行 ASP.NET 1.0 的電腦。它並不會影響正在執行 Microsoft Windows 2000 或 Microsoft Windows Server 2003 的電腦。這個 Bug 也不會影響執行 Windows 的電腦安裝 ASP.NET 1.1 的 XP 和有。
下表列出作業系統和受到這個 Bug 的 Microsoft.NET Framework 版本:
摺疊此表格展開此表格
| .NET Framework 版本 | 作業系統 | 受影響 |
|---|
| 1.0 | Windows 2000 專業版 | 否 |
| 1.0 | Windows 2000 Server | 否 |
| 1.0 | Windows XP 商用版 | 是的 |
| 1.0 | Windows Server 2003 | 否 |
| 1.1 | Windows 2000 專業版 | 否 |
| 1.1 | Windows 2000 Server | 否 |
| 1.1 | Windows XP 商用版 | 否 |
| 1.1 | Windows Server 2003 | 否 |
如果要解決這個 Bug,執行本文的 「 批次檔案 」 一節所述的批次檔。此批次檔會執行下列作業:
- 停止 IIS 和 ASP.NET 狀態服務。
- 刪除並再重新建立 ASPNET 帳戶使用已知的臨時密碼。
- 使用 Windows runas 指令開始建立 ASPNET 使用者設定檔的可執行檔。ASPNET 使用者設定檔運作略過此問題。
- reregisters ASP.NET。這個步驟會建立新的隨機密碼之帳戶,並套用預設 ASP.NET 存取控制設定帳戶。
- 重新啟動 Microsoft 網際網路資訊服務 (IIS) 服務。
批次檔案包含 1pass@word 」 的一個硬式編碼的臨時密碼。將會提示您輸入這個密碼
runas 指令批次檔執行時。
runas 命令已完成後 ASPNET 帳戶密碼是藉由使用強式的隨機值重新建立。
重要附註
- 如果硬式編碼密碼不符合密碼複雜性需求,在您的環境中,可能會失敗批次檔。如果此問題您可以將密碼變更適合您環境的另一個值。
- 如果您已新增自訂的存取控制設定] 或 [ASPNET 帳戶的資料庫帳戶權限,您必須重新建立這些設定值或權限此批次檔完成之後。這是因為新的安全性識別碼 (SID) 指派給此帳戶重新建立帳戶時。
- 如果您使用不同於 ASPNET 帳戶的自訂帳戶來執行 ASP.NET 背景工作處理序,請勿執行此批次檔。而是,您必須登入到電腦以互動方式,或您必須使用 runas 命令使用該自訂帳戶。這個程序會建立自訂的帳戶的使用者設定檔。
如果要使用批次檔,請依照下列步驟執行。
附註您的帳戶必須是系統管理員群組的成員。
- 啟動 [記事本]。確認 [自動換行] 已開啟]。
- 批次檔程式碼貼入 [記事本] 中。
- 將檔案儲存為 c:\fixup.cmd。
- 按一下 [開始],然後按一下 [執行]。
- 鍵入 cmd.exe,並按下 ENTER。
- 在命令提示字元下鍵入 c:\fixup.cmd,並按下 ENTER。
- 當提示您輸入密碼時,輸入 1pass@word。
第二個 [命令提示字元] 視窗隨即出現。 - 套用此補充程式之後第二個的命令提示字元視窗中鍵入 exit,並按下 ENTER。
- 如果您先前已設定自訂的存取控制設定] 或 [ASPNET 帳戶的資料庫帳戶權限,您現在必須重新套用這些設定。
批次檔案
REM Start Batch File
REM This batch file addresses issues that exist with the MS03-32
REM Security Update when you run ASP.NET 1.0 on Windows XP.
REM If you have any other configuration, do not run this file.
@echo off
if exist %SystemRoot%\microsoft.net\framework\v1.1* goto v11_installed
REM Change to the .NET Framework installation directory.
cd /d %SystemRoot%\microsoft.net\framework\v1.0.3705
echo "Stopping IIS."
iisreset /stop
echo "----------------------"
echo "Stopping the ASP.NET state service if it is running."
net stop aspnet_state
echo "----------------------"
echo "Deleting the ASPNET account."
net user ASPNET /delete
echo "----------------------"
echo "Creating a new ASPNET account with a temporary password."
net user ASPNET 1pass@word /add
echo "----------------------"
echo "Launching runas to create a profile."
echo "You see a command window being created."
echo "Type 1pass@word when you are prompted for the temporary password."
runas /profile /user:ASPNET cmd.exe
echo "----------------------"
echo "Reregistering ASP.NET and the ASPNET account."
aspnet_regiis -i
echo "A new random password has been autocreated for the ASPNET account."
echo "----------------------"
echo "Restarting IIS."
iisreset /start
echo "----------------------"
echo "The workaround has been applied."
echo "Try to access an ASP.NET page."
echo "If you have any custom access controls settings for the ASPNET account,"
echo "you must re-create them."
echo "If you were running the ASP.NET state service, you must restart it."
goto done
:v11_installed
echo "Version 1.1 appears to be installed. Do not run this file."
:done
REM End of batch file.
Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的有錯誤。