共用方式為


C# 和 PowerShell 腳本範例

本文提供裝載指引中提及的 PowerShell 和 C# 範例腳本摘要。 它們可用於部署、設定、移轉和布建工作。

作者 :Olive Oliver

部署腳本 -共用裝載

  1. 網頁伺服器

    這些 PowerShell 腳本將協助部署和設定網頁伺服器。 請注意,這些腳本是使用 PS 2.0 撰寫並測試:

    • runPKGMGT_IIS.PS1:執行 「pkgmgt.exe」 命令工具,以安裝 IIS 7.0 搭配建議的共用裝載模組,請參閱 安裝 Web 服務器角色

      • 腳本會使用 「unattended.xml」 檔案作為其輸入組態資料,它會指定要安裝的 IIS 模組。
      • 必要:Unattend.xml要求版本號碼設定為目前的 Windows 產品版本,也就是 version=「6.0.6000.16386」。 按一下滑鼠右鍵 C:\Windows\RegEdit.exe 並選擇 [詳細資料] 索引標籤即可找到此專案。PkgMgr 需要此參數,才能正確安裝所有所需的元件
    • Install_IISSharedHosting.PS1:根據共用主機指導方針執行所有設定腳本,請參閱 設定 IIS 7.0 for Shared Hosting

      • 腳本會使用 IISSettings.xml 檔案作為輸入組態資料。 其中包含動態壓縮和閒置閾值的設定
      • 伺服器的預設檔案設定是透過Default_File_Config.xml來控制。 其中包含要新增或移除之所有預設檔案的清單。 視需要建立多個專案。 設定 activity=「ADD」 以新增或移除 「REMOVE」。
    • Enable32bitModeWorkerProcess.PS1:在 64 位機器中啟用 32 位模式背景工作進程

    • AppPoolIdentAsAnonymousUser.PS1:將 應用程式集區身分識別設定為匿名使用者

    • AddRemoveDefaultDoc.PS1:根據 Default_Files_Config.XML輸入檔規格新增或移除 預設檔

    • ConfigureDynamicIdleThreshold.PS1:設定 dynamicIdleThreshold 組態屬性。

    • ConfigureDynamicCompression.PS1:設定 動態壓縮 屬性。

    • HTTPResponseCache.PS1:顯示 HTTP 回應快取

    • 即將推出:設定 ASP.NET 中信任。

  2. 檔案伺服器

    這些 PowerShell 腳本有助於部署和設定檔案伺服器。 請注意,這些腳本是使用 PS 2.0 撰寫並測試:

    • InstallFileServer.PS1:執行所有腳本來安裝和設定 FileServer 角色。

      • 檔案:FolderPermissions.xml、SharePermissions.xml、DirectoryQuotas_Settings.xml會填入範例設定。 每個都應該設定預先部署,因為這些設定會隨著每個部署而有所不同。
      • DirectoryQuotas_Settings.xml:可讓您視需要定義多個資料夾配額。
      • FolderPermissions.xml:可讓您視需要定義多個資料夾,而且每個資料夾可能具有 0、1 或多個許可權。
      • SharePermissions.xml:如果新的共用未對應至現有資料夾) ,則 (會視需要定義多個共用。 每個共用可能有 0、1 或多個許可權。
    • runPKGMGR_FileServer:執行 「pkgmgt.exe」 命令工具來安裝檔案伺服器角色。 腳本會使用 「unattended.xml」 檔案作為其輸入參數,它會指定要安裝的模組。

    • DirectoryQuota.PS1:設定目錄配額,請參閱 目錄配額

    • Folder_Shares_Permissions.PS1:根據 「SharePermissions.XML」 輸入檔中的規格來設定資料夾許可權。 請參閱 共用和 NTFS 許可權

布建和管理

  1. C# 中的 布建範例是一組 C# 範例,可執行數個常見的布建工作,請參閱 C# 中 布建範例一文中的詳細資料。

  2. 裝載服務範例 是一個廣泛的 C# 程式碼範例,可用來布建網站、使用者帳戶、SQL db 和其他專案。 請參閱 裝載服務程式代碼範例 一文中的詳細資料。

  3. 程式碼範例和腳本 提供用來建立 IIS 7.0 月臺和組態工作的範例程式碼片段。

  4. [IIS 網站布建 PowerShell 腳本] (https://www.iis.net/community/files/hosting/ProvisioningScripts 4-7-2008.zip 「IIS Sites PowerShell 腳本」) 。 以下是 6 個 PowerShell 腳本,可協助您自動布建 AppPools、Sites、應用程式、虛擬目錄和系結。 他們會使用 Microsoft.Web.Administration Managed 程式碼命名空間介面來布建這些物件。 以下是每個範例的範例:

    4.1. 若要建立任意數目的 AppPools、Sites、Applications、Virtual Directory 和 Binding,請根據組態資料檔案 使用 Sample_AppPool_Site_AppCreation。 此腳本會呼叫所有其他物件,根據ProvisioningConfig.xml XML 檔案中找到的組態資料來建立每個物件。

    範例:

    Sample_AppPool_Site_AppCreation
    

    ProvisioningConfig.xml XML 檔案的範例:

    <Script>
    <ApplicationPool>
    <Site Name="DAP1Site2" PhysicalPath="C:\Content\DAP1Site2">
    
    <Application PhysicalPath="C:\Content\DAP1Site2\App1" RelativePath="/App1">
    <VirtualDirectory PhysicalPath="C:\Content\Logs" RelativePath="/App1/VDir"/>
    </Application>
    
    <Application PhysicalPath="C:\Content\DAP1Site2\App2" RelativePath="/App2">
    </Application>
    
    <Binding Port="80" BindingInfo="www.DAP1Site2.com" Protocol="http"/>
    
    <Folder name="C:\Content\DAP1Site2" quota="50mb"> 
    <Permission>
    <User>Administrators</User>
    <Capability>F</Capability>
    </Permission>
    </Folder>
    
    </Site>
    </ApplicationPool>
    </Script>
    

    4.2. 若要建立 AppPools ,請使用 CreateIISAppPool PoolName 使用者名稱密碼。 如果您未提供使用者名稱和密碼,則會使用目前的使用者。

    範例:

    CreateIISAppPool "DemoAppPool1" "" ""
    

    4.3. 若要建立網站 ,請使用 CreateIISSite SiteName PhysicalPath PoolName 識別碼。

    範例:

    CreateIISSite "DAP1Site1" "C:\Content\DAP1Site1" "DemoAppPool1" 1702121
    

    4.4. 若要在網站上建立應用程式,請使用 CreateIISApplicationOntoSite PhysicalPath RelativePath SiteName PoolName。

    範例:

    CreateIISApplicationOntoSite "C:\Content\DAP1Site1\App1" "/App1" "DAP1Site1" "DemoAppPool1"
    

    4.5. 若要為應用程式建立虛擬目錄,請使用 CreateIISVDirOntoApplication ApplicationPhysicalPath PhysicalPath SiteName RelativePath。

    範例:

    CreateIISVDirOntoApplication "C:\Content\Logs" "/App1/VDir" "DAP1Site1" "/App1"
    

    4.6. 若要建立月臺的系結 ,請使用 CreateIISBindingOntoSite SiteName 埠系結Info 通訊協定。

    範例:

    CreateIISBindingOntoSite "DAP1Site1" 80 "www.DAP1Site2.com" "http"