文章編號: 970759 - 上次校閱: 2009年10月1日 - 版次: 3.2

在 Microsoft Windows Server 2008 容錯移轉叢集中設定 IIS 7.0 全球資訊網發行服務

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

簡介

本文將告訴您,如何在 Microsoft Windows Server 2008 容錯移轉叢集中設定 Microsoft 網際網路資訊服務 (IIS) 7.0。本文中的程序僅適用於 「 全球資訊網發行服務。如需有關如何設定 FTP 發行服務在容錯移轉叢集中的說明,請參閱:
974603? (http://support.microsoft.com/kb/974603/ ) 如何在 Windows Server 2008 容錯移轉叢集中,IIS 7.0 的設定 FTP 7.5

其他相關資訊

在舊版的網際網路資訊服務,Microsoft 所提供支援使用 Microsoft 叢集基礎結構的高可用性 Web 伺服器執行個體的泛用資源監視器元件。然而,自訂程式碼已需要完全實現這類解決方案的可能性。而且,泛型 Microsoft 所提供的指令碼無法滿足客戶的需求。若要設定 IIS 7.0 使用 Windows 伺服器容錯移轉叢集的叢集環境中,您必須使用自訂的 (指令碼) 程式碼來啟用高可用性案例。當您執行這項操作的使用者可以自訂安裝程式以符合其需求。如此一來它們高可用性整合的 Web 應用程式的完整控制。此外,已引入 IIS 7.0 中的指令碼 」 介面管理與監視提供更豐富的環境,比先前所提供指令碼。

附註IIS 7.0 安裝檔案不正確地包含 [Clusweb.vbs 和 Clusftp.vbs 指令碼檔案,在 IIS 6.0 用 IIS 叢集系統管理工作。請勿使用 IIS 7.0 使用這些指令碼。

Microsoft 建議系統管理員仔細評估使用的網路負載平衡 (NLB) 做為相對於使用容錯移轉叢集執行 IIS 7.0 的多重伺服器與改善延展性與可用性的 Web 應用程式的主要及慣用方法。NLB 的優點之一就是所有的伺服器可以積極參與傳入的 HTTP 要求的同步處理。另一個好處是 NLB IIS 環境中它可以是更容易地同時提供高可用性的 Web 應用程式支援循環更新與復原。如需有關使用 IIS 7.0 中的 NLB 環境,請參閱下列 Microsoft 網站:
http://learn.iis.net/page.aspx/213/network-load-balancing (http://learn.iis.net/page.aspx/213/network-load-balancing)
http://technet.microsoft.com/en-us/library/cc770558.aspx (http://technet.microsoft.com/en-us/library/cc770558.aspx)
請務必考慮 IIS 叢集的叢集 IIS 服務並不一定保證對 Web 應用程式的高可用性解決方案。在 IIS 服務 (特別是 [WWW 服務) 可能會啟動並執行,同時特定應用程式集區 ’s 裝載處理序可能已經終止,或應用程式可能會擲回 HTTP 的內部伺服器錯誤。叢集 Web 應用程式,並使用自訂指令碼來監視健康值是達到高可用性 IIS 叢集使用容錯移轉叢集正確,以及建議的方法。下面是範例指令碼,可以監視來決定是否啟動或非應用程式集區的狀態。

若要進行使用容錯移轉叢集的 IIS Web 伺服器的高可用性請依照下列步驟執行。 下面更詳細地說明步驟 3 到 7。
  1. 在所有叢集節點上安裝網頁伺服器角色。如需詳細資訊,請造訪下列 Microsoft 網站]:
    http://technet.microsoft.com/en-us/library/cc771752.aspx (http://technet.microsoft.com/en-us/library/cc771752.aspx)
  2. 在所有叢集節點上安裝容錯移轉叢集功能,並建立叢集。如需詳細資訊,請造訪下列 Microsoft 網站]:
    http://technet.microsoft.com/en-us/library/dd197477.aspx (http://technet.microsoft.com/en-us/library/dd197477.aspx)
  3. 設定將會用於 IIS 共用組態的檔案共用。
  4. 在所有叢集節點上設定 IIS 共用的設定。
  5. 在所有叢集節點上設定 IIS 離線檔案共用的組態。
  6. 設定 (包括相關聯的應用程式集區) 的網站,並在一個叢集節點上指定其內容的位置。
  7. 藉由建立泛用的指令碼在容錯移轉叢集設定您的網站上的高可用性。

設定將會用於共用的 IIS 設定的檔案共用

  1. 建立存取將會用於 IIS 共用設定共用的使用者。
  2. 建立檔案共用。這個共用會用來儲存 IIS 共用的設定,將所有叢集節點上的 IIS 之間共用。有多個選項:
    • 在不屬於任何容錯移轉叢集的獨立伺服器上, 建立檔案共享資源。
    • 在其他的 Windows 伺服器容錯移轉叢集上建立高可用性檔案共用。如需詳細資訊,請造訪下列 Microsoft 網站]:
      http://technet.microsoft.com/en-us/library/cc731844.aspx (http://technet.microsoft.com/en-us/library/cc731844.aspx)
    • 同一個容錯移轉叢集主控高可用性的網站上, 建立高可用性檔案共享資源。如需詳細資訊,請造訪下列 Microsoft 網站]:
      http://technet.microsoft.com/en-us/library/cc731844.aspx (http://technet.microsoft.com/en-us/library/cc731844.aspx)
  3. 您在步驟 2 中建立的共用上設定權限。 讓您在步驟 1 完全控制 」 權限至檔案共用和 NTFS 權限的使用者。
  4. 確認所有叢集節點都都能夠瀏覽至檔案共用。 檔案共用路徑是 \ \ <fileserver>\ <share>。

在所有叢集節點上設定 IIS 共用的設定

附註有了 IIS 共用上設定 Windows 2008 伺服器因為到遺失的權限應用程式主機協助程式服務一個問題。 共用工作設定,您必須遵循這些步驟,當您設定 Windows 2008 伺服器上的 IIS 共用設定。
  1. 開啟系統管理的命令提示字元。
  2. 執行下列命令:
    net stop apphostsvc
  3. 執行下列命令:
    sc privs apphostsvc SeChangeNotifyPrivilege/SeTcbPrivilege/SeImpersonatePrivilege
  4. 執行下列命令:
    net start apphostsvc
在您完成這些步驟在叢集中每個 Windows 2008 伺服器上的後繼續 [本節中的 [設定如所述的 IIS 共用設定]。

在其中一個叢集節點,匯出至檔案共用的共用的設定:
  1. 巡覽至 [系統管理工具,然後按一下 [網際網路資訊服務 (IIS) 管理員
  2. 在左窗格中按一下 [伺服器] 名稱節點。
  3. 連按兩下 [共用設定] 圖示。
  4. 在 [共用設定頁面上,按一下 [匯出組態 在匯出組態檔的 [動作] 窗格 (右窗格) 中從本機電腦到另一個位置。
  5. 在 [匯出組態] 對話方塊輸入檔案共用路徑 (\ \ <fileserver>\ <share>) 在 實體路徑] 方塊中。
  6. 按一下 [連線身分,] 然後輸入使用者名稱和有權存取共用的使用者帳戶的密碼在其中共用的組態儲存],然後按一下 [確定]。這個帳戶將用來存取共用。您應該使用受限制的 Active Directory 帳戶不是網域系統管理員。
  7. 在 [匯出組態] 對話方塊輸入密碼會用來保護該的加密金鑰,然後再按一下 [確定]
  8. 在 [共用的組態] 頁面按一下以選取 [啟用共用的設定] 核取方塊。
  9. 輸入實體路徑、 使用者] 帳戶和先前,輸入的密碼,然後按一下 [在 [動作] 窗格中的 [套用]
  10. 在 [加密金鑰密碼] 對話方塊輸入先前,設定加密金鑰密碼,然後再按一下 [確定]]。
  11. 在 [共用設定] 對話方塊中,按一下 [確定]
  12. 按一下 [確定]
在每個其他叢集節點上使用共用剛才匯出至檔案共用的設定:
  1. 巡覽至 [系統管理工具,然後按一下 [網際網路資訊服務 (IIS) 管理員
  2. 按一下 [伺服器名稱] 節點。
  3. 連按兩下 [共用設定] 圖示。
  4. 在 [共用的組態] 頁面按一下以選取 [啟用共用的設定] 核取方塊。
  5. 輸入檔案共用的實體路徑 (\ \ <fileserver>\ <share>),使用者] 帳戶與密碼您先前,輸入然後按一下 [在 [動作] 窗格中的 [套用]
  6. 在 [加密金鑰密碼] 對話方塊輸入先前,設定加密金鑰密碼,然後再按一下 [確定]]。
  7. 在 [共用設定] 對話方塊中,按一下 [確定]
  8. 按一下 [確定]
附註如需有關如何設定 IIS 中的共用組態的詳細資訊,請造訪下列 Microsoft 網站]:
http://learn.iis.net/page.aspx/264/shared-configuration (http://learn.iis.net/page.aspx/264/shared-configuration)

在所有叢集節點上設定 IIS 離線檔案共用設定

在每個叢集] 節點上啟用離線檔案:
  1. 安裝桌面體驗
    1. 巡覽至 [系統管理工具,然後按一下 [伺服器管理員
    2. 在左窗格中,按一下 [功能]。
    3. 在右窗格中,按一下 [新增功能]。
    4. 按一下以選取 [桌面體驗] 核取方塊。
    5. 按一下 [安裝] 以安裝桌面體驗。
    6. 重新啟動電腦。
  2. 在 [控制台] 中,開啟 [離線檔案]。
  3. 按一下 [啟用離線檔案]。不要重新啟動電腦這一次。
  4. 確定快取] 設為 唯讀。執行此動作執行下列命令在提高權限的 cmd 視窗:
    REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f 
    
  5. 重新啟動電腦。
  6. 從電腦瀏覽至檔案伺服器。以滑鼠右鍵按一下包含 IIS 共用的組態之共用的然後按一下 [永遠可以離線瀏覽
    注意 如果安裝程式檔案共用相同的容錯移轉叢集上高度可用的主控 IIS 節點,永遠可離線瀏覽] 選項時不會顯示您用滑鼠右鍵按一下共用上如果您是在叢集節點正在裝載高度可用的檔案伺服器。您必須移動到另一個節點的高可用的檔案伺服器應用程式。
  7. 在 [控制台] 中,開啟 [離線檔案]。按一下 [開啟同步中心,然後按一下 [排程]。
  8. 排程離線檔案同步處理的每一天或按照需求。您也可以設定離線同步執行每隔幾分鐘即使您不執行設定一個排程器,當您變更 Applicationhost.config 檔案中的東西,變更會反映在 Web 伺服器上。
附註 如需有關如何在 IIS 中設定為共用的組態的離線檔案的詳細資訊,請造訪下列 Microsoft 網站]:
http://learn.iis.net/page.aspx/212/offline-files-for-shared-configuration (http://learn.iis.net/page.aspx/212/offline-files-for-shared-configuration)

設定 (包括相關聯的應用程式集區) 的網站,並在一個叢集節點上指定其內容的位置

尋找叢集節點所擁有的叢集磁碟資源的 Web 站台內容檔案所在的位置:
  1. 巡覽至 [系統管理工具,然後按一下 [容錯移轉叢集管理
  2. 連線到叢集。如果就在其中一個叢集節點叢集會自動出現在清單上。
  3. 在 [存放裝置,尋找 Web 網頁內容將會存放在其的磁碟資源。若要執行此動作展開儲存區樹狀目錄的磁碟資源。 請確定儲存不使用由叢集上任何其他高可用性應用程式中。您會找到 可用的存放裝置] 下儲存。
  4. 請注意這項資源已連線的叢集節點。您會在該叢集節點上設定 IIS。
  5. 請注意叢集磁碟資源名稱。您可以使用的內容檔] 就可以了。
將資源已連線在叢集節點上, [Web 伺服器設定為使用共用的磁碟的網站內容:
  1. 巡覽至 [系統管理工具,然後按一下 [網際網路資訊服務 (IIS) 管理員
  2. 在左窗格中展開 [伺服器名稱節點]。
  3. 展開 [網站,] 然後按一下 [網站,] 下的 [您正在設定站台。
  4. 在右窗格中,選取 [進階設定],在 [管理網站]。
  5. 找不到 [實體路徑] 屬性,在 [一般 設定],然後輸入在網站內容檔的所在位置的位置。這是您在先前的程序的步驟 5 中記下的叢集磁碟資源的位置。
  6. 按一下 [確定]

藉由建立泛用的指令碼容錯移轉叢集管理] 中設定您的網站上的高可用性

若要設定 IIS Web 伺服器的高可用性的最後一個步驟,設定將用來監視網站和 Web 站台的應用程式集區的一般指令檔資源:
  1. 每個叢集] 節點上將複製到 Windows\System32\inetsrv\Clusweb7.vbs 的指令碼在本文結尾處。
  2. 預設情況下,指令碼會監視名為預設的網站和應用程式集區名為 DefaultAppPool 」 的網站。如果這不是正確的網站和應用程式集區,變更 SITE_NAMEAPP_POOL_NAME 變數。請確定相同的網站和指令碼中的應用程式集區存在於所有叢集節點上。請注意該名稱會區分大小寫。
  3. 巡覽至 [系統管理工具,然後按一下 [容錯移轉叢集管理
  4. 連線到叢集。如果就在其中一個叢集節點叢集會自動出現在清單上。
  5. 叢集] 上按一下滑鼠右鍵,然後按一下 [設定服務或應用程式。精靈會建立高可用性工作負載。
  6. 按一下 [一般指令碼
  7. 從下列路徑中選取指令碼檔案: %systemroot%\System32\Inetsrv\clusweb7.vbs
  8. 設定用戶端將用來連線到高可用性的網站的 Web 站台名稱用戶端存取點 (CAP) 名稱。指定要用於 Web 站台 CAP 靜態的 IP。如果您使用 DHCP,不會顯示此選項。
  9. 在 [選取的存放裝置] 步驟選取網站內容檔位於叢集共用的磁碟。儲存體應該是未使用由叢集上任何其他高可用性應用程式。請注意,如果檔案共用,用於 IIS 共用設定裝載在相同的叢集上,不同的磁碟資源應該能用在這裡。
  10. 確認設定後精靈會建立叢集群組,叢集資源,與該資源之間的相依性,然後使資源上線。
附註若要裝載在相同的容錯移轉叢集上多個的高可用性網站,請遵循相同的步驟以前述方式]。為每個網站和不同的叢集共用存放裝置,不過,使用不同的指令碼檔案。比方說在 %systemroot%\System32\Inetsrv clusweb7.vbs 用於第一個 Web 站台在第二個,clweb7-3.vbs,第三個的 clweb7 2.vbs 等等。每個指令碼檔案會監視不同的網站和應用程式集區
'<begin script sample>


'This script provides high availability for IIS websites
'By default, it monitors the "Default Web Site" and "DefaultAppPool"
'To monitor another web site, change the SITE_NAME below
'To monitor another application pool, change the APP_POOL_NAME below
'More thorough and application-specific health monitoring logic can be added to the script if needed

Option Explicit

DIM SITE_NAME
DIM APP_POOL_NAME
Dim START_WEB_SITE
Dim START_APP_POOL
Dim SITES_SECTION_NAME
Dim APPLICATION_POOLS_SECTION_NAME
Dim CONFIG_APPHOST_ROOT
Dim STOP_WEB_SITE


'Note:
'Replace this with the site and application pool you want to configure high availability for
'Make sure that the same web site and application pool in the script exist on all cluster nodes. Note that the names are case-sensitive.
SITE_NAME = "Default Web Site"
APP_POOL_NAME = "DefaultAppPool"

START_WEB_SITE = 0
START_APP_POOL = 0
STOP_WEB_SITE  = 1
SITES_SECTION_NAME = "system.applicationHost/sites"
APPLICATION_POOLS_SECTION_NAME = "system.applicationHost/applicationPools"
CONFIG_APPHOST_ROOT = "MACHINE/WEBROOT/APPHOST"

'Helper script functions


'Find the index of the website on this node
Function FindSiteIndex(collection, siteName)

    Dim i

    FindSiteIndex = -1    

    For i = 0 To (CInt(collection.Count) - 1)
        If collection.Item(i).GetPropertyByName("name").Value = siteName Then
            FindSiteIndex = i
            Exit For
        End If		 
    Next

End Function


'Find the index of the application pool on this node
Function FindAppPoolIndex(collection, appPoolName)

    Dim i

    FindAppPoolIndex = -1    

    For i = 0 To (CInt(collection.Count) - 1)
        If collection.Item(i).GetPropertyByName("name").Value = appPoolName Then
            FindAppPoolIndex = i
            Exit For
        End If		 
    Next

End Function

'Get the state of the website
Function GetWebSiteState(adminManager, siteName)

    Dim sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
    Set sitesSection = adminManager.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, siteName)
    If index = -1 Then
        GetWebSiteState = -1
    End If	    

    Set siteSection = sitesSectionCollection(index)

    GetWebSiteState = siteSection.GetPropertyByName("state").Value

End Function

'Get the state of the ApplicationPool
Function GetAppPoolState(adminManager, appPool)

    Dim configSection, index, appPoolState

    set configSection = adminManager.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)
    index = FindAppPoolIndex(configSection.Collection, appPool)

    If index = -1 Then
        GetAppPoolState = -1
    End If	    

    GetAppPoolState = configSection.Collection.Item(index).GetPropertyByName("state").Value
End Function


'Start the w3svc service on this node
Function StartW3SVC()

    Dim objWmiProvider
    Dim objService
    Dim strServiceState
    Dim response

    'Check to see if the service is running
    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider.get("win32_service='w3svc'")
    strServiceState = objService.state

    If ucase(strServiceState) = "RUNNING" Then
        StartW3SVC = True
    Else
        'If the service is not running, try to start it
        response = objService.StartService()

        'response = 0  or 10 indicates that the request to start was accepted
        If ( response <> 0 ) and ( response <> 10 ) Then
            StartW3SVC = False
        Else
            StartW3SVC = True
        End If
    End If
    
End Function


'Start the application pool for the website
Function StartAppPool()

    Dim ahwriter, appPoolsSection, appPoolsCollection, index, appPool, appPoolMethods, startMethod, callStartMethod
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")

    Set appPoolsSection = ahwriter.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)       
    Set appPoolsCollection = appPoolsSection.Collection

    index = FindAppPoolIndex(appPoolsCollection, APP_POOL_NAME)
    Set appPool = appPoolsCollection.Item(index)
    
    'See if it is already started
    If appPool.GetPropertyByName("state").Value = 1 Then
        StartAppPool = True
        Exit Function
    End If

    'Try To start the application pool
    Set appPoolMethods = appPool.Methods
    Set startMethod = appPoolMethods.Item(START_APP_POOL)
    Set callStartMethod = startMethod.CreateInstance()
    callStartMethod.Execute()
    
    'If started return true, otherwise return false
    If appPool.GetPropertyByName("state").Value = 1 Then
        StartAppPool = True
    Else
        StartAppPool = False
    End If

End Function


'Start the website
Function StartWebSite()

    Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
    Set siteSection = sitesSectionCollection(index)

    if siteSection.GetPropertyByName("state").Value = 1 Then
        'Site is already started
        StartWebSite = True
        Exit Function
    End If

    'Try to start site
    Set siteMethods = siteSection.Methods
    Set startMethod = siteMethods.Item(START_WEB_SITE)
    Set executeMethod = startMethod.CreateInstance()
    executeMethod.Execute()

    'Check to see if the site started, if not return false
    If siteSection.GetPropertyByName("state").Value = 1 Then
        StartWebSite = True
    Else
        StartWebSite = False
    End If

End Function


'Stop the website
Function StopWebSite()

    Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod, autoStartProperty
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
    Set siteSection = sitesSectionCollection(index)

    'Stop the site
    Set siteMethods = siteSection.Methods
    Set startMethod = siteMethods.Item(STOP_WEB_SITE)
    Set executeMethod = startMethod.CreateInstance()
    executeMethod.Execute()

End Function



'Cluster resource entry points. More details here:
'http://msdn.microsoft.com/en-us/library/aa372846(VS.85).aspx

'Cluster resource Online entry point
'Make sure the website and the application pool are started
Function Online( )

    Dim bOnline
    'Make sure w3svc is started
    bOnline = StartW3SVC()

    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because w3svc could not be started."
        Online = False
        Exit Function
    End If


    'Make sure the application pool is started
    bOnline = StartAppPool()
    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because the application pool could not be started."
        Online = False
        Exit Function
    End If


    'Make sure the website is started
    bOnline = StartWebSite()
    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because the web site could not be started."
        Online = False
        Exit Function
    End If

    Online = true 

End Function

 
'Cluster resource offline entry point
'Stop the website
Function Offline( )

    StopWebSite()
    Offline = true

End Function


'Cluster resource LooksAlive entry point
'Check for the health of the website and the application pool
Function LooksAlive( )

    Dim adminManager, appPoolState, configSection, i, appPoolName, appPool, index

    i = 0
    Set adminManager  = CreateObject("Microsoft.ApplicationHost.AdminManager")
    appPoolState = -1

    'Get the state of the website
    if GetWebSiteState(adminManager, SITE_NAME) <> 1 Then
        Resource.LogInformation "The resource failed because the " & SITE_NAME & " web site is not started."
        LooksAlive = false
        Exit Function
    End If


    'Get the state of the Application Pool
     if GetAppPoolState(adminManager, APP_POOL_NAME) <> 1 Then
         Resource.LogInformation "The resource failed because Application Pool " & APP_POOL_NAME & " is not started."
         LooksAlive = false  
	 Exit Function
     end if

     '  Web site and Application Pool state are valid return true
     LooksAlive = true
End Function


'Cluster resource IsAlive entry point
'Do the same health checks as LooksAlive
'If a more thorough than what we do in LooksAlive is required, this should be performed here
Function IsAlive()   

    IsAlive = LooksAlive

End Function


'Cluster resource Open entry point
Function Open()

    Open = true

End Function


'Cluster resource Close entry point
Function Close()

    Close = true

End Function


'Cluster resource Terminate entry point
Function Terminate()

    Terminate = true

End Function
'<end script sample>

這篇文章中的資訊適用於:
  • Microsoft Internet Information Services 7.0
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 Service Pack 2
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
關鍵字:?
kbmt kbhowto kbsurveynew KB970759 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:970759? (http://support.microsoft.com/kb/970759/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。